> 文章列表 > python-day6(补充三:实例变量和函数)

python-day6(补充三:实例变量和函数)

python-day6(补充三:实例变量和函数)

实例变量和函数

  1. 实例函数的定义
  2. 认识__init__函数
  3. 定义实例变量
  4. 实例函数中访问实例变量
  5. 外部访问实例变量与函数

实例函数的定义

定义实例函数

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是必须带的,只要是类的实例函数必须带这个参数,函数体中写的东西可以理解为具体的属性;必须有对象才能用。(执行哪个对象的实例函数)
这里语句可以理解为:

  1. 我先用Student()这个类创建了一个对象s1
  2. 在s1中有一个叫say_hello()的属性
  3. 调用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 objects1 = 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 = namedef 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 objects1 = Student("Jack")s2 = Student("Tom")s1.say_hello("111")s2.say_hello("222")s1.gender = 'male'print(s1.gender)if __name__ == '__main__':main()

其实就是把细节包装起来,然后用一个固定的模式将函数中实现的功能给调用出来。

资料来源:【面向对象的Python编程-03.实例变量与函数】 https://www.bilibili.com/video/BV1GD4y187Nj/?share_source=copy_web&vd_source=0235d88ba3487903dc658fe856ba0135
UP:跟峰哥学编程

影视作品