本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) 、计算机二级python学习教程(2)
3.1 数字类型
数字类型:整数类型、浮点数类型、复数类型。
整数类型:十进制、二进制、八进制和十六进制。
1
2
3
4
5
|
#不同进制的整数之间可以直接运算
>>> 0x3f2 / 1010
1.0
>>> ( 0x3f2 + 1010 ) / 0o1762
2.0
|
浮点数类型:必须带有小数部分,小数部分可以是0,例如1010.0。表示方法有一般表示(只有十进制)和科学计数法。数值范围和小数精度受不同计算机系统的限制,一般认为没有范围限制。有不确定尾数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#科学计数法 格式:<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
2
3
4
5
6
7
8
|
#获得实数部分
>>> ( 1.23e4 + 5.64e4j ).real
12300.0
#获得虚数部分
>>> ( 1.23e4 + 5.64e4j ).imag
56400.0
>>>
|
3.2 数字类型的运算
9个基本的数值运算操作符:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
>>> 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
|
整数和浮点数运算结果为浮点数,整数/整数结果为浮点数,整数或浮点数与复数运算结果为复数。
增强赋值操作符:+=、-=、*=、/=、//=、%=、**=
1
2
3
4
|
>>> x = 3
>>> x * * = 3 #等价于x = x**3
>>> print (x)
27
|
数值运算函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#绝对值
>>> abs ( - 666 )
666
#返回二元组(x//y,x%y),即(整数商,除法余数)
>>> divmod ( 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 字符串类型及格式化
单行字符串可以由一对单引号(')或双引号(")作为边界来表示,单引号和双引号作用相同。
多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
>>> print ( '这是"单行字符串"' )
这是 "单行字符串"
>>> print ( "这是'单行字符串'" )
这是 '单行字符串'
>>> print ( """这是'多行字符串'的第一行
这是'多行字符串'的第二行
""" )
这是 '多行字符串' 的第一行
这是 '多行字符串' 的第二行
>>> print ( '''这是"多行字符串"的第一行
这是"多行字符串"的第二行
''' )
这是 "多行字符串" 的第一行
这是 "多行字符串" 的第二行
|
语言转义符: \ 。例如:\n表示换行、\\表示反斜杠、\'表示单引号、\"表示双引号、\t表示制表符(tab)等。
1
2
|
>>> print ( "既需要'单引号'又需要\"双引号\"" )
既需要 '单引号' 又需要 "双引号"
|
字符串的索引:
1
2
3
4
5
6
|
>>> "青青子衿,悠悠我心。" [ - 5 ]
'悠'
>>> s = "青青子衿,悠悠我心。"
>>> s[ 5 ]
'悠'
|
字符串的切片:
1
2
3
4
5
6
7
8
9
10
11
|
>>> "青青子衿,悠悠我心。" [ 8 : 4 ]
''
>>> "青青子衿,悠悠我心。" [: 4 ]
'青青子衿'
>>> "青青子衿,悠悠我心。" [ 5 :]
'悠悠我心。'
>>> print ( "青青子衿,悠悠我心。" [ 5 :])
悠悠我心。
|
format()方法使用:"包含{ }的字符串模板".format(逗号分隔的参数1,2,3...) 参数从0开始编号,{ }代表槽
1
2
3
4
|
>>> "{}曰:学而时习之,不亦{}。" . format ( "孔子" , "说乎" )
'孔子曰:学而时习之,不亦说乎。
>>> "{1}曰:学而时习之,不亦{0}。" . format ( "说乎" , "孔子" )
'孔子曰:学而时习之,不亦说乎。'
|
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。{<参数序号>: <格式控制标记>}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
>>>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 字符串类型的操作
字符串操作符:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#连接两个字符串x与y
>>> "php" + "是世界上最好的语言"
'php是世界上最好的语言'
#复制n次字符串x
>>> "lws" * 3
'lwslwslws'
#如果x是s的子串,返回true,否则返回false
>>> name = "lws"
>>> l in name
>>> "l" in name
true
|
字符串处理函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#返回字符串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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#str.split(sep) 能够根据sep分隔字符串str,分割后的内容以列表类型返回。
>>> "python is an excellent language." .split()
[ 'python' , 'is' , 'an' , 'excellent' , 'language.' ]
>>> "python is an excellent language." .split( 'a' )
[ 'python is ' , 'n excellent l' , 'ngu' , 'ge.' ]
#str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串。
>>> "python is an excellent language." .count( 'a' )
3
#str.replace(old, new)方法将字符串str中出现的old字符串替换为new字符串,old和new的长度可以不同。
>>> "python is an excellent language." .replace( 'a' , '#' )
'python is #n excellent l#ngu#ge.'
>>> "python is an excellent language." .replace( 'python' , 'c' )
'c is an excellent language.'
str .center(width, fillchar)方法返回长度为width的字符串,其中, str 处于新字符串中心位置,两侧新增字符采用fillchar填充,当width小于字符串长度时,返回 str 。其中,fillchar是单个字符。
>>> "python" .center( 20 , "=" )
'=======python======='
>>> "python" .center( 2 , "=" )
'python'
|
3.5 类型判断和类型间转换
python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。
1
2
3
4
5
6
7
|
n = eval ( input ( '请输入一个数字:' ))
if type (n) = = type ( 123 ):
print ( "输入的数字是整数。" )
elif type (n) = = type ( 11.3 ):
print ( "输入的数字是浮点数。" )
else :
print ( "无法判断输入类型。" )
|
通过内置的数字类型转换函数转换:
1
2
3
4
5
6
7
8
9
10
11
|
#浮点数或字符串转换为整数
>>> int ( 10.01 )
10
#整数或字符串转换为浮点数
>>> float ( 10 )
10.0
#整数或浮点数转换为字符串
>>> str ( 10.0 )
'10.0'
|
第三章结束
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/msllws/article/details/81321162