环境搭建 已完成
基础知识
2023.1.23
print(“字符串”),单引号双引号都行,\“输出引号
”“”“三引号换行打印很多
#单行注释,ctrl+正斜杠多行注释
数据类型
交互模式
input函数 返回字符串 input(”一些提示文字:(用户输入)“)
python语句结尾没有分号结尾,python中的缩进很重要,tab健
if elif语句,for循环,while循环格式和c不一样,条件都没有用到括号
if 条件:
执行语句
else:
执行语句
elif:
执行语句
for 变量名 in 可迭代对象:
...执行语句
![](https://i-blog.csdnimg.cn/blog_migrate/5e7c68e7b3cbdd68797eae724c6751e4.png)
字典名.items()在for循环中,键值对会被赋值为元组
![](https://i-blog.csdnimg.cn/blog_migrate/a9da2010496dd723cf9136c3718f5b33.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f77b3626effdef2da4438a2ec69b8241.png)
range:依次输出数据
![](https://i-blog.csdnimg.cn/blog_migrate/b858909f9b81b27591dbcc9bdc0851f9.png)
while 条件:
执行语句
特殊数据类型
列表list 可变
和c中的数组很像,但是可以是不同数据类型
1.定义
#第一种方式
name_list = [] or name_list = ['tom','jack']
#第二种方式
data_list = list()
2.count
data_list = ['python', 'java', 'python', 'php']
print(data_list.count("python")) 输出2
3.索引[] 列表可以用索引来用数据
4.append(数据) 在末尾插入数据
val_list = ["Web自动化", "UI自动化", "接口自动化"]
val_list.append("APP自动化")
print(val_list)
# ['Web自动化', 'UI自动化', '接口自动化', 'APP自动化']
ps:
可以插入的各种不同类型的数据 比如数字 字典 元组
.......
字典dictionary
contacts={”小明“: ”137000000“,
”小花“: ”137000001“} 2个键值对
键必须是不可变的,所以列表不能作为键,元组可以
contacts[”小明“] 方括号里输入键提出值
添加键值对 contacts[键]=”值“
删除键值对 del contacts[”小明“]
某个键值对是否存在 ”小明“ in contacts 存在即返回true
元组tuple 不可变
类似列表,但列表用方括号,元组用圆括号
格式化字符串
1.format方法
![](https://i-blog.csdnimg.cn/blog_migrate/c261f3b5fa0808e975452606bbe88308.png)
![](https://i-blog.csdnimg.cn/blog_migrate/08d9771800585d1ba495406b1d0f1c23.png)
2.
![](https://i-blog.csdnimg.cn/blog_migrate/0d717d99f0a7ec07e1299ffa0e1c1627.png)
此外:
![](https://i-blog.csdnimg.cn/blog_migrate/0e552190617a5376e35344c972bfea9c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/30c6366c3d65873868c792e9106dad2f.png)
函数
定义用 def关键字
若函数没有return,函数返回None
sum内置函数
引入模块
//除完后再向下取整,例如3/2=1.5,而3//2=1
![](https://i-blog.csdnimg.cn/blog_migrate/7d7fe7b9b70a53f1aafb3881c32c2a1a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c20b7f55b2cfd9458e00131521a5efb4.png)
3种引入方式
python标准库提供了很多模块,想查看源代码,点击函数名加ctrl键
引入第三方库,先下载到安装到电脑里,再import
面向对象编程,用class关键字定义类,用类创建对象
创建类
![](https://i-blog.csdnimg.cn/blog_migrate/be4b90195d2a2e17a052ebc0e6789e53.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e29d1b05510a707c05d54775952dbdfb.png)
构造函数
![](https://i-blog.csdnimg.cn/blog_migrate/b54a3ad89ed051beca04b11b0feabc60.png)
定义更多属性的话
![](https://i-blog.csdnimg.cn/blog_migrate/55b069cf9d8ef00d98ecb1a65b09a82f.png)
定义方法
字符串*数字
![](https://i-blog.csdnimg.cn/blog_migrate/433b400d8b5fbb5d4b1a8b51214c222d.png)
继承
class 类名(父类名):
#代码...
super()方法
![](https://i-blog.csdnimg.cn/blog_migrate/7a2deb044eb637bb3b9bb1a346bbd92b.png)
文件操作
路径
![](https://i-blog.csdnimg.cn/blog_migrate/780749493b0e5f9a42ce01ff1bff123f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0f9c2d7b547a354fe97d0f157252005b.png)
.表示当前文件所属目录的父目录,..表示更上一层的父目录,再往上走用..\..
操作
打开文件 ,3种方法
![](https://i-blog.csdnimg.cn/blog_migrate/f5d0cb5f51f0c2ec29d10555d3c0372e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ba5e144fe2a037abfd1bf08d448c3fa0.png)
encoding...表示文件编码方式为utf-8
若文件读完返回空字符串
![](https://i-blog.csdnimg.cn/blog_migrate/d292a1c527f1d28bedfdeef84fba4041.png)
![](https://i-blog.csdnimg.cn/blog_migrate/81521c9a5ba0751a36d5aa9a971c3d93.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6cf8d463b623ebb5aa88a1c98dd998b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e184a1fd45f66d5767e1745d61d32b61.png)
![](https://i-blog.csdnimg.cn/blog_migrate/50a061783631a93bffae1a31cc5ef83b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65284003e38b60645033719e9a8930ef.png)
关闭文件 2种方法
![](https://i-blog.csdnimg.cn/blog_migrate/294916aa434c875eff1d587364c93802.png)
写文件
“w”模式,若文件不存在会自动创建;若文件存在,会先清空内容再写!
”a“模式,附加模式,在原有文件后面写入
wirte函数不会自动换行
![](https://i-blog.csdnimg.cn/blog_migrate/2f163e4803e8432958485e8b3a5f329c.png)
”r+“模式可以同时读写,并且是以附加方式写