#标准数据类型——number(数字)
a, b, c = 1, 2.2, "hello"
print(a, end = ", ")
print(b, end = ", ")
print(c)
print(isinstance(a, int))
print(isinstance(c, str))
print(type(b) == int)
print("type()不会认为子类是一种父类类型。isinstance()会认为子类是一种父类类型。")
del c
#print(c)
print("del语句删除单个或多个对象")
print(a + b)
d = complex(3 + 4j)
print(type(d))
#标准数据类型——string字符串
name = "hejing"
print(name[0])
print(name[0:1])
print(name[0:])
print(name * 3)
print(name + ", how are you?")
#在字符串前面添加一个 r,表示原始字符串
print(r"he\tjing")
print("he\tjing")
print(name[-1] + "\t" + name[-6])
#与 C 字符串不同的是,Python 字符串不能被改变
name[0] = 'x'
print(name)#TypeError: 'str' object does not support item assignment
#标准数据类型——list列表
#列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
cities = ["bejing", "shanghai", "shenzhen", 1, 3.4, ["zhangsan", "lisi"]]
print(cities)
print(cities[0])
print(cities[0:1])
print(cities[-1])
print(cities * 2)
#与Python字符串不一样的是,列表中的元素是可以改变的
cities[0] = "chengdu"
print(cities)
provinses = ["sichuan", "henan", "guangdong"]
print(provinses + cities)
print(cities)
print("cities.pop()")
cities.pop()
print(cities + [1, 2, 3])
cities.append("haode")
print(cities)
#标准数据类型——tuple元组
'''tuple)与列表类似,不同之处在于元组的元素不能修改。
元组写在小括号(())里,元素之间用逗号隔开。'''
#构造包含 0 个或 1 个元素的元组比较特殊
tup1 = ()# 空元组
tup2 = (20,)# 一个元素,需要在元素后添加逗号
tup3 = (1,2,3,4,"zhangsan",3.1415)
print(tup3[0])
print(tup3[-1])
print(tup3[0:1])
print(tup3 * 2)
print(tup3 + (9,8,7))
#TypeError: 'tuple' object does not support item assignment
tup3[0] = "修改tuple元素是非法的"
print(tup3)
#标准数据类型——set集合
"""set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。"""
set1 = {"zhangsan", "lisi", "wangwu", "xilige", "lisi"}
print(set1)
if "lisi" in set1:
print(True)
else:
print(False)
a = set("asjdjkassnkf")
b = set("dfjdsrksd")
print(a)
print(b)
print(a - b) # a和b的差集
print(a | b)# a和b的并集
print(a & b)# a和b的交集
print(a ^ b)# a和b中不同时存在的元素
#标准数据类型——dictionary字典
'''
列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
'''
dict1 = {}
dict1["one"] = 1
dict1["two"] = "two"
print(dict1)
print(dict1["one"])
dict2 = {"name":"zhangsan", "sex":"man", "age":25}
print(dict2)
print(dict2.keys()) # 输出所有键
print(dict2.values())# 输出所有值
for x in (1,2,3,4):
print(x, end = ":")
print(x **2)
dict2.clear()
print(dict2)
#控制台命令
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
#标准数据类型——数据类型转化
s = "abcdefgadbcdefghi"
print(set(s))
print(list(s))
print(tuple(s))
print(frozenset(s))
var = 16
c = chr(var)
print(c)
print(ord(c))
print(hex(var))
print(oct(var))
print(str(var) + str(12))
print(repr(var - 6))
'''eval() 函数用来执行一个字符串表达式,并返回表达式的值。
eval(expression[, globals[, locals]])
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
'''
x = 7
print(eval("3 * x"))
print(eval("2 + 2"))
print(eval("pow(2, 2)"))