Python数据类型
标准数据类型

Python3 中有五个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
Number(数字)
Int整数
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的type()函数可以用来查询变量所指的对象类型。
整数,int
a.
# n1 = 123
# n2 = 456
# print(n1+n2)
#
# print(n1.__add__(n2))
b. .bit_length()
# 获取可表示的二进制最短位数
# n1 = 4
# ret = n1.bit_length()
# print(ret)
String(字符串)
Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
字符串的截取的语法格式如下:
#!/usr/bin/python # -*- coding: UTF-8 -*- .capitalize 首字母变大写 # al = "alex" # print(al.capitalize())首字母变大写 # Alex .center 字符串居中,两边空格 # al = "alex" # print(al.center(20,"_")) 字符串居中,两边空格 # ________alex________ .count统计 # al = "alex is ap" # print(al.count("a")) 统计a出现了几次 # #2 # print(al.count("a",0,7)) # 1 统计0到7之间所有的a .endswith查看是否以什么结尾 # temp = "keyby" # print(temp.endswith("y")) 查看是否以“y”结尾 # False # print(temp.endswith("b",0,4)) 统计0到四是不是以“b”结尾 # True .find查找位置,如果找不到就返回-1 # al = "alexa" # print(al.find("e"))查找位置,如果找不到值就返回-1 # 2 .format() 格式化 # s = "hello {0},{1}" #{} 占位符 # print(s) # new = s.format("alex",100) # print(new) # hello {0},{1} # hello alex,100 .isalnum 查看是否是字母和数字 # n1 = "alex" # print(n1.isalnum()) 查看是否是字母和数字 # True .isalpha 查看是否是字母 # print(n1.isalpha())查看是否是字母 # True .isdigit 查看是否是小写 # print(n1.isdigit()) 查看是否是小写 # False .isspace 查看是否有空格 # print(n1.isspace()) 查看是否是空格 # False .istitle 查看是否是标题 # print(n1.istitle()) 查看是否是标题 # False .isupper 查看全部是不是大写 # print(n1.isupper()) 检验全部是不是大写 # False .join 连接,可迭代的 # al = "alex","eric" # s = "_".join(al) ;两个字符串连接起来 # print(s) # s = " alex " #al = s.lstrip() 移除左面的空格 # al = s.rstrip() 移除右边的空格 # al = s.strip() 移除左右的空格 # print(al) .partition分割 # s = "alex sb slex" # print(s.partition("sb")) 从左向右分成三部分 # ('slex ', 'sb', ' alex') # print(s.rpartition("sb")) 从右向左分成三部分 # ('alex ', 'sb', ' slex') .split 取值分割 # s = "alexalex" # rat = s.split("e") 根据e分割 # print(rat) # ['al', 'xal', 'x'] .replace 替代 # s = "alex sb alex" # ret = s.replace("al","bb") #将al 替换乘bb # print(ret) # bbex sb bbex # s = "alex" # print(s[0:2]) 切片 # al # print(s[0]) 索引 # a for循环 # s = "alex" # for itme in s: for循环 # print(itme) # a # l # e # x
List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号([])之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
#namelist = ["wang", "sun", "guok", "wuyo", "qihu", "alex", "n1", "n3", "n5", "n8", "n0", "n11", "s2", "s5", "s8", "n3", "n5"] 切片 #print namelist[2:5]拿出列表中的值 ['guok', 'wuyo', 'qihu'] len 查看列表长度 print len(namelist) 17 .index 索引的意思 #print namelist.index("wuyo")查找值在表中的位置 3 #namelist.index('n3')#索引找值在表中的位置 #print namelist[-3:] 查找表中倒数后三个的值 跳着取值 #print(namelist[0:10:3] )#跳着按顺序查找,10个数以内3个3个跳着查找 .count统计 # print namelist.count("n3") #统计,列表里有几个这样的值 2 #n = namelist.index("n5") #索引查找表中值的位置 #namelist[n]='1D3'#编辑列表中的值 #print (namelist) 查找列表有没有被改变 .insert给表格插入值 # n = namelist.index("alex")#索引查找表中值的位置 # namelist.insert(n+1,"huge") #在alex后插入huge # print namelist ['wang', 'sun', 'guok', 'wuyo', 'qihu', 'alex', 'huge', 'n1', 'n3', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n3', 'n5'] .sort() 排序 # namelist.sort()#按顺序排序 # print namelist ['alex', 'guok', 'n0', 'n1', 'n11', 'n3', 'n3', 'n5', 'n5', 'n8', 'qihu', 's2', 's5', 's8', 'sun', 'wang', 'wuyo'] .reverse() 反转 #namelist.reverse() #反转,把列表的值从后向前列出来 #print namelist ['n5', 'n3', 's8', 's5', 's2', 'n11', 'n0', 'n8', 'n5', 'n3', 'n1', 'alex', 'qihu', 'wuyo', 'guok', 'sun', 'wang'] .extend("值")扩展, 把两个表和起来 # namelist.extend("list") 扩展 # print namelist .append("值")追加 # namelist.append("xiaohu") 追加 # print namelist .pop(位置)删除列表里的值 #namelist.pop()#默认删除最后一个值 #print namelist .remove("值")删除 #namelist.remove("sun")删除列表中“sun”这个值 #print namelist ['wang', 'guok', 'wuyo', 'qihu', 'alex', 'n1', 'n3', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n3', 'n5'] del 删除整个列表 for 循环 for i in range(): #namelist = ["wang", "sun", "guok", "wuyo", "qihu", "alex", "n1", "n3", "n5", "n8", "n0", "n11", "s2", "s5", "s8", "n3", "n5"] #s = namelist.count("n3") #for i in range(s): # namelist.remove("n3") #print namelist ['wang', ['sun', 'guok', 'wuyo', 'qihu', 'alex', 'n1', 'n5', 'n8', 'n0', 'n11', 's2', 's5', 's8', 'n5']
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(())里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
元组: 1. age = (1,2,3,4,5) # print(age(0:2)) # >>> (1,2) 可以切片 # for i in age: # print(i) # >>> (1,2,3,4,5) # 不能 del 删除 2.count() 统计 # age = (1,2,3,1,4,5,1,6) # ret = age.count(1) # print(ret)>>> 3 3.index 索引 # age = (1,2,3,4) # ret = age.index(2) # print(ret)>>> 3 4. len # print(len(age)) # >>> 5
Set(字典)
字典(set)是一个无序不重复元素的序列。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
#!/usr/bin/python # -*- coding: UTF-8 -*- #######zidian = {"age":123,123:"lol","pop":"ws1" }######## # print(zidian.keys())#获取所有的键 # dict_keys([123, 'age', 'pop']) # print(zidian.values())获取所有的值 # dict_values([123, 'ws1', 'lol']) # print(zidian.items())获取所有的键值对 # dict_items([('age', 123), (123, 'lol'), ('pop', 'ws1')]) # zidian.clear()清除字典的内容 # print(zidian) # {} # print(zidian.get(123))更具键(key)取值 # print(zidian.get("qwsa","sun"))如果键(key)不存在,可以指定一个默认值 # zidian.pop("age")删除字典中的键 # print(zidian) #{123: 'lol', 'pop': 'ws1'} # zidian.popitem()随机删除一个键对值 # print(zidian) # {'pop': 'ws1', 'age': 123} # n = ({"as":123})创建一个字典 # zidian.update(n)把两个字典合并起来 # print(zidian) # {'as': 123, 123: 'lol', 'age': 123, 'pop': 'ws1'}
Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
其它
1、for循环
用户按照顺序循环可迭代对象中的内容,
PS:break、continue
li = [11,22,33,44] for item in li: print item
2、enumrate
为可迭代的对象添加序号
li = [11,22,33] for k,v in enumerate(li, 1): print(k,v)
3、range和xrange
指定范围,生成指定的数字
print range(1, 10) # 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9] print range(1, 10, 2) # 结果:[1, 3, 5, 7, 9] print range(30, 0, -2) # 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]

浙公网安备 33010602011771号