python 数据类型
python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在python中,变量就是变量,它没有类型,我们所说的“类型”是变量所指的内存中对象的类型。
多个变量赋值
python允许多个变量赋值,例如:
a = b = c = 1
以上实例,创建一个整型对象,值为1 ,从后向前赋值。
也可以为多个对象指定多个变量
a, b, c = 1, 2, 'runoob'
标准数据类型
python3中有六个标准的数据类型:
Number(数字), String(字符串), List(列表), Tuple(元组), Set(集合), Dictionary (字典)。其中不可变的数据有:数字,字符串,元组。可变数据有:列表,字典,集合。
Number(数字)
python3中支持int, float, bool, complex。可以通过isinstance来判断对象类型
a, b, c , d = 20 , 5.5, True, 2+3j
print(isinstance(a, int))
isinstance 和 type的区别在于:isinstance会认为子类是一种父类类型,而type则不会。
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> isinstance(A(), A)
True
>>> type(A()) == A
True
>>> isinstance(B(), A)
True
>>> type(B()) == A
False
/返回一个浮点数,//返回一个整数, **代表乘方
List (列表)
List(列表)是python中使用最频繁的数据类型。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表。与字符串不一样的是,列表中的元素是可以改变的。列表的截取可以接收第三个参数,参数作用是截取的步长。如果第三个参数为负数表示逆向读取,一下实例用于翻转字符串
def reverseWords(input):
inputWords = input.split(" ")
output = inputWords[-1::-1]
output = ' '.join(output)
return output
if __name__ == "__main__":
input = "I like you"
rw = reverseWords(input)
print(rw)
输出为
you like I
Tuple (元组)
元组与列表类似,不同之处在于元组的元素不能修改。元组写在小括号里,元素之间用逗号隔开。元组中的元素类型也可以不相同。虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
Set(集合)
集合(set)的基本功能是进行成员关系测试和删除元素。可以使用大括号{}或者set()函数创建集合。创建一个空集合必须用set(),而不是用{},因为{}是用来创建字典的。
#! /usr/bin/python3
sites = {'Google','abc','bcd','aab','aab'}
print(sites) #输出集合,重复的元素自动去掉
#成员测试
if 'Google' in sites:
print("Google 在集合中")
else:
print('Google 不在集合中')
# set可以进行集合运算
a = set('abc')
b = set('bcd')
print(a - b) # 差集
print(a | b) # 并集
print(a & b) # 交集
print(a ^ b) # a 和 b 中不同时存在的元素
输出
{'abc', 'aab', 'Google', 'bcd'}
Google 在集合中
{'a'}
{'b', 'a', 'c', 'd'}
{'c', 'b'}
{'a', 'd'}
Dictionary (字典)
列表是有序对象的集合,字典是无序对象的集合,两者区别在于:字典当中的元素是通过健来存取的,而不是通过偏移量存取。字典是一种映射类型,字典用{ }标识,它是一个无序的键:值的集合,key必须是不可变类型,在同一个字典里,key必须是惟一的
#! /usr/bin/python3
dict = {}
dict['one'] = 'hello'
dict[2] = 'world'
AnotherDict = {'one': 'hello', 2:'world'}
dict2 = {x:x**2 for x in range(3)}
print(dict['one'])
print(dict[2])
print(AnotherDict.keys())
print(AnotherDict.values())
print(dict2)
输出
hello
world
dict_keys(['one', 2])
dict_values(['hello', 'world'])
{0: 0, 1: 1, 2: 4}
Python数据类型转换
数据类型的转换,只需要将数据类型作为函数名即可。