python之02数据类型学习
参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html
python的数据类型有:Number、Boolean、String 、List、Tuple、Dictionary、Set、bytes.
一、Number(数字)
int、float
a=10 b=a b=666 print(a)#10 print(b)#666

var1=3.14 var2=5 var3=int(var1) var4=float(var2) print(var3,var4)
abs(x) 返回数字的绝对值,如abs(-10) 返回 10 # ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5 # cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 # exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 # fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0 # floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4 # log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 # log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0 # max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。 # min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。 # modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 # pow(x, y) x**y 运算后的值。 # round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 # sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j PY内置数学函数
二、布尔:
只有两种类型True和False。补充:python区分大小写。
三、字符串:
# String的内置方法 # st='hello kitty {name} is {age}' # # print(st.count('l')) # 统计元素个数 # print(st.capitalize()) # 首字母大写 # print(st.center(50,'#')) # 居中 # print(st.endswith('tty3')) # 判断是否以某个内容结尾 # print(st.startswith('he')) # 判断是否以某个内容开头 # print(st.expandtabs(tabsize=20)) # print(st.find('t')) # 查找到第一个元素,并将索引值返回 # print(st.format(name='alex',age=37)) # 格式化输出的另一种方式 待定:?:{} # print(st.format_map({'name':'alex','age':22})) # print(st.index('t')) # print('asd'.isalnum()) # print('12632178'.isdecimal()) # print('1269999.uuuu'.isnumeric()) # print('abc'.isidentifier()) # print('Abc'.islower()) # print('ABC'.isupper()) # print(' e'.isspace()) # print('My title'.istitle()) # print('My tLtle'.lower()) # print('My tLtle'.upper()) # print('My tLtle'.swapcase()) # print('My tLtle'.ljust(50,'*')) # print('My tLtle'.rjust(50,'*')) # print('\tMy tLtle\n'.strip()) # print('\tMy tLtle\n'.lstrip()) # print('\tMy tLtle\n'.rstrip()) # print('ok') # print('My title title'.replace('itle','lesson',1)) # print('My title title'.rfind('t')) # print('My title title'.split('i',1)) # print('My title title'.title()) #摘一些重要的字符串方法 #1 print(st.count('l')) # print(st.center(50,'#')) # 居中 # print(st.startswith('he')) # 判断是否以某个内容开头 # print(st.find('t')) # print(st.format(name='alex',age=37)) # 格式化输出的另一种方式 待定:?:{} # print('My tLtle'.lower()) # print('My tLtle'.upper()) # print('\tMy tLtle\n'.strip()) # print('My title title'.replace('itle','lesson',1)) # print('My title title'.split('i',1))
四、列表:
# 本节所有内容 增 删 改 查 排序 身份判断 # 查 fruits = ["apple", 'pear', 'peach', 'melon', 'orange', 'banana'] # 切片操作 # print(fruits[1:]) #从索引1处截到末尾 # print(fruits[1:4]) #从索引1截到索引4的位置(不包括索引4) # print(fruits[1::2])#从索引1的位置到末尾,向右每两个截取一个 # print(fruits[1:-1])#截取从索引1的位置到倒数第一个(不包括倒数第一个) # print(fruits[-2:-5:-1])#从倒数第二个到倒数第五个(不包括倒数第五个),向左逐个截取。 # print(fruits.count("apple"))#获取fruits里apple的个数 # print(fruits.__len__())#获取fruits的长度 # ret = fruits.count("apple") # apple出现的次数 # print(ret) # print(fruits.__len__()) # print(fruits.index("melon")) # ret = "melon" in fruits # print(ret) # 改 # fruits[0] = "" # print(fruits) # fruits[1:3] = [1, 2] # print(fruits) # 增 # fruits.append('strawberry') # print(fruits) # fruits.insert(1, "strawberry") # print(fruits) # new_fruits = ['strawberry'] # fruits.extend(new_fruits) # print(fruits) # print(new_fruits) # 删 pop remove del # ret = fruits.pop(1) # print(ret) # print(fruits) # fruits.remove("pear") # print(fruits) # del fruits[1] # print(fruits) # 其他操作 :排序 和倒转 # print(fruits) # fruits.reverse() # print(fruits) # print(fruits) # fruits.sort() # print(fruits) # fruits.sort(reverse=True) # print(fruits) # 身份判断 # print(type(fruits) is list) t = [1, 2, 3] f = tuple(t) print(t) print(f)
列表的遍历3种方法,
(1)直接遍历内容
(2)通过下标遍历
(3)通过enumerate方法 遍历下标和内容。
address = [ {(100, '上海市'): [{(1001, '上海市'): [(100101, '崇明区'), (100102, '松江区'), (100103, '徐汇区'), (100104, '静安区')]}]}, {(101, '河南省'): [{(1011, '周口市'): [(101101, '太康县'), (101102, '淮阳县'), (101103, '鹿邑县')]}, {(1012, '郑州市'): [(101201, '中原区'), (101202, '上街区'), (101203, '新郑市')]}]}, {(102, '江苏省'): [{(1021, '南京市'): [(102101, '玄武区'), (102102, '六合区'), (102103, '雨花台区')]}, {(1022, '无锡市'): [(102201, '宜兴市'), (102202, '锡山区'), (102203, '惠山区')]}, {(1023, '徐州市'): [(102301, '新沂市'), (102302, '睢宁县'), (102303, '铜山区')]}]} ] for i in address: print(i) # list 里的内容 for i in range(len(address)): print(i) # 下标 print(address[i]) #list里的内容 for i,v in enumerate(address): print(i) # 下标 print(v) # list里的内容
五、字典
字典的特点是:无序、键唯一,并且字典的键类型是不可变类型(整型、字符串、元祖)
创建
1 # 创建 2 dic = {"name": "cydong", "age": 18, "sex": "female", "avocation": {"sports": "basketball,football"}} 3 print(type(dic)) 4 print(dic) 5 dic = dict([['name', 'carol'], ["age", 18]]) 6 print(type(dic)) 7 print(dic) 8 dic = dict((['name', 'carol'], ["age", 18])) 9 print(type(dic)) 10 print(dic) 11 12 ret = dic.setdefault("name", "cydong") # setdefault方法是设置字典的方法,当字典中存在key值时,返回已经存在的value值不覆盖。当字典中不存在key值时,增加key和value。 13 print(ret) 14 print(dic)
查询
通过键值查询
1 # 查 2 print(list(dic.keys())) 3 print(list(dic.values())) 4 print(list(dic.items()))
更新
1 # 更新 2 dic["age"] = 28 3 print(dic) 4 5 dic1 = {"name": "cydong", "age": 18} 6 dic2 = {"name": "carol", "sex": "male"} 7 dic1.update(dic2) 8 print(dic1) 9 print(dic2)
删除
1 dic2 = {"name": "carol", "age": 27, "sex": "male"} 2 # # dic2.clear() 3 # print(dic2) 4 # # del dic2["name"] 5 # print(dic2.pop("age")) # 返回改键对应的值 6 # print(dic2) 7 8 # ret = dic2.popitem() # 随机删除某组键值对,并以元祖方式返回值 9 # print(ret, dic2) 10 11 del dic2 # 删除整个字典
其他操作
1 #5 其他操作以及涉及到的方法 2 3 4 # dic6=dict.fromkeys(['host1','host2','host3'],'test') 5 # print(dic6)#{'host3': 'test', 'host1': 'test', 'host2': 'test'} 6 # 7 # dic6['host2']='abc' 8 # print(dic6) 9 10 # dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2']) 11 # print(dic6)#{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']} 12 # 13 # dic6['host2'][1]='test3' 14 # print(dic6)#{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']}
dic5 = {"name": "carol", "age": 27, "sex": "male"}
for i in dic5:
print(i)
# name
# age
# sex
for i, v in dic5.items():
print(i, v)
# name carol
# age 27
# sex male
for item in dic5.items():
print(item)
# ('name', 'carol')
# ('age', 27)
# ('sex', 'male')
dic5 = {"name": "carol", "age": 27, "sex": "male"}
print(dic5)
print(sorted(dic5)) # 返回一个有序的包含字典所有key的列表
#['age', 'name', 'sex']
六、元祖
元祖是用一对小括号括起来的数据。其中“元祖是不能修改的”是分情况的:
(1,2,3)这个是不能修改的,而
(['iphone6s', 5800], ['mac book', 9000], ['coffee', 32], ['python book', 80], ['bicycle', 1500]) 可以针对里面的列表修改。
总之,引用别人的话“老子是不能修改的,孙子是可能被修改的”

浙公网安备 33010602011771号