Python 类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 类相关的知识,希望对你有一定的参考价值。

"""
现实中还有一些不同角色既有共性, 又有区别. 通过面向对象来解决复杂的关系描述:
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不会出错.
类的实例化及构造方法

 

 

 

以上是关于Python 类的主要内容,如果未能解决你的问题,请参考以下文章

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档

python 机器学习有用的代码片段