python笔记

1、 www.python.org 官网下载版本python3.6.5
2、 Pycharm 2017.1.2版本 字体建议设置为Consolas 中英文区别大
3、 注释:
1) 单行注释 ctrl+/
2) 多行注释 “”” 或 ‘’’三个双引号或单引号
4、 python特点
1) 每行不输入结束符
2) 变量不用申明
5、 input键盘输入的类型均为string
6、 float(str) 类型转换
7、 PI * radii ** 2 (乘方)
8、 多变量输出
在这里插入图片描述
print(“圆的周长为:%.2f 米 \n 圆的面积为:%.2f 平方米” % (PI * radii * 2, PI * radii ** 2))
9、 代码模块化=>代码清晰、代码复用
10、定义函数 def check_input(): pass 保证程序完整性
11、try 放入有可能出现异常的代码,如果代码没有异常则忽略except中代码
except 如果出现异常,程序不终止,转到catch中执行
raise语句,抛出错误信息给外部的except Exception
在这里插入图片描述
在这里插入图片描述
12、while 循环次数不确定 for 循环次数确定
13、print(10/3) 3.33333
print(10//3) 3
14、成员运算符 in 和 not in
15、变量名一般为小写
16、python 不支持i++
17、list切片 list[起始索引:结束索引:步长]
1)如果填写一个值:取出所对应的索引值,从前到后从0开始,从后到前-1开始
2)填两个数:[起始索引:结束索引],表示[起始索引:结束索引),起始索引必须小于结束索引,否则为空
3)三个参数:
18、list三种遍历方式 while/for…in range/for…in
19、tuple 类似list 但是值不能改 长度也不能改
三个重要特征:
1)()
2)有序
3)不可变:值不可变、长度不可变
4)应用场景:人为为系统提供那些固定不变的值
20、dictionary 字典(dict){key:value} 无序且不重复 key要求固定不变的值
字典的创建和初始化
1)创建的时候直接赋值
dict01 = {“张三”:78,“李四”:56}
2)创建一个空的,后期插入
dict02 = {}
dict02[“张三”] = 24
dict02[“李四”] = 28
3)用一个list初始化字典
names = [“张三”,“李四”,“王五”]
dict03 = {}.fromkeys(names)
21、打乱元素的顺序:random.shuffle(list) 修改原list
22、时间相关:time模块和datetime模块
time :时间戳 time.time() 转格式 time.asctime(time.localtime(time.time()))
多用于计时,算执行时间
datetime: timedelta算时间差、datetime、date(年月日)、time(时分秒)、tzinfo(时区)等
23、读取文件:打开文件->读取数据->处理数据->关闭数据
读取文件三个方法:
1)Read() 读取所有的内容,返回字符串
2)Readlines() 按行读取所有的内容,返回list[str,str,str]
3)Readline() 逐行读取,返回str
Ps:
1)r的作用是表明后边就是字符串,不识别转义符等
path = r"D:\doc\student.txt"
2)首行前边有”\feff” encoding=‘utf-8-sig’
24、写文件:mode=’w’
1)以写的方式打开,只能写文件
2)如果文件不存在,创建该文件
3)文件存在,先清空,在写入
写入文件有两种方法:
write() 一次性写入所有内容 mode=’w’,参数为str(所有行)
write() 每次写入一行内容 mode=‘a’(追加内容) 参数为str(一行)
writelines() 一次性写入所有行,参数必须为list,所有的list mode=’w’
25、正则表达式一般用于:验证、查找、替换
Python中 re模块
三个基本方法:
1)match():匹配一个字符串,从头开始
2)search():匹配一个字符串,可以从中间开始
3)findall():返回一个list,返回字符串中所有符合条件的字符串
通配符:. 可以匹配任意一个字符
\\ 四个反斜杠才可以匹配一个\,前边加r用\
\s 匹配一個空白字符
\b 匹配一个单词的边界 \ba[a-z]{0,3}\b以a
[a-z] 表示范围 [az] a或者z
26、\b[abc][a-z]{0,}\b abc开头的单词
\b\d{2,}\b 大于10以上
\b[a-zA-Z][a-z]{9,}\b 10个字符以上的单词
[\u4E00-\u9FA5] 匹配汉字
\b[a-z]{0,}(ment|ly|out|ed)\b 匹配以(ment|ly|out|ed结尾的单词
27、1)正则匹配量词默认贪婪模式:尽可能的匹配的多
在后加?匹配最少的
2)如果在正则表达式中有(),表示是捕获组,匹配时只返回分组中明细的匹配结果
如果希望()仅仅是一个条件,不响应分组信息,必须转化为非捕获组,在前边加?:
(?:ment|tion|es)
28、
在这里插入图片描述
匹配adda 1(a-z)(a-z)/2/1[a-z]$
使用别名 2(?Pa-z)(?Pa-z)(?P=second)(?P=first)[a-z]$
29、零宽断言/环视/预搜索
主要用作判断某个位置的前后字符,匹配的内容不计入最终的结果,做位置的匹配,不占宽度
在这里插入图片描述
(?<=name=)[\u4E00-\u9FA5]{1,} 匹配name=后边的中文名字,不包含前边的name=
30、面向对象
命名:无论变量或函数:
1) 一个或者多个单词构成
2) 全是小写
3) 如果是多个单词,中间用下划线
31、构造函数:用来初始化类,在实例化类时自动执行,类的静态属性存放在构造函数中
def init(self,radii:float): self类似java中this
#类的静态属性
self.radii =radii
32、父类----子类
基类----派生类


  1. a-z ↩︎

  2. a-z ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值