标签:类的方法 传参 实例 png name 弊端 image 调用 创建对象
"""
现实中还有一些不同角色既有共性, 又有区别. 通过面向对象来解决复杂的关系描述:
1. 共性抽出来写一个类
2. 个性抽出来作为子类中特有的变量或方法
"""
#!/usr/bin/python # -*- coding: utf-8 -*- # 创建类并实例化 """ 方法1: 新建类, 并实例化, 可直接调用类中的方法返回结果. 弊端: 没有参数, 创建多个对象时分不清哪个是哪个. """ class Dog(object): def sayhi(self): print("hello, i am a dog.") d = Dog() # 实例化, 创建对象 d.sayhi() # 调用功能 d2 = Dog() d2.sayhi() """ 方法2: 传参name 弊端: 类中有多个函数时, 函数之间不能互相调用其局部变量. """ class Dog(object): def __init__(self, name): # 创建实例化时传参name, 给不同的对象传不同的名字 self.NAME = name def sayhi(self): print("hello, i am a dog", name) # sayhi()调不到__init__里的参数name d = Dog("张三") # 实例化, 创建对象 d.sayhi() # 调用功能 d2 = Dog("李四") d2.sayhi() """ 方法3: 调用时调用self.xx """ class Dog(object): def __init__(self, name): # 构造方法(构造函数只能是__init__()). 创建实例化时传参name, 给不同的对象传不同的名字 self.NAME = name # 相当于d.NAME = name def sayhi(self): # 类的方法 print("hello, i am a dog", self.NAME) # sayhi()调到了__init__里的参数name d = Dog("张三") # 相当于Dog(d, "张三"), 这个d就传给了self. d.sayhi() # 调用功能 d2 = Dog("李四") # 实例化后产生的对象叫实例. d2.sayhi() # 相当于d.sayhi(d). 所以其它函数调用self.NAME不会出错.
标签:类的方法 传参 实例 png name 弊端 image 调用 创建对象
原文地址:https://www.cnblogs.com/cheese320/p/9153816.html