人生苦短,我用Python
一、安装
- Linux和MacOS直接在Terminal中输入
python3
即可 - Windows前往官网Python, 选择Python3之后最新的版本下载,注意选择自动配置环境变量或手动添加环境变量
- 直接在命令行交互中运行python代码,或将代码写成
.py
文件后在命令行中运行python3 xxx.py
二、python基本设计思想
- 注:可以在实践中经常性回顾本节内容(实践是学好编程的关键)
- python以简洁为设计理念,一切越简单越好
- python中变量无固定类型,变量无需定义,是一种动态语言,依赖解释执行
- python以严格缩进(一般全为四个空格或全为一个Tab)区分代码的层次
- python以丰富的第三方库著名,在实际中为解决特定问题时需要查找安装特定的库,可自行搜索使用
pip
这一库管理工具
三、变量、类型和运算符
1 | # 这是注释,以下部分为可直接执行的python语句 |
- 一个变量可以重复使用,并且被赋值为不同类型(可以为下列中任意类型)的值
- python中的类型:
- 基本类型:
- 整型int
3
- 浮点数float
1.5
,1.0
- 布尔型bool
a = True
,False
- 字符串string
a = "this is a string"
- 整型int
- 高级类型:
- 列表list
a = []
,a = [1,3]
,[1,True,1.5,"string"]
- 元组tuple
()
,(1,)
,(1,True)
,(1,True,"string")
- 字典dict
{}
,{"one":1,"two":2,"three":3}
,{False:True , 1:"one" , 2:2}
- 列表list
- 自定义类型:通过
Class
来由用户自己定义生成的类
- 基本类型:
python中的算术运算符:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
171 + 1 # =2
2 - 1 # =1
10 * 2 # =20
3 * 2.0 # =6.0 此处说明运算中同时出现整数和浮点数时,整数会向浮点数靠拢
35 / 5 # =7.0 除法会自动转换成浮点数
5 / 3 # =1.6666666666666667
5 // 3 # =1 整除为向下取整,结果为整数
5.0 // 3.0 # =1.0 浮点数中的整除,结果为浮点数
5 // 3.0 # =1.0
-5 // 3 # =-2
-5.0 // 3 # =-2.0
7 % 3 # =1 取余
-7 % 3 # =2
2**4 # =16 幂python中的布尔运算符:
1
2
3
4
5
6
7
8
9
10
11
12
13
14# 布尔运算的结果只有True和False这两种
True
False
not True # =False
True and False # =False
True or False # =True
1 == 1 # =True
1 == 2 # =False
1 != 2 # =True
1 < 10 # =True
2 <= 2 # =True
1 < 2 < 3 # =True
2 < 3 < 2 # =Falsepython中字符串的用法:
1
2
3
4
5
6
7
8
9
10
11
12
13a = "this is a string!"
b = 'this is also a string!' # 单引号和双引号都表示字符串
c = "this is a 'string'!" # 单双引号可用来区分歧义
d = 'this is a "string"!'
"hello " + "world!" # ="hello world!" 字符串的拼接
a + b # 使用变量名也能用于拼接
"hello"[0] # ='h'
a[0] # ='t' #注:python并不区分字符和字符串,统一认为为字符串
# 格式化语法:
"%d is %s"%(1,"one") # "1 is one"
四、内置高级类型的简单使用
列表list:列表为一种可寻址的数组,可以用来存储序列
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
28li = [] # 空列表
li_li = [1,2,"one",True]
list = [4,5,6]
list.append(1) # list=[4,5,6,1]
list.pop() # 返回值为1,list=[4,5,6]
list[0] # =4
list[2] # =6
list[-1] # =6 python支持反向索引
list[-3] # =4
list[4] #抛出IndexError
li = [1,4,2,5]
# 切片:li[始:终] 左闭右开
li[1:3] # =[4,2]
li[2:] # =[2,5]
li[:3] # =[1,4,2]
# 切片:li[始:终:步长]
li[::2] # =[1,2]
li[::-1] # =[5,2,4,1]
del li[2] # 删除一个元素 li=[1,4,5]
# 列表相加,注意此时li和li_li的值都没变,而是产生了新的值
li+li_li # =[1,4,5,1,2,"one",True]
1 in li # =True 判断一个元素是否在列表中
len(li) # =3 列表的长度元组tuple:元组与列表类似,列表支持的操作它也大部分支持,但元组中的元素是不允许修改的
1
2
3
4
5
6
7
8
9
10tup = (1,2,3)
tup[0]
tup + (4,5,6) # (1,2,3,4,5,6)
tup[:2]
2 in tup
a,b,c=(1,2,3) # 元组解包,分别赋值给三个变量
a,b,c=1,2,3 # 括号可省略
d,e = e,d # 两个元素交换值字典dict:字典的关键是键值对(key-value)的映射
1
2集合:
五、常用逻辑语句
if-else:
1
2
3
4
5
6
7a = 1
if a == 1 :
print("a=1")
elif a == 2 :
print("a==2")
else:
passfor-in:
1
2
3
4
5
6
7li = [1,2,3,4]
for i in li :
print(i) # 输出为 1 2 3 4
for animal in ["dog","cat","mouse"] :
print(animal)
for j in range(100) :
print(j) # 输出0到99while :
1
2
3
4x=0
while x<4:
x++ #或 x+=1 或 x=x+1
print(x)try-except:用于处理异常情况
1
2
3
4
5
6
7
8try:
raise IndexError("this is an index error") # 主动抛出异常
except IndexError as e:
pass
except (TypeError,NameError):
pass
else:
print("all good!") # 只有try中所有语句运行正确才会运行此处
六、迭代器和可迭代对象
- 略
七、函数
- 略
八、类
九、模块(库)
附录、Python中一些不常用但需要了解的操作
- python默认自己的编码为
UTF-8
- 判断一个变量的类型:
type(a)
- 整数也可以参与布尔运算,一般0为False,1为True,其他整数既不是True,也不是Flase
- 字符串可以用
.format
来格式化,或使用参数{0} {1}
或者关键字{name}
等来格式化 - 字符串中如出现冲突,可以使用转义符或
r""
来解决 - 元组的一个大用处,是可以在函数返回时得到两个或两个以上的返回值
- 关于惰性迭代和迭代器可自行查找相关资料