1. 常用内置函数
1.1 abs 求一个数的绝对值
#abs:返回绝对值
a = 10
b = -10
print(abs(a))
print(abs(b))
1.2 divmod 返回一个元组,同时计算商和余数
#divmod:返回商和余数
a = divmod(10,3)
print(a)
1.3 round 对浮点数进行四舍五入
#round:四舍五入
print(5/3) #除法
print(5//3) #地板除,向下取整
print(round(5/3,2)) #四舍五入,保留2位小数
print(round(1.4567432,4)) #四舍五入,保留4位小数
1.4 break
跳出当前循环,适用于while和for
#break的使用
#题目:查找[1,100)第一个3的倍数
for n in range(1,100):
if n%3 == 0:
print(n)
break
1.5 continue
当次的循环结束,回到循环顶端,判定循环条件,循环条件满足,则执行下一次循环
#continue的使用
#题目:查找[1,100)第一个3的倍数
for n in range(1,100):
if n%3 != 0:
continue #如果n不是3的倍数,进行下一次循环
print(n) #当n是3的倍数时,输出n
break #终止循环
1.6 pass 占位
#pass的使用
for n in range(1,100):
if n%3 != 0:
pass #当n不是3的倍数,什么也不操作,直接进行下一步
print(n)
break
2. 自定义函数
2.1 自定义定长函数
- 一些可以被重复使用的代码,可以提取出来放到函数中
- Python使用del来定义一个函数,使用return来返回结果
#函数定义def
#如果有多个自定义的同名函数,则后定义的会覆盖前面的
def sum(x,y): #定义sum函数
return x+y
a = sum(20,50) #sum函数调用
print(a)
def sum(x,y,z):
return x+y+z
b = sum(10,10,10)
print(b)
2.2 自定义不定长函数
- 不定长函数,在参数前加*,python会自动将这些参数放到一个元组里
- 不定长函数,成对传参,加**
#不定长函数,在参数前加*,python会自动将这些参数放到一个元组里
def sum(*canshu):
print(canshu)
sum(1,'abc',3.4,False)
#不定长函数,成对传参,加**
def kv(**double):
print(double)
kv(name = 'admin',password = '123')
2.3 自定义函数练习
#定义一个删除函数,删除列表中指定相同的值
def del_list(list,value):
new_list = []
for n in range(len(list)):
if list[n] == value:
pass
else:
new_list.append(list[n])
print(new_list)
del_list([1,1,3,1,2,1,23,23,'abc'],1) #函数调用,删除列表中的1
3. 模块(module)
- 当代码量比较大的时候,我们最好把代码拆分成一些有组织的代码片段,每个代码片段里面包含一组逻辑上有关联的函数或者类,每一个片段放在一个独立的文件中,这样的片段就称为模块(module)
- 模块也是一个对象,也可以给这个对象赋值
- 使用import可以在一个Python文件中引入其他的模块
- Import语句是直接导入一个模块,而当我们只需要用到模块中的某一个或几个函数时,可以使用from-import
- 导入模块时,分两个大阶段:先将这个模块的文件加载到内存中,并创建一个对象来表示,然后通过一个变量名来讲这个模块引入到当前的命名空间中。
- 如果同一个模块被import了多次,其实加载动作只进行了1次,也只会执行1次.
3.1 导入模块
- 模块的使用方法:导入,意味着被执行
- 一般会把工具类的东西放在模块里面,方便写代码时调用
#导入整个模块
import Python_zuoye as t #导入Python_zuoye模块,别名为t
list = [34,54,24,57,987,132,54]
t.maopao(list)
#导入模块中的指定函数
from Python_zuoye import maopao
list = [34,54,24,57,987,132,54]
maopao(list) #可直接调用maopao函数
3.2 多次加载
正常只会加载1次,想要加载多次:使用importlib里面的reload,可重新加载
#正常只会加载1次,想要加载多次:使用importlib里面的reload,可重新加载
import importlib
import Python_zuoye
list = [34,54,24,57,987,132,54]
Python_zuoye.maopao(list)
importlib.reload(Python_zuoye)
3.3 特殊标识符
- Python使用下划线(_)作为变量的前缀和后缀,来表示特殊标识符
- _xxx表示一个“私有变量”,使用from module import *无法导入
- _xxx_前后一个下划线,__xxx__前后两个下划线,一般是系统定义的名字,我们在给变量命名时避免这种风格,防止和系统变量冲突。
- import *:可以将模块里所有变量、自定义函数、类等都导过来
#如果Python_zuoye里面的某些函数不想被导出来,可以在函数名前加下划线(_)
from Python_zuoye import *
list = [34,54,24,57,987,132,54]
maopao(list)
4. 包(packge)
- 相当于文件夹,创建方式:项目-new-python packge
- 与普通文件夹的区别:包会有一个_init_.py的文件,普通文件夹没有
- 包里面可以有子包