一 函数
1 def
格式①:
def a():
print(123)
a()
# 123
格式②:
def a(c,d)
b = c+d
return b
print(a(5,6))
# 11
2 参数
2.1 传递多个参数
def a(*d)
return d
print(a('luck','jack','iop'))
# luck jack iop
2.2 任意数量关键数实参
def a(j,k,**l):
l['pw'] = j
l['us'] = k
return l
print(a(1,2,jk=53,bg=64))
# {'jk': 53, 'bg': 64, 'pw': 1, 'us': 2}
解释:**l
想当于创建了个字典,函数里就是给字典添加内容,同时关键词参数也是在给字典添加内容
3 导入
3.1 导入整个文件
文件1:
名字:name.py
def a(j,k,**l):
l['pw'] = j
l['us'] = k
return l
def b():
print(567)
文件2:
名字:daoru.py
import name
print(name.a(1,2,jk=53,bg=64))
# {'jk': 53, 'bg': 64, 'pw': 1, 'us': 2}
3.2 导入单个函数
继承上面的代码:from name import a
解释:这样a函数就唯一的被调用进来了
3.3 导入内容起别名
继承上面的代码:
from name import a as c
-
import name as c
解释:Ⅰ导入函数这个就可以用c这个名字代替a;Ⅱ导入文件这个就可以用c这个名字代替a
二 类和面向对象
1 def _inif_ (self)
class Ajk():
def __init__(self):
self.name=5
def a(self):
self.gog=6
def b(self):
print(self.name)
def ccc(self,nk):
print(nk)
cc = Ajk()
cc.b()
# 5
注意:
1*.\_inif\_ (self)
定义上class类默认调用运行;变量前加self
之后,这个变量可供类中所有方法使用;类内调用该参数需要加self
,外部调用不需要
2. 类名用大写字母
3. 括号中的self
必须添加,因为python在运行类时会默认传入实参self
4.类名后传入的参数,默认给_init_(self,canshu)
2 修改属性的值
2.1 直接修改__init__()
的值
class A:
def __init__(self):
self.name =5
def a(self):
name = self.name
print(name)
aa = A()
aa.name=100
aa.a()
#100
注意:修改时直接类.变量
;因为调用类默认调用def __init__(self)
2.2 赋值修改普通函数
的值
class Ajk():
def ccc(self,nk):
print(nk)
cc = Ajk()
cc.ccc(5)
# 5
cc.ccc(20)
# 20
3 继承
3.1 继承def _init_(self)
情景①
解释:子类里面没有写def _init_(self)
,默认也就把父类的def _init_(self)
也就继承了,不用添加super()_init_()
class Ajk():
def __init__(self):
self.name=16
def b(self):
print(5)
class Bjk(Ajk):
def cc(self):
print(self.name)
bbb = Bjk()
bbb.cc()
# 16
情景②
解释:子类里面写了def _init_(self)
,这时候父类的def _init_(self)
就被覆盖,如果还想用父类的def _init_(self)
就需要写上super()_init_()
来继承,切记参数位置需要填写且保持一致
class Ajk():
def __init__(self):
self.name=16
def b(self):
print(5)
class Bjk(Ajk):
def __init__(self):
super().__init__()
def cc(self):
print(self.name)
bbb = Bjk()
bbb.cc()
# 16
3.2 A类的属性 调用 B类的函数
class A:
def __init__(self,name):
self.name =name
def a(self):
name = self.name
print(name)
class B:
def __init__(self):
self.age=A(150)
bb = B()
bb.age.a()
# 150
解释:每当B()
被调用都会创建A
类的实例并且传入值
4 导入
4.1 from导入
特点:能导入指定文件的指定类
代码特点:注意看第二行
from a import b
c = b() #对类初始化b是类名,c是变量
4.2 impot导入
特点:文件全部导入,注意代码特点
代码特点:注意看第二行
import a
b = a.b() #对类初始化a是文件名,b是类名