python6个基础数据类型
计算机二级python学习教程3 python语言基本数据类型本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) 、计算机二级python学习教程(2)
3.1 数字类型
数字类型:整数类型、浮点数类型、复数类型。
整数类型:十进制、二进制、八进制和十六进制。
|
#不同进制的整数之间可以直接运算 >>> 0x3f2 / 1010 1.0 >>> ( 0x3f2 + 1010 ) / 0o1762 2.0 |
浮点数类型:必须带有小数部分,小数部分可以是0,例如1010.0。表示方法有一般表示(只有十进制)和科学计数法。数值范围和小数精度受不同计算机系统的限制,一般认为没有范围限制。有不确定尾数。
|
#科学计数法 格式:<a>e<b> = a*10的b次方 (或e) >>> print ( 1.01e3 ) 1010.0 >>> print ( - 1.01e - 3 ) - 0.00101 #浮点数不确定尾数 >>> 0.1 + 0.2 0.30000000000000004 >>> 0.1 + 0.2 = = 0.3 false #使用round()函数四舍五入 限定保留尾数 去掉不确定尾数 >>> round ( 0.1 + 0.2 , 3 ) = = 0.3 true |
复数类型:含有虚数单位(j)的数。可以看作是二元有序实数对(a, b),表示为:a + bj,a是实数部分,简称实部,b是虚数部分,简称虚部。当b为1时,1不能省略,1j表示复数,j表示python程序中的一个变量。
|
#获得实数部分 >>> ( 1.23e4 + 5.64e4j ).real 12300.0 #获得虚数部分 >>> ( 1.23e4 + 5.64e4j ).imag 56400.0 >>> |
3.2 数字类型的运算
9个基本的数值运算操作符:
|
>>> 2 + 5 7 >>> 2 - 5 - 3 >>> 2 * 5 10 >>> 2 / 5 0.4 >>> 2 / / 5 0 >>> 2 % 5 2 >>> 5 % 2 1 >>> - 5 - 5 >>> + 5 5 >>> 2 * * 5 32 |
整数和浮点数运算结果为浮点数,整数/整数结果为浮点数,整数或浮点数与复数运算结果为复数。
增强赋值操作符:+=、-=、*=、/=、//=、%=、**=
|
>>> x = 3 >>> x * * = 3 #等价于x = x**3 >>> print (x) 27 |
数值运算函数:
|
#绝对值 >>> abs ( - 666 ) 666 #返回二元组(x//y,x%y),即(整数商,除法余数) >>> limod ( 10 , 3 ) ( 3 , 1 ) #x的y次幂,即x**y >>> pow ( 3 , 3 ) 27 #x的y次幂%z (模运算与幂运算同时进行 速度更快) >>> pow ( 55 , 1999999 , 10000 ) 4375 #四舍五入 >>> round ( 6.6 ) 7 #保留小数尾数四舍五入 >>> round ( 3.1415926 , 3 ) 3.142 #取最大值 >>> max ( 1 , 2 , 3 , 4 , 5 , 0.1 ) 5 #取最小值 >>> min ( 1 , 2 , 3 , 4 , 5 , 0.1 ) 0.1 |
3.3 字符串类型及格式化
单行字符串可以由一对单引号(')或双引号(")作为边界来表示,单引号和双引号作用相同。
多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。
|
>>> print ( '这是"单行字符串"' ) 这是 "单行字符串" >>> print ( "这是'单行字符串'" ) 这是 '单行字符串' >>> print ( """这是'多行字符串'的第一行 这是'多行字符串'的第二行 """ ) 这是 '多行字符串' 的第一行 这是 '多行字符串' 的第二行 >>> print ( '''这是"多行字符串"的第一行 这是"多行字符串"的第二行 ''' ) 这是 "多行字符串" 的第一行 这是 "多行字符串" 的第二行 |
语言转义符: \ 。例如:\n表示换行、\\表示反斜杠、\'表示单引号、\"表示双引号、\t表示制表符(tab)等。
|
>>> print ( "既需要'单引号'又需要\"双引号\"" ) 既需要 '单引号' 又需要 "双引号" |
字符串的索引:
|
>>> "青青子衿,悠悠我心。" [ - 5 ] '悠' >>> s = "青青子衿,悠悠我心。" >>> s[ 5 ] '悠' |
字符串的切片:
|
>>> "青青子衿,悠悠我心。" [ 8 : 4 ] '' >>> "青青子衿,悠悠我心。" [: 4 ] '青青子衿' >>> "青青子衿,悠悠我心。" [ 5 :] '悠悠我心。' >>> print ( "青青子衿,悠悠我心。" [ 5 :]) 悠悠我心。 |
format()方法使用:"包含{ }的字符串模板".format(逗号分隔的参数1,2,3...) 参数从0开始编号,{ }代表槽
|
>>> "{}曰:学而时习之,不亦{}。" . format ( "孔子" , "说乎" ) '孔子曰:学而时习之,不亦说乎。 >>> "{1}曰:学而时习之,不亦{0}。" . format ( "说乎" , "孔子" ) '孔子曰:学而时习之,不亦说乎。' |
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。{<参数序号>: <格式控制标记>}
|
>>>s = "等级考试" >>> "{:25}" . format (s) #左对齐,默认 '等级考试 ' >>> "{:^25}" . format (s) #居中对齐 ' 等级考试 ' >>> "{:>25}" . format (s) #右对齐 ' 等级考试' >>> "{:*^25}" . format (s) #居中对齐且填充*号 '**********等级考试***********' >>> "{:+^25}" . format (s) #居中对齐且填充+号 '++++++++++等级考试+++++++++++' >>> "{:十^25}" . format (s) #居中对齐且填充汉字“十” '十十十十十十十十十十等级考试十十十十十十十十十十十' >>> "{:^1}" . format (s) #z指定宽度为1,不足变量s的宽度 '等级考试' >>> "{:.2f}" . format ( 12345.67890 ) '12345.68' >>> "{:>25.3f}" . format ( 12345.67890 ) ' 12345.679' >>> "{:.5}" . format ( "全国计算机等级考试" ) '全国计算机' >>> "{:b},{:c},{:d},{:o},{:x},{:x}" . format ( 425 ) '110101001,Ʃ,425,651,1a9,1a9' >>> "{:e},{:e},{:f},{:%}" . format ( 3.14 ) '3.140000e+00,3.140000e+00,3.140000,314.000000%' >>> "{:.2e},{:.2e},{:.2f},{:.2%}" . format ( 3.14 ) # 对比输出 '3.14e+00,3.14e+00,3.14,314.00%' #常用的format()方法格式控制信息 >>> "{:.2f}" . format ( 3.1415926 ) # 输出小数点后两位 '3.14' >>> "{:x}" . format ( 1010 ) # 输出整数的十六机制形式 '3f2' >>> "{:.5}" . format ( "这是一个很长的字符串" ) # 输出字符串的前5位 '这是一个很' >>> "{:-^10}" . format ( "python" ) # 居中并填充 '--python--' |
3.4 字符串类型的操作
字符串操作符:
|
#连接两个字符串x与y >>> "php" + "是世界上最好的语言" 'php是世界上最好的语言' #复制n次字符串x >>> "lws" * 3 'lwslwslws' #如果x是s的子串,返回true,否则返回false >>> name = "lws" >>> l in name >>> "l" in name true |
字符串处理函数:
|
#返回字符串x的长度 >>> len ( "lws" ) 3 #返回任意类型x所对应的字符串形式 >>> str ( 0x3f ) '63' #返回unicode编码x对应的单字符 >>> chr ( 10000 ) '✐' #返回单字符x表示的unicode编码 >>> ord ( "和" ) 21644 #返回整数x对应十六进制数的小写形式字符串 >>> hex ( 1010 ) '0x3f2' #返回整数x对应八进制数的小写形式字符串 >>> oct ( - 255 ) '-0o377' |
字符串处理方法:采用<a>.func(x)形式调用。方法仅作用于前导对象<a>