文中内容是我近期学习python所留下来的笔记,上传平台是为了保存防止误删造成笔记丢失,跪求浏览笔记的朋友给个赞
变量命名
规则
1.由字母,数字,下划线构成(不能出现其他符号)
2.首字符不能是数字
3.变量名不能为系统保留关键字
4.python变量名能辨别大小写
5.变量没有类型限制,如c语言里要先声明再赋值 int a=1;
int,float,str,tuple为值类型(不可变)
list,set,dict为引用类型(可变)
运算符
算数运算符
加减乘除
加:+
减:-
乘:
除:/
整除平方取余
整除://
幂次:x*
取余:%
赋值运算符
A=B:把B赋值给A
A+=B:即A=A+B的简写
A-=B:A=A-B
A*=B: A=A*B
A/=B: A=A/B
A%=B: A=A%B
A**=B:A=A**B
A//=B:A=A//B
python里是没有++,–的即没有自增自减
关系运算符
A==B:AB
A!=B
A>B
A=B
A<=B
逻辑运算符
(对布尔类型进行操作并且返回布尔类型)(字符数字与布尔类型有一定的转换规律:比如除了零之外的数字都是True)
空字符串才是False)
and:并且(同真为真,有假则假)A and B若两个都为真的时候,计算机会取第二个数B;
or :或者(同假则假,有真则真)A or B若A为真b也真的时候,计算机为了省事会取第一个数A;
not:非
成员运算符
in:判断一个元素是否在另外一组元素中;在,返回true;不在,返回false
not in:判断一个元素是否不在另外一组元素中;在,返回false;不在,返回true
字典的成员运算符:1.只针对key,不针对value
身份运算符
(针对对象进行的操作)
is:若两个变量的值相等则is返回true(关系运算符比较的是两个变量的值,而身份运算符比较的是两个变量的身份即两个变量的地址)
not is:
值,身份,类型是对象的三大特征
位运算符
把数字变成二进制数来进行计算
建议不要在:前加空格
分支循环
和其他语言差不多,没记(python里面没有dowhile循环)
函数
函数
作用:
1.功能性(功能模块化)(能够自定义一些功能函数)
2.隐藏细节(但要是研究函数或者函数源代码是否有bug时要去看函数源代码)
3.避免重复性
4.帮助组织代码
如何实现函数、
1.格式
def funcname(parameter_list):
pass
#(funcname函数名 parameter_list参数列表)
#(可以通过: import sys sys.setrecursionlimit(递归次数)来设置递归次数)
def add(x,y):
result=x+y
return result
参数类型
1.必须参数:在参数列表中的参数,是必须要传递的;(x,y)是形参;传递给x和y的参数是实参
2.关键字参数:(无需考虑x和y的位置)列如c=add(y=3,x=2)其中y就是等于3,x就是等于2;;关键字参数
方便阅读代码
3.默认参数:可以在定义函数时就把参数值给设定好,这时使用函数的时候,相应的参数就会使用设定好的值
如add(x=1,y),这种提前订好的参数就是叫做默认参数。
注意:
1.参数一定要有对应值,不管是后来传递的值也好,还是默认的参数也好必须要有对应值。
2.定义函数的时候,最好时将默认函数与未默认分开,把默认值放在后面
3.传递的实参要和形参对应清楚,不要对错了
4.传递的实际参数与默认参数不同时可以通过关键字参数来传递使函数不使用默认值(所以我们可以猜出默认值参数的主要作用是如果没有实际参数传递给形参,则使用函数里的默认参数。
序列解包和链式赋值
d=1,2,3
a,b,c=d
通过多个变量来接收序列里的元素(变量数要等于元素数否则会报错)这就叫序列解包
a,b,c=1,2,3
这就是链式赋值
(python里还可以通过a=b=c=值来对值相同的变量赋值)
python的组织结构
包
可以理解成一个文件夹,里面含有文件名为__init__.py的文件
init.py文件是导入包时的先行文件也是包的标志,导入包时__init__.py文件里的代码直接被执行
常见错误:
1.循环引入
多个模块之间的引用链产生了循环
模块
可以理解为一个文件,包里的文件。
(包和模块都可以通过import引入)
类
模板