携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
python解释型语言 可变对象引用传递,不可变对象值传递
常用运算符
| 常用 | 运算符 |
|---|---|
| + - * / | 加减乘除 |
| % | 取余数 |
| // | 取整数 |
| ** | 幂次(用x** y或 pow(x,y) |
| & | 位运算符中的位与 |
| 位运算符中的位或 | |
| 位运算符中的位异或 | |
| 为运算符中的取反 | |
| abs(x) | 取绝对值 |
| int(x) | 转为整数 |
| float(x) | 转为浮点数 |
| comple(re,im) | 将参数转化为负数,re为复数的实部,im为复数的虚部 |
变量和简单数据类型
修改字符串的大小写的方法
- title() 将每个单词首字母改为大写
- upper() 将字符串改为全部大写
- lower() 将字符串改为全部小写
name = "ada lovelace"
print(name.title()) # Ada Lovelace
print(name.upper()) # ADA LOVELACE
print(name.lower()) # ada lovelace
使用制表符或换行符来添加空白
- \t 在字符串中添加制表符
- \n 在字符串中添加换行符
print("Languages:\n\tpython3\n\tc++\n\tgo")
删除空白
- rstrip() 删除字符串末尾的空白
- lstrip() 剔除字符串开头的空白
- strip() 去除字符串两边的空白
列表
[]表示列表 用逗号分割其中的元素 索引从0开始
bicycles = ['trek','cannodate','redline','specialize']
print(bicycles)
print(bicycles[0])
print(bicycles[0].title())
修改 添加 和 删除元素
lst.append(val) 在列表尾部添加元素
lst = ['trek','cannodate','redline','specialize']
print(lst) # ['trek', 'cannodate', 'redline', 'specialize']
lst.append('tail') #['trek', 'cannodate', 'redline', 'specialize', 'tail']
print(lst)
lst.insert(idx,val) 在列表的任何位置添加新元素
lst = ['trek','cannodate','redline','specialize']
print(lst) # ['trek', 'cannodate', 'redline', 'specialize']
lst.insert(1,"python3")
print(lst) # ['trek', 'python3', 'cannodate', 'redline', 'specialize']
del lst[idx] 根据位置删除列表中的元素
lst = ['trek','cannodate','redline','specialize']
print(lst) # ['trek', 'cannodate', 'redline', 'specialize']
del lst[1]
print(lst) # ['trek', 'redline', 'specialize']
lst.pop(idx) 清除并返回索引为idx的元素(默认为尾部)并接着使用它
lst = ['trek','cannodate','redline','specialize']
pop_ed=lst.pop(0) # 复杂度 O(n) pop()尾部O(n)
print(lst) # ['trek', 'redline', 'specialize']
print(pop_ed) #trek
lst.remove(val) 找到列表的位置并删除
lst = ['trek','cannodate','redline','specialize']
lst.remove('specialize') # 不存在有异常
print(lst) # ['trek', 'cannodate', 'redline']
组织列表
- lst.sort() 永久性的修改列表的排列顺序
- lst.reverse() 倒着打印列表
- len(lst) O(1)求列表长度
操作列表
创建列表
- range(start,end) 生成数字列表
- min(c) max(c) sum(c) 对数字列表进行统计计算
- 列表解析 (字典也可以解析)
# range(start,end) 生成数字列表
seq = [x+1 for x in range(10)]
print(seq) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
cube = [x**3 for x in range(4)]
print(cube) # [0, 1, 8, 27]
even_cube = [x ** 3 for x in range(4) if not x % 2]
print(even_cube) # [0, 8]
dict = {'one': 1, 'two': 2, 'three': 3}
print(dict) # {'one': 1, 'two': 2, 'three': 3}
cube = {key+'_cube':value ** 3 for key , value in dict.items()}
print(cube) # {'one_cube': 1, 'two_cube': 8, 'three_cube': 27}
使用列表中的一部分
- 切片 和 range()同理,在到达第二个索引之前的元素停止
- 遍历切片 如果要遍历列表部分元素,可在for循环中使用切片
- 复制列表 根据既有列表创建全新的列表
seq = [x + 1 for x in range(10)]
for se in seq[0:3]:
print(se, end=" ") # 1 2 3
元组
不能修改的列表
seq = (1, 3, 3)
for x in seq:
print(x, end=" ");
集合
lst = [1,3,4,3,5,'false']
aset = set(lst)
bset = set([3,4,'helle word'])
print(len(aset))
print(aset.union(bset)) # 并
print(aset.difference(bset)) # 差
字典
dict = {"a": 1, 'b': 2, 'c': 3};
for k, v in dict.items():
print
异常处理
try:
# 提示用户输入一个整数
num = int(input("输入一个整数:"))
# 输入不是整数就报错,输入0也是报错,这里我们需要捕获异常 赋值错误的第一个单词作为关键字进行处理
result = 8 / num
print(result)
except ValueError:
print("请输入数字")
except Exception as result:
print("未知错误%s" % result)
else:
print("尝试成功!")
finally:
print("无论是否出现错误都会执行的代码")
print("===" * 20)