日期:2020年1月4日
作者:Commas
注释:学习就是为了忘记,对Python3之类与类对象来一个小结。
如果您想了解更多有关Python的知识,那么请点《我的Python浅谈系列目录》
一、浅谈类是什么?
1、宏观上认识类
类的组成 | 说明 |
---|---|
属性 | 成员变量,在Python中,类属性就是在类中定义的变量 ,变量即属性 |
方法 | 成员函数,在Python中,类方法就是在类中定义的函数 ,函数即方法 |
2、Python定义类的常规语法
class ClassName:
"""【类的说明】"""
def __init__(self):
"""
【方法的说明】
类的初始化,实例对象的时候,最先执行的一个内置方法
可以设置"动态属性"的初始值……
"""
pass
#其它的业务逻辑(方法)
pass
3、类的定义与实例化示例
class Person:
"""人类"""
def __init__(self, name, income):
"""
动态属性初始值设置
给公有属性name设置初始值
给私有属性__income设置初始值
"""
self.name = name
self.__income = income
def say(self, text):
"""说话的内容"""
print("{}:{}".format(self.name, text))
def __say_income(self):
"""私有方法,说收入"""
pass
# 实例对象:老许
xu = Person("老许")
# 属性
print(xu.name)
# 实例对象:老郭
guo = Person("老郭")
# 属性
print(guo.name)
# 方法
guo.say("老许,你要老婆不要?你要是要我就给你送来")
# 方法
xu.say("那你就送来吧!")
控制台输出:
老许
老郭
老郭:老许,你要老婆不要?你要是要我就给你送来
老许:那你就送来吧!
此梗出自一部很老的电影——<<牧马人>>
二、细说类的组成
1、属性
(1)静态属性和动态属性
分类 | 说明 | 举例 |
---|---|---|
静态属性 | 类中全局变量 即为静态属性,类和类对象均可访问该属性 | 如attr1 = “我是这个类的静态属性” |
动态属性 | 类中“大字典”self的“键” ,一般情况下,只有实例化的对象才可以访问 | 如self.name |
(2)私有属性和公有属性
分类 | 说明 | 举例 |
---|---|---|
私有属性 | 不希望在外部被访问到的属性,在属性名前面加双下划线 | 如self.__income,__attr1 = “我是这个类的【静态属性】” |
公有属性 | 希望在外部被访问到的属性 | 如self.name |
知识加油站:
私有属性
在python中,表面上是不可被访问的(或者说是不可以直接被访问的),实际上是可以访问的,如需要访问Person类中的静态属性__attr1,需要写成Person._Person__attr1就可以访问啦,不过这种方式是不被推荐的,了解即可。
2、方法
分类 | 说明 | 举例 |
---|---|---|
私有方法 | 不希望在外部被访问到的方法,在方法名前面加双下划线 | 如def __say_income():pass,工资太高,怕说出去被惦记 |
公有方法 | 希望在外部被访问到的方法 | 如def say():pass |
知识加油站:
私有方法
在python中,表面上是不可被访问的(或者说是不可以直接被访问的),实际上是可以访问的,如需要访问对象xu的私有方法__say_income,需要写成xu._Person__say_income就可以访问啦,不过这种方式是不被推荐的,了解即可。
本文参考:
https://baike.baidu.com/item/%E7%B1%BB%E5%B1%9E%E6%80%A7/5557304?fr=aladdin
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/103956096