python 数据类型基础
Python3 运算符
什么是运算符?
本章节主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。
1.算术运算
2.比较运算
3.赋值运算
4.逻辑运算
5.成员运算
1.数字
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
整数,int a. # n1 = 123 # n2 = 456 # print(n1+n2) # # print(n1.__add__(n2)) b. .bit_length() # 获取可表示的二进制最短位数 # n1 = 4 # ret = n1.bit_length() # print(ret)
2.布尔值
真或假
1 或 0
3.字符串
字符串常用功能:
- 移除空白
- 分割
- 长度
- 索引
- 切片
字符串: 1,namestr = "helloword" a .isalnum() # print(namestr.isalnum())查看是否是字母和数字 # >>> True # b .isalpha() # print(namestr.isalpha())查看是否是字母 # >>> True c .isdigit() # print(namestr.isdigit())查看是否是数字 # >>> False d .islower() # print(namestr.isalower())查看是否是小写 # >>> True e .isspace() # print(namestr.isspace())查看是否是空格 # >>>False f .istitle() # print(namestr.istitle())查看是否是标题 # >>>False g .isupper() # print(namestr.isupper())查看是否是大写 # >>>False 2, "".join() 连接 # a li = ["haha","aoao"] # s = "".join(li) 如果前面什么都不加就是默认 # print(s) # >>>hahaaoao b .lstrip 取左边空格 # rstrip 取右边空格 # strip 取两边空格 c .partition: 把字符串分割成三部分 # s = "haha ao haha" # ret = s.partition("ao") # print(ret) # >>>("haha","ao","haha") # .split()分割: # s = "alexalex" # ret = s.split("e")用e分割 # print(ret)>>>["al","xal","x"] .split("e",1) 后面加参数1 表示从左向右第一个e分割 .rsplit 从右向左 .center() 字母居中,两边空格 # a1 = "alex" # ret = a1.center(5,"*") # print(ret)>>>*alex d .replace(): 替换 # s = "haha ao haha" # ret = s.replace("ha","BB") # print(ret) # >>> BBBB ao BBBB s.replace("ha","BB",1) # 后面加参数从左向右替换 第一个 e find 找 从左向右 rfind 从右向左 rindex 从右向左索引 f .swapcase() 大写变小写小写变大写 # s = "haha AA haha" # ret = s.swapcase() # print(ret)>>>HAHA aa HAHA # .upper() 变大写 # .title() 变成标题 # .capitalize() 首字母变大写 3 a .count() # a1 = "alex is haha" # ret = a1.count("a") 统计a 出现了几次 # print(ret)>>> 3 b .endswith() # a1 = "alex is haha" # ret = a1.endswith("a") 查看是否以指定值结尾 # print(ret)>>> True # print(a1.endswith("a",0,2))查看 0 到2 之间是否以a结尾 c .find() # a1 = "alex is alex" # print(a1.find("a")) 查找位置 如果查找的不存在 返回-1 d .format() # a1 = "alex {0}, age {1}" {0} {1} 占位符 # ret = a1.format("ai",19) 格式化 # print(ret)>>> "alex ai, age 19"
4.列表
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
列表: 例如: namelist = ["q1","q2","q3","q4","q5"] 1. 索引 index() # print(namelist.index["q3"]) 输出q3所在的位置3 2. 切片 # print(namelist[0:3]) # >>>("q1","q2","q3")从0到2 顾首不顾尾 3. 追加 append() # namelist.append("q6") # >>>('q1','q2','q3','q4','q5','q6')只能单独追加 4. 删除 remove()(删除单个字符串) del(删除一个或者多个连续字符) # namelist.remove("q5") # >>> ("q1","q2","q3","q4") # del namelist[0:3] # >>> ("q4","q5") # 长度 len() # print(len(namelist)) # >>> 5 列表长度 5. 统计 count() # 统计列表中有多少相同的字符串 # namelist = ['q1','q2','q1','q4','q5','q1'] # print namelist.count('q1') # >>> 3 6. 循环 for i in () # for i in namelist: # print(i) # >>> namelist 列表循环一遍 # 删除列表内所有相同字符串 ‘q1’ # namelist = ['q1','q2','q1','q4','q5','q1'] # q = namelist.count("q1") 统计q1 出现的次数 # for i in range(q) # namelist.remove("q1") 循环删除 q1 # print(namelist) # >>>('q2','q4','q5') 7. 插入 insert() # namelist.insert(m+1,q6) # 在某个位置插入 q6 8. 翻转 reverse() # namelist = ['q1','q2','q1','q4','q5','q1'] # namelist.reverse() # >>> ['q1','q5','q4','q1','q2','q1'] 9. sort() 排序 # namelist.sort >>> ['q1','q1','q1','q2','q4','q5'] 10. # print(namelist[-1]) 取倒数第一个 print(namelist[-3:])取后三个 print(namelist[:5])取前五个 11. 删除列表中的值 pop() # namelist.pop() 默认删除最后一个 可以确定位置删除 12. 扩展列表 extend() # age = ['q1','q2'] ninao = ['q3','q4'] #age.extend(ninao) >>> age = ['q1','q2','q3','q4']
5.元组
基本操作:
- 索引
- 切片
- 循环
- 长度
- 包含
元组: 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
6.字典(无序)
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
字典: 1,namedict = {"name":"alex","age":19,"like":"sport"} # 字典的每一个元素都是 键值对。字典创建{“键”:“值”} a .keys() # int(namedict.keys())获取所有的键 # >>> {"name","age","like"} b .values() # print(namedict.values())获取所有的值 # >>>{"alex",19,"sport"} c .items() # print(namedict.items())获取所有的键值对 # >>>{"name":"alex","age":19,"like":"sport"} d .clear() # print(namedict.clear())清除所有内容 # >>>None e .get() # ret = namedict.get("age") 根据 k 获取值 # print(ret) # >>>19 # ret = namedict.get("haha",123) 如果k不存在 可以指定一个 # print(ret) # >>> 123 f .pop() # ret = namedict.pop("name")删除指定 并且提取出来 # print(ret) # >>> alex # print(namedict) # >>>{"like":"sport","age":19} g .popitem() # 随机删除并返回任意一对 键值对 f .update() # a = {"ca":"bb","dd":"oo"} # namedict.update(a) 更新 # print(namedict) # >>>{'age': 19, 'name': 'alex', 'dd': 'oo','ca': 'bb', 'like': 'sport'}
1、for循环
用户按照顺序循环可迭代对象中的内容,
PS:break、continue
1 li = [11,22,33,44] 2 for item in li: 3 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]