- python中方法没有重载:即若方法重名,则使用最后一个方法
class Student:
def say_age(self,age):
print('我的年龄是{}'.format(age)) #第一个方法失效
def say_age(self,name,age):
print('{}的年龄是{}'.format(name,age))
s1=Student()
#print(s1.say_age(18)) 所以少传了一个参数
print(s1.say_age('张三',18))
运行结果:张三的年龄是18
- 方法的动态性:动态为类添加新方法,或者修改类已经有的方法
class Student:
def study(self): #类已有的方法
print('好好学习')
def score(a):
print('我的分数为:{}'.format(a))
def study(a):
print('天天向上')
#添加新方法:将score添加到Student类中
Student.score1=score
#修改已有的方法:将study方法修改一下
Student.study=study #Student.study是已有的方法
s1=Student()
s1.score1() #翻译器:Student.score1(s1) a=s1
s1.study() #翻译器:Student.study(s1)
运行结果:
我的分数为:<main.Student object at 0x000001C319801FD0>
天天向上