Python面向对象的一点点基础

一、定义类的属性

1、直接在类中定义

2、在类的构造函数中定义

二、访问控制

python中没有访问控制,依靠python的编程规范,命名规则控制。

class Programmer:

    def __init__(self, name, age, salary):

        self.name = name

        self._age = age

        self.__salary = salary

programmer = Programmer('Mike', 23, 100000)

print(programmer.__dict__)

 # 输出结果为: {'name': 'Mike', '_age': 23, '_Programmer__salary': 100000}

print(programmer.name)

 # 输出结果为:Mike

print(programmer._age)

 # 输出结果为:23

print(programmer._Programmer__salary)

 # 输出结果为:100000

三、区分函数和方法的概念

函数是直接通过函数名调用的;方法是依附于一个类,通过对象名.方法名调用。

四、类的方法

python中类的方法也可以看作类的属性。

方法的访问控制和属性的访问控制相同。

@classmethod

调用方法时用类名调用,而不是某个实例。

@property

像访问属性一样调用方法

示例如下:

class Programmer:

        hobby ='playing games'

        def __init__(self, name, age, salary):

                self.name = name

                self._age = age

                self.__salary = salary

        def get_name(self):

                print(self.name)

        @classmethod

        def get_age(cls):

                print(cls.hobby)

        @property

        def get_salary(self):

                print(self.__salary)

programmer = Programmer('Mike', 23, 100000)

print(dir(programmer))

programmer.get_name()

Programmer.get_age()

programmer.get_salary

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容