1: Hello World
windows win
+R
打开运行菜单,输入CMD
,进入终端。输入python
进入python终端程序。输入print("hello,world")
打印文字。
import this
打印python之禅
结束命令提示符:
exit()
ctrl
+z
命令提示符中的每一行是相关联的。
执行以.py
结尾文件。
命令提示符中输入python hello.world.py
2: 基础
2.1 注释
#注释
:单行注释
***注释***
:多行注释
2.2 标准化输出
1 | #常规输出 |
输出:
标准化输出字符串
这是变量 10
我的年纪是:10 岁
我的名字是小张,我的国籍是中国
aaa bbb ccc
www.baidu.com
helloworld python
占位符:
2.3 标准化输入
1 | password = input("请输入密码") |
输出:
请输入密码123
您刚才输入的密码是 123
<class ‘str’>
即使输入数字,input也是字符串
如果想要输入整型数。使用强制类型转换
1 | a = int("123") |
2.4 运算符
3: 判断和循环语句
3.1 判断语句:
1 | if conditino1: |
:warning:缩进、冒号很重要
3.2 随机生成数:
1 | import random |
3.3 导入模块和函数
导入整个模块:import module
从某个模块中导入某个函数:from module import function
从某个模块导入多个函数:from module import function1, function2
将某个模块的函数全部导入:from module import *
3.4 循环
3.4.1 for循环
1 | #[0,4] |
3.4.2 while循环
1 | i=0 |
3.4.3 break和continue
break:结束所有循环;
continue:结束本次循环,进入下次循环。
pass:占位,什么也不执行,但pass后的同级语句会执行,和空行没区别。
4: 核心数据类型
4.1 字符串
可使用:单引号、双引号和三引号(三个单或双引号),使用反斜杠\
转义
4.1.1 字符串作为数组
1 | str = "chengdu" |
chengdu
c
du
ceg
4.1.2 字符串连接
1 | print(str+",nihao") #chengdu,nihao |
4.1.3 字符串操作函数
bytes.decode
字符串解码
isalnum()
包含至少一个字母或数字
isalpha()
至少一个且全为字母
isdigit()
至少一个且全为数字
join(seq)
指定字符串做分隔符,合并新的字符串
split()
拆分字符串
lstrip()
截掉字符串左边的空格或指定字符
rstrip()
截掉右边
4.2 列表
4.2.1 定义列表
1 | list = [] |
4.2.2 打印
1 | print(namelist[0]) |
4.2.3 遍历列表
for:
1 | for name in namelist: |
while:
1 | i = 0 |
4.2.4 列表操作函数
[ : : ]
列表切片
append
新增数据到列表尾部
1 | namelist.append("qian") |
insert
指定下标位置插入元素,
1 | a = [0,1,2] |
del list[index]
在指定位置删除元素
list.pop()
弹出末尾最后一个元素
list.remove("钢铁侠")
直接删除第一个指定内容的元素,还有的同名元素不会被删除。
1 | movieName = ["加勒比海盗","复仇者","钢铁侠","蜘蛛侠"] |
in
某元素是否在列表中
not in
不在列表中
1 | name = "wang" |
index
查找指定下标范围的元素,返回元素在列表中的索引下标,范围区间,左闭右开
1 | a = ["a","b","c","d","e"] |
count()
查找有多少个元素
1 | a.count("c") |
reverse()
将列表元素从后向前反转
1 | a = [1,4,2,3] |
sort()
排序
1 | a.sort() |
4.3 元组
tuple(元组):与list相似,但tuple元素不能修改。
元组的元素不能改,但包含的对象可以修改。
1 | tup1 = () #创建空元组,带引成tuple类型 |
元组寻址:
1 | tup1 = ("abc","def",1421) |
元组不能修改:
tup[0] = 1;
元组增:
1 | tup1 = (12,34,56) |
元组删:
1 | del tup |
4.4 字典
无序的对象集合,使用键值储存。
1 | info = {"name":"吴彦祖","age":18} |
访问可能不存在的键:
1 | print(info["gender"]) |
字典增:
1 | info["id"] = 12 |
字典删:
1 | del info["name"] #删除键值对。直接访问键会报错。 |
字典改:
1 | info["name"] = "成龙" |
字典查:
1 | info.keys() #得到所有的键,列表形式 |
4.5 集合
与字典相似,是key的集合,但是key不能重复。
set可以用来去重。
小结:
5: 函数
1 | def printInfo(): |
带参数的函数:
1 | def add2Num(a,b): |
带返回值的函数:
1 | def add2Num(a,b): |
返回多个值:
1 | def divid(a,b): |
函数类,局部变量优先于全局变量
在函数中使用全局变量:
1 | a = 100 |
6: 文件操作
6.1 打开关闭
1 | f = open("test.txt","w") #打开文件,写模式,不存在文件时,在函数目录路径新建这个文件。 |
模式 | 描述 |
---|---|
t | 文本模式 (默认)。 |
x | 写模式,新建一个文件,如果该文件已存在则会报错。 |
b | 二进制模式。 |
+ | 打开一个文件进行更新(可读可写)。 |
U | 通用换行模式(不推荐)。 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
6.2 读取字符
读取全部行
1 | f = open("test.txt","r") |
读取一行:
1 | f = open("test.txt","r") |
6.3 os库
1 | import os |
7: 错误与异常
1 | f = open("123.txt","r") #如果没有这个文件,就会报错 |
1 | try: |
要捕获异常类型,才不会报错
捕获多个异常:
1 | try: |
获取错误描述:
1 | try: |
捕获所有异常:
1 | try: |
try finally:
1 | try: |