一、Python开发环境与基础知识
python解释器:用于解释python代码
方式:
1.直接安装python解释器
2.安装Anaconda管理python环境
python开发环境:用于编写python代码
1.vscode
2.pycharm
# 3.安装Anaconda后可以使用网页版的jupyter notebook
以上三个三选一
第一个python程序
注释
#单行
'''
....
多行
....
'''
"""
...
也是多行
...
"""
代码默认顶格,依靠缩进表示代码块
print('打印结果,输出')
输入输出
print 输出
语法:print(*object,sep=' ',end=‘\n’)
参数说明:
1.object:表示输出一个或者多个对象,输出多个对象需要用sep分隔
2.sep后接用于分隔的符号或者字符串,默认值是一个空格
3.end:输出结束后以end结尾,默认值是换行,可以赋值为一个空格,实现一行多个输出
input 输入
语法:a=input()
参数说明:
1.默认存储类型为str字符串,需要输入整数,则手动转型,a=int(input())
2.多个输入分别存到不同变量里,使用map和split函数:a,b=map(int,input().split())
3.输入一个列表:lst=list(map(int,input().split()))
变量与常量
常量:不可改变
变量:存储单元,所存的值可变
变量命名规则:
1.只能包含数字,字母,下划线
2.只能以字母、下划线开头
3.不能使用关键字作为变量名
基础数据类型
四种
整数:int
浮点数:float
字符串:str
布尔:bool
获取变量类型的函数:type(变量)
类型转换
int转float:直接转换
float转int:舍弃小数部分
int转bool:非0->True;0->False
bool转int:True->1;False->0
转str:直接转换
运算符
算术运算符
+ - * / //(整除) %(求余) **(求幂)
关系运算符
> < == != <= >=
赋值运算符
= += -= *= /= //= %= **=
逻辑运算符
and or not
成员运算符
in not in
身份运算符
is not is
选择结构
条件表达式
> < == != <= >=
特点:
1.双目运算符,需要两个参数进行运算
2.运算结果是bool型,值只有true和false
逻辑表达式
and 与 or 或 not 非
特点;
1.与、或均为双目运算符,具有左结合性(从左往右进行结合,即先结合左边的运算符,然后再结合右边的运算符)
2.非 为单目运算符,具有右结合性(与左结合性相反)
3.短路:在python中,and和or不一定会计算右边的值,有的时候只计算左边的值就得到最终结果
4.and和or会将其中一个表达式的值作为最终结果,而不是输出True和False
5.and同真为真,若先算左的为假,则不需要计算右边即可得到答案
6.or有真为真,not取反
7.运算顺序:算术>关系>逻辑>赋值
if语句
格式:
if 表达式;
代码块
说明;
1.表达式可以是单一的值或者变量,也可以是由运算符组成的复杂语句,表达式成立才会运行if的代码块
2.代码块之间的联系需要用相同的缩进
3.if-else语句:else后接不满足lf表达式后的执行语句
if 表达式:
代码块
else:
代码块
4.if-elif-else语句:如果满足第一个表达式,执行语句1,如果满足另一个,执行语句2,如果都不满足,执行else后的语句(中间可使用多个elif)
if 表达式1:
代码块1
elif 表达式2:
代码块2
elif 表达式3:
代码块3
else:
代码块
循环结构
for语句
range函数:生成一系列数字,用于循环结构的遍历
格式:range(start,stop,step)
说明:
1.可只设置stop,则start默认为0,step默认为1
2.stop实际上取不到,左闭右开区间
3.步长step为负,说明倒着取值
for语句
格式:
for <variable> in <sequence>:
代码块
说明:
1.<variable>,循环变量,一般为i,j,k
2.<sequence>,可迭代对象 或者序列,一般为range(xx),也可为字符串或者列表
while语句
格式:
while 条件表达式:
代码块
说明:
1.条件表达式成立,执行代码块
2.实际情况下,需要避免while True:这种死循环出现
对比:
for vs while
for循环:常用于已知循环次数的情况,或者遍历List、Dict等数据结构
while循环:不知道循环次数,但是可以通过终止条件停止循环
在一定程度上两者可以互相转换
循环嵌套
break语句适用于嵌套循环中,它的作用只是使程序跳出本层循环结构
continue语句也可以适用于循环结构中,作用仍然跳过本次循环,执行下一次循环。
▲如何跳出多重循环?
可以设置一个跳出循环的标记
如果需要一次跳出多重循环的时候,可以将这个标记为标记成true,那么在下一层循环也判断一下是否需要继续跳出循环