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

你可能感兴趣的:(Python面向对象的一点点基础)