Python 字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # 三引号 - 直接换行 print("""\ 千寻你好,人们叫我'无脸男' 这个世界的人都选择无视我 只有你看到了我并和我打招呼 我感到很孤单,很孤单 你愿意和我成为朋友吗?""") # 双引号 - 转义换行 print("\n千寻你好,人们叫我'无脸男'\n这个世界的人都选择无视我\n只有你看到了我并和我打招呼\n我感到很孤单,很孤单\n你愿意和我成为朋友吗?") # 单引号 - 转义换行,转义单引号 print('\n千寻你好,人们叫我\'无脸男\'\n这个世界的人都选择无视我\n只有你看到了我并和我打招呼\n我感到很孤单,很孤单\n你愿意和我成为朋友吗?') # %s - 字符串 print('%s' % str) # %f - 浮点数 print('%f' % float) # %d - 整数型 print('%d' % int) # 示例 print('%s%d'%('数字:',0))
Python 列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 students = ['小明', '小红', '小刚'] # 从列表中提取单个元素:"小刚" students[2] # 从列表中提取多个元素:['小明', '小红'] students[:2] # 给列表增加/删除元素: students.append('小美') del students[1] # 用于移除列表中一个元素,默认取最后一个元素 students.pop() students.pop(0)
Python 字典
1 2 3 4 5 6 7 8 9 # 字典 scores = {'小明': 95, '小红': 90, '小刚': 90} # 从字典中提取元素 scores['小明'] # 从字典中增加/删除 scores['小美'] = 85 del scores['小明']
Python 面向对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 # 类的继承 class Chinese: pass class Cantonese(Chinese): pass chinese = Chinese() cantonese = Cantonese() print('\n验证1:子类创建的实例同时也属于父类') print(isinstance(chinese, Chinese)) print(isinstance(cantonese, Chinese)) print('\n验证2:父类创建的实例不属于子类。') print(isinstance(chinese, Cantonese)) print('\n验证3:类创建的实例都属于根类。') print(isinstance(chinese, object)) print(isinstance(cantonese, object)) # 多层继承 class EarthMan: pass # 中国人继承了地球人 class Chinese(EarthMan): def __init__(self, name): self.name = '中国人' # 广东人继承了中国人,同时也继承了地球人。 class Cantonese(Chinese): def __init__(self, name, type = 'foo'): Chinese.__init__(self, name) # 多重继承:多重继承中,若某父类还有父类的话,会先继续往上找到顶 class Su: born_city = 'JiangSu' wearing = 'thick' def diet(self): print('我们爱吃甜。') class Yue: settle_city = 'GuangDong' wearing = 'thin' def diet(self): print('我们吃得清淡。') class Yuesu(Yue, Su): pass xiaoming = Yuesu() # 先在 Yue类找,找到了,打印出来。 print(xiaoming.wearing) # Yue类没有born_city,才去Su类找。 print(xiaoming.born_city) # 方法调用,和属性调用一样,也符合就近原则。 xiaoming.diet()
Python 文件操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 file1 = open('/test.txt' , 'r' , encoding='utf-8' ) fileContent = file1.read() file1.close() file1 = open('/test.txt' , 'a' , encoding='utf-8' ) fileContent = file1.read() file1.close() with open('test.txt' , 'r' ) as f: lines = f.readlines() print(lines) with open('test.txt' ,'w' ) as new: for line in lines: if line not in ['0\n' ,'1\n' ]: new.write(line)
Python CSV 读写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import csvcsv_file = open('demo.csv' ,'w' ,newline='' ,encoding='utf-8' ) writer = csv.writer(csv_file) writer.writerow(['电影' ,'豆瓣评分' ]) writer.writerow(['银河护卫队' ,'8.0' ]) writer.writerow(['复仇者联盟' ,'8.1' ]) csv_file.close() csv_file = open('demo.csv' ,'r' ,newline='' ,encoding='utf-8' ) reader = csv.reader(csv_file) for row in reader: print(row)
Python Excel 读写
Excel 相关概念
一个Excel文档也称为一个工作薄(workbook),每个工作薄里可以有多个工作表(worksheet),当前打开的工作表又叫活动表。每个工作表里有行和列,特定的行与列相交的方格称为单元格(cell)。比如上图第A列和第1行相交的方格我们可以直接表示为A1单元格。
使用 openpyxl 库读写 Excel
使用 openpyxl
库写 Excel 示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import openpyxl wb = openpyxl.Workbook() sheet = wb.active sheet.title = 'new title' sheet['A1' ] = '漫威宇宙' rows = [['美国队长' ,'钢铁侠' ,'蜘蛛侠' ],['是' ,'漫威' ,'宇宙' , '经典' ,'人物' ]] for i in rows: sheet.append(i) wb.save('Marvel.xlsx' )
使用 openpyxl
库读 Excel 示例
1 2 3 4 5 6 7 8 wb = openpyxl.load_workbook('Marvel.xlsx' ) sheet = wb['new title' ] sheetname = wb.sheetnames print(sheetname) A1_cell = sheet['A1' ] A1_value = A1_cell.value print(A1_value)
Python 运算符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 print(2+1) # 加法 # 3 print(1-2) # 减法 # -1 print(1*2) # 乘法 # 2 print(1/2) # 除法 # 0.5 print(2**3) # 幂(2 的 3 次方) # 8 print(10%3) # 取模(做除法返回余数) # 1 print(10//3) # 取整数(做除法返回商的整数部分) # 3 # 布尔运算符 # and 要求条件都满足才为 True # or 要求其中一个条件满足就为 True a = 1 b = -1 print(a == 1 and b == 1) print(a == 1 or b== 1) # not 反转真假 a = True print(not a) # 判断为假
Python 异常捕获
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 num = [1,2,0,3,1.5,'6'] for x in num: try: # 尝试执行下列代码 print (6/x) except ZeroDivisionError: print('0是不能做除数的!') except TypeError: # 当报错信息为TypeError,执行下面的语句。 print('被除数必须是整值或浮点数!') try: print(6/x) except (ZeroDivisionError, TypeError): print('Something Wrong.') try: print(6/x) except Exception: print('Something Wrong.')
Python 常用函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 # 自定义函数 def $name($params): $body return $result range(a, b, c) # 计数从 a 开始,不填时,默认从 0 开始 range(a, 5) # 计数到 b 结束,但不包括 b range(b) # 计数的间隔,默认为 1 range(0, 30, 5) str.format() # 优势1:不用担心用错类型码。 print('\n{}{}'.format('数字:',0)) # 不设置指定位置时,默认按顺序对应。 print('{},{}'.format(0,1)) # 优势2:当设置指定位置时,按指定的对应。 print('{1},{0}'.format(0,1)) # 优势3:可多次调用format后的数据。 print('{0},{1},{0}'.format(0,1)) numberList.index() num = [0,1,0,1,2] # 数字1首先出现的索引位置是list[1](索引位置从0开始)。 print(num.index(1)) # 数字2首先出现的索引位置是list[4]。 print(num.index(2))
Python 模块