- python3中的变量不需要命名,直接赋值即可,这里的数据类型指的是变量所指的内存中的对象。
用等号 = 给变量赋值
#!/usr/bin/python3
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串
print (counter)
print (miles)
print (name)
100
1000.0
runoob
- 多个变量赋值
a = b = c = 1
x, y, z = 1, 2, "runoob"
print(a);print(b);print(c)
print(x);print(y);print(z)
1
1
1
1
2
runoob
- 标准数据类型
不可变数据类型:Number(数字)、String(字符串)、Tuple(元祖)
可变数据类型:List(列表)、Dictionary(字典)、Set(集合)
1、Number
int整数型,float浮点型,bool布尔型,complex复数型
可以用type()函数来查询变量所指对象类型
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
结果
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
当给变量赋值时,Number对象就会被创建,数值运算+ - * 出发包括两个运算符:/返回一个浮点数,//返回一个整数。
2、String
字符串用单引号 ' 或双引号 " 括起来
#!/usr/bin/python3
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次
print (str + "TEST") # 连接字符串
----------------结果----------------------------------
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
使用反斜杠 \ 来转义(换行),如果不想让反斜杠发生,可以在前面添加一个r,表示原字符串
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
3、List
List是使用最频繁的数据类型
加号 + 是列表连接运算符,星号 * 是重复操作。
#!/usr/bin/python3
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
-----------------结果-----------------------------------
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
与字符串不一样的是,List中的元素是可以修改的
>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = [] # 将对应的元素值设置为 []
>>> a
[9, 2, 6]
4、Tuple
元祖与列表类似,不同之处在于元祖的元素不能修改。元祖写在小括号 () 里,元素之间用逗号隔开。
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
------------------结果-----------------------------------
('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
包含0个或1个元素的元祖比较特殊,需要一些额外的语法规则
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
5、Set(集合)
可以使用 {} 或者 set() 函数创建。如果是空集必须用 set() 。基本功能是进行成员关系测试和删除重复元素。
#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Rose' in student :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
-----------------------结果----------------------------
{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
Rose 在集合中
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}