实例变量和函数
- 实例函数的定义
- 认识__init__函数
- 定义实例变量
- 实例函数中访问实例变量
- 外部访问实例变量与函数
实例函数的定义
定义实例函数
class Student:
def say_hello(self, msg):
print(f"hello{msg}")
实例函数属于对象
class Student:
def say_hello(self, msg: str):
print(f"Hello {msg}")
def main():
s1 = Student()
s1.say_hello("hahaha")
if __name__ == '__main__':
main()
输出
Hello hahaha
这里定义了一个say_hello(self, msg: str)的实例函数,self是必须带的,只要是类的实例函数必须带这个参数,函数体中写的东西可以理解为具体的属性;必须有对象才能用。(执行哪个对象的实例函数)
这里语句可以理解为:
- 我先用Student()这个类创建了一个对象s1
- 在s1中有一个叫say_hello()的属性
- 调用s1的say_hello属性
认识__init__函数
__init__函数是用于初始化对象的实例函数
class Student:
def __init__(self):
print("doing initial stuff")
s1 = Student()
实例:
class Student:
def __init__(self, name: str): # 初始化,这里添加了一个name的属性
self.name = name # 给这个对象定义一个属性,将参数中传过来的name赋值给这个属性
def say_hello(self, msg: str):
print(f"Hello {msg}, {self.name}")
def main():
# 1. create a physical object
# 2. call __init__() to initialize this object
s1 = Student("Jack")
s2 = Student("Tom")
s1.say_hello("111")
s2.say_hello("222")
if __name__ == '__main__':
main()
python中可以动态添加对象的属性
s1.gender = 'male' # 直接添加在后面
print(s1.gender)
实例函数中访问实例变量
在实例函数中通过self访问实例变量
class Student:
def __init__(self, name:str):
self.name = name
def introduce():
print(f"I'm {self.name}")
s1 = Student("Jack")
s1.name = "Tom"
s1.introduce()
代码:
class Student:
def __init__(self, name: str): # 初始化
self.name = name # 给这个对象定义一个属性,将参数中传过来的name赋值给这个属性
def say_hello(self, msg: str):
print(f"Hello {msg}, {self.name}")
def main():
# 1. create a physical object
# 2. call __init__() to initialize this object
s1 = Student("Jack")
s2 = Student("Tom")
s1.say_hello("111")
s2.say_hello("222")
s1.gender = 'male'
print(s1.gender)
if __name__ == '__main__':
main()
其实就是把细节包装起来,然后用一个固定的模式将函数中实现的功能给调用出来。文章来源:https://www.toymoban.com/news/detail-420996.html
资料来源:【面向对象的Python编程-03.实例变量与函数】 https://www.bilibili.com/video/BV1GD4y187Nj/?share_source=copy_web&vd_source=0235d88ba3487903dc658fe856ba0135
UP:跟峰哥学编程文章来源地址https://www.toymoban.com/news/detail-420996.html
到了这里,关于python-day6(补充三:实例变量和函数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!