python中函数定义及调用
- 1.函数
- 1.函数传参
- 1.位置传参
- 2.关键字传参
- 2.可变参数
- 2.函数返回值
- 3.变量的作用域 匿名函数 递归函数
- 4.常见的内置函数
- 2.类
- 1.类属性动态绑定
- 2.类中权限控制
- 3.继承
- 4.多态
- 5.object类
- 6.python中的特殊属性
- 7.对象的特殊方法
- 8.类的深拷贝与浅拷贝
1.函数
1.函数传参
1.位置传参
2.关键字传参
def happy_birthday(name,age):print('祝'+name+'生日快乐')print(str(age)+'岁生日快乐')#位置传参
happy_birthday('小明',18)
#关键字传参
happy_birthday(age=18,name='小明')
位置参数在前,关键字参数在后
2.可变参数
分为个数可变的位置参数(*para)和个数可变的关键字参数(**para)
函数调用时可以接收多个"参数=值"的形式,并放到一个字典中
2.函数返回值
return关键字返回,可以是一个,也可以是多个(元组类型)
3.变量的作用域 匿名函数 递归函数
4.常见的内置函数
2.类
class Person:#类属性:定义在类中,方法外的变量school='某某教育'#实例属性`def __init__(self,xm,age): #xm,age是方法的参数,是局部变量,作用域仅在方法内部self.name=xm #=左侧是实例属性,xm是局部变量,将局部变量的值xm赋值给实例属性nameself.age=age#实例方法#定义在类中的函数称为方法,自带一个参数selfdef show(self):print('姓名:',self.name,'年龄:',self.age) #必须只能用实例属性#静态方法#不能用实例属性,也不能用实例方法@staticmethoddef sm():print('静态方法')#类方法#不能用实例属性,也不能用实例方法@classmethoddef cm(cls):print('类方法')
#创建类的对象
p1=Person('小明',18) #传两个参数是因为__init__函数有两个形参
#实例属性 使用对象名打点调用
print(p1.name)
print(p1.age)
#类属性 使用类名打点调用
print(Person.school)#实例方法 使用对象名打点调用
p1.show()
#类方法 类名打点调用
Person.cm()
#静态方法 类名打点调用
Person.sm()
1.类属性动态绑定
class Person:#类属性:定义在类中,方法外的变量school='某某教育'#实例属性`def __init__(self,xm,age): #xm,age是方法的参数,是局部变量,作用域仅在方法内部self.name=xm #=左侧是实例属性,xm是局部变量,将局部变量的值xm赋值给实例属性nameself.age=age#实例方法#定义在类中的函数称为方法,自带一个参数selfdef show(self):print('姓名:',self.name,'年龄:',self.age) #必须只能用实例属性#创建类的对象
p1=Person('小明',18) #传两个参数是因为__init__函数有两个形参
p2=Person('小红',19)print(p1.name,p1.age)
print(p2.name,p2.age)#为p2动态绑定一个属性
p2.gender='男'
print(p2.name,p2.age,p2.gender)
#p2动态绑定方法
def introduce():print('我是普通的函数,我被动态绑定成为p2对象的方法')
#不能加小括号,这是函数的赋值
p2.fun=introduce
#fun是p2对象的方法
#实例方法打点调用
p2.fun()
2.类中权限控制
3.继承