python六个标准的数据类型
python3中有六个标准的数据类型:
– Number(数字)
哭的图片
– String(字符串)
– List(列表)
– Sets (集合)
– Dictionary(字典)
– tuple(元组)
3.1数字类型:
3.1.1.数字类型:分为整形(int)、浮点数(float)和复数(complex)
整形(int):通常被称之为是整形或者整数,是正整数、负整数和0,不带⼩数点:如10、-56
浮点数(float):由整数部分与⼩数部分组成。如:2.65、3.141526
复数(复数):复数由实数部分和虚数部分构成,可以⽤a+bj,或者complex(a,b)表⽰,复数的实部a和虚部b都是浮点型(例如:-4的平⽅根)
3.1.2.类型转换
之前课程已经串讲过,当时⽤输⼊函数input()时,默认会将键⼊的数字1变成字符串‘1’,⽐如:
>>>i = input('my name is :')
>>>print(type(i))
>><class 'str'>
要将此时字符串“1”转换为整数型,可以使⽤int(1)的⽅式。同理,当要将浮点型转换为整形时,可以使⽤int()函数完成
>>>a = "89"
>>>print(type(a))
<class 'str'>
上述例⼦,测试a所对应的是字符串,如果要将其转换为整数型,可以使⽤int(i)的⽅式。同理,当然要将浮点数转换为整型时,也可以⽤int()函数完成
[](javascript:void(0)
>>>a = '46'
>>>print(type(a))
<class 'str'>
伊维亚共和国>>>b = int(a)
>>>print(type(b))
<class 'int'>
[](javascript:void(0)
浮点型转换,如果我们需要将整数
>>>a = '46'
>>>print(type(a))
<class 'str'>
>>>b = float(a)
>>>print(b,type(b))
46.0<class 'float'>
[](javascript:void(0)
复数类型转换
>>>a = 3
>>>b = 4
>>>c = complex(a,b)
>>>print(3)
3+4j
复数不能转换为整数、浮点型等
3.2字符串
说到字符串,我们⾃然会想到中⽂字符串。但是中⽂字符串涉及到⼀些字符集、编码、解码的问题,现在引⼊这些概念会吧开始的学习复杂化
所以放在后续章节,⽬前阶段只讨论英⽂字符串
3.2.1 字符串的定义
字符串可以⽤,单引号,双引号或者三引号括起来。其中三引号⾥⾯是可以跨⾏的字符串
[](javascript:void(0)
#单引号
>>>auto = 'hello world'
#双引号
>>>auto = "my name is Augus"
#三引号
>>>auto = '''python is cool'''
#三引号跨⾏
>>>auto = '''python is
cool!'''
3.2.2 字符串的拼接
3.2.2.1.拼接
[](javascript:void(0)
#加号连接
>>>a,b = 'hello','world'
>>>a+b
>>>'hello world'
#逗号连接 **使⽤逗号,只能⽤于print打印输出>>>a,b = 'hello','world'
>>>print(a,b)
#上述代码如果进⾏赋值操作会⽣成元组>>>a,b
("hello","world")
#直接连接
>>>print("hello" "world")
helloworld
[](javascript:void(0)
3.2.2.2.字符串的乘法(重复n次)
>>>"sid" * 3
'sidsidsid'
3.2.2.3获取字符串的长度
len('my name is: Augus')
3.2.2.
4.字符串的⽐较
[](javascript:void(0)
>>>str1 = 'abc'
>>>str2 = 'lmn'
>>>str3 = 'xyz'
>>>str1 == 'abc'
Ture
>>>str1 < str2
True
>>>str2 != str3
True
>>>str1 < str3 and str2 == 'xyz'
Fal
[](javascript:void(0)
当我们⽐较字符串⼤⼩的时候,python是按照字符的字典顺序来⽐较的
3.2.2.
4.字符串的squence操作
我们看到字符串‘ZXCVF’,每个字符串可以⽤正数下标表⽰,也可以使⽤负数下标表⽰它们在字符串中的位置
**注意:字符串截取时,数字位是从0开始,⽽不是从1开始。所以⼀个长度为n的字符串的最后⼀个字符的下标是n-1
我们可以截取(slice)字符串的⼀部分内容。截取的操作符是[ ],这个操作符如果只有⼀个下标参数,那么我们将得到⼀个字符如果参数有两个,中间以冒号(:)隔开,将返回⼀段字字符串。截取操作slice有时也称为切⽚操作.
现代诗派
例如:str[start:end],我们将得到从下标start开始,到下标end结束,但不包括下标end对应字符的那部分字符串
[](javascript:void(0)
>>>str = 'zxcvbnm'
>>>str[0]
'z'
>>>str[-7]
巢穴'z'
#注意:这种情况,左含右不含
>>>str[2:4]
绿色壁纸可爱
'cv'
>>>str[-5:-3]
'cv'
>>>str[3:]
'vbnm'
>>>str[-4:]
'vbnm'
>>>str[:3]
‘zxc
>>>str[:-4]
'zxc'
虾籽饺面
[](javascript:void(0)
胡桃夹子与四个王国
3.2.3.字符串格式化
3.2.3.1.旧式”字符串解析(%操作符)
>>>'hello,%s is my name, I like %s'%('Augus','footall')
'hello,Augus is my name, I like footall'
3.2.3.2.str.format
使⽤位置参数
**要点:从以下例⼦可以看出位置参数不受顺序约束,且可以为{},只要format⾥⾯有相对应的参数值即可,参数索引从0开始,传⼊位置参数可⽤列表即可
[](javascript:void(0)
>>>"my name is {},i am {} years old".format("wangwu",18)
"my name is wangwu,i am 18 years old"
>>>"my name is {0},i am {1} years old".format("wangwu",18)
"my name is wangwu,i am 18 years old"
>>>"my name is {1},i am {0} years old".format(18,"wangwu")
"my name is wangwu,i am 18 years old"
[](javascript:void(0)
~使⽤关键字参数
要点:关键字参数值要对的上,可⽤字典当做关键字参数传⼊时,字典前加即可,如下例⼦3
[](javascript:void(0)
>>>"my name is {name},i am {age} years old".format(name ="wangwu",age =18)
'my name is wangwu,i am 18 years old'
>>>info ={"name":"wangwu","age":18}
格陵兰鲨>>>"my name is {ele[name]},i am {ele[age]} years old".format(ele=info)
'my name is wangwu,i am 18 years old'
#例3:将字典当做关键字参数传⼊
>>>info ={"name":"wangwu","age":18}
>>>"my name is {name},i am {age} years old".format(**info)
'my name is wangwu,i am 18 years old'
[](javascript:void(0)
3.2.3.3.字符串插值/f-string
在python3.6中添加⼀个新的字符串格式化⽅法,被称为字⾯量格式化字符串或者"f-string"。
[](javascript:void(0)