因为数字主要是用于计算,所以针对于数字可以使用的方法除了那些运算之外,没有什么经常会用的方法,python给咱们提供了一种方法:bit_length()就是帮助你快速的计算整数在内存中占用的二进制码的长度.
num = 10 print(num.bit_length()) # 当十进制用二进制表示时,最少使用的位数 # 运行结果: 4浮点型(float)
浮点数的介绍
float(浮点型)是Python基本数据类型中的一种,Python的浮点数类似数学中的小数和C语言中的double类型;
浮点型的运算
浮点数和整数在计算机内部存储的方式是不同的,整数运算永远是精确的,然而浮点数的运算则可能会有四舍五入的误差。比如观察以下运算,在数学中很容易得出结果应该是0.8965,而使用程序运算得出的结果却是:0.8965000000000001;
a = 1.25 b = 0.3535 print(a-b) #输出:0.8965000000000001整型和浮点型运算的结果也是浮点型;
a = 1 b = 0.25 print(a + b,type(a+b)) #输出:1.25 <class \'float\'> print(a - b,type(a-b)) #输出:0.75 <class \'float\'> print(a * b,type(a*b)) #输出:0.25 <class \'float\'> print(a / b,type(a/b)) #输出:4.0 <class \'float\'>float() 函数可以将整数和字符串转换成浮点数。
#整数转为浮点数 a = 1 print(\'a的类型为:\',type(a)) #输出:a的类型为: <class \'int\'> print(float(a)) #输出:1.0 print(\'转换后a的类型为:\',type(float(a))) #输出:转换后a的类型为: <class \'float\'> #字符串转为浮点数 b = \'123\' print(\'b的类型为:\',type(b)) #输出:a的类型为: b的类型为: <class \'str\'> print(float(b)) #输出:123.0 print(\'转换后b的类型为:\',type(float(b))) #输出:转换后b的类型为: <class \'float\'>float() 函数将 符合 浮点型 的规范的字符串 转换成 float 型。
num1 = "123.12"; num2 = float(num1); print("num2: %f" % num2); \'\'\' num2: 123.120000 \'\'\'字符串类型(str)
什么是字符串
在Python中,加了引号(引号可以是单引号或者是双引号)的字符都被认为是字符串!简单少量的储存数据,并进行相应的操作。
name = "Andreas Zhou" #双引号 age = "23" #只要加引号就是字符串 age2 = 23 #int msg = \'\'\'My name is Andreas, I am 22 years old!\'\'\' #我擦,3个引号也可以 hometown = \'JiangXi\' #单引号也可以那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合
msg = "My name is Andreas , I\'m 23 years old!"多引号什么作用呢?作用就是多行字符串必须用多引号,可以实现多行打印出来
msg = \'\'\' 今天我想写首小诗, 歌颂我的同桌, 你看他那乌黑的短发, 好像一只炸毛鸡。 \'\'\' print(msg)
字符串拼接
数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。
>>> name \'Andreas Zhou\' >>> age \'22\' >>> >>> name + age #相加其实就是简单拼接 \'Andreas Zhou22\' >>> >>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起 \'Andreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas ZhouAndreas Zhou\'注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
>>> type(name),type(age2) (<type \'str\'>, <type \'int\'>) >>> >>> name \'Andreas Zhou\' >>> age2 23 >>> name + age2 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate \'str\' and \'int\' objects #错误提示数字 和 字符 不能拼接
字符串的常用方法
字符串的索引和切片
组成字符串的字符从左至右,依次排列,他们都是有顺序的,就好比是部队的队列,从左至右依次报号(从零开始) :0,1,2,3....
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
a = \'ABCDEFGHIJK\' print(a[0]) print(a[3]) print(a[5]) print(a[7])切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
a = \'ABCDEFGHIJK\' print(a[0:3]) # print(a[:3]) 从开头开始取0可以默认不写 print(a[2:5]) print(a[:]) #默认到最后 print(a[:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[:5:2]) #加步长print(a[-1:-5:-2]) #反向加步长
count
# count 统计某个字符出现的次数 s8 = \'dasdbqjwkbdkjanxnkdqhdkasnfjkasfnoianla\' print(s8.count(\'a\')) # 输出的结果为:6