Python类与对象(3)---类变量、实例变量、局部变量程序展示

#定义一个person类
class Person:
    '''
    该类是一个person类
    '''
    name='Xiaoming';
    age=24;
    gener='女';
    address='山东省临沂市平邑县';
    workplace='上海市奉贤区';
    def __init__(self):
        print("hello, this is constructor! ")
    def __init__(self,name,age,gener,address,workplace):
        self.name=name;
        self.age=age;
        self.gener=gener;
        self.address=address;
        self.workplace=workplace;
    def print_info(self):
        print(self.name,self.age,self.gener,self.address,self.workplace)

#类的实例化
P1=Person('Xiaonong',28,'男','福建省福州市','广东省中山市')
print("该人的姓名为:",P1.name)
P1.print_info()

#修改类的属性
P1.age=39;

#增加类的属性
P1.income=12000;
print('The income of P1=',P1.income)

#增加类的方法
#方法一:动态添加方法
def print_info1(self,content):
    print('动态添加方法!',content)
P1.print_info1=print_info1
P1.print_info1(P1,"hello ,this is the first content!")

#方法二:使用lambda方法添加类方法
P1.print_info2=lambda self,content:print('使用lambda表达式添加类方法',content)
P1.print_info2(P1,"This is the secnod content!")

#方法三:借助types模块中的MethodType
def print_info3(self,content):
    print("借助Type模块下的MethodType模块实现添加类对象",content)
from types import MethodType
P1.print_info3=MethodType(print_info3,P1)
P1.print_info3('This is the third content!')


#一:类变量
# 1.类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;
# 2.类变量可以通过类名或者对象名实现调用,但是类变量只能通过类名进行修改;
# 3.增加类变量只能通过类名增加;
#二:实例变量
# 1.类体中,所以函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;
# 2.实例变量只能通过实例对象进行修改和调用,不能使用类名调用和修改;
#三:局部变量
# 1.类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。
# 2.通常情况下,定义局部变量是为了所在类方法功能的实现。
# 3.局部变量只能用于所在函数中,函数执行完成后,局部变量也会被销毁。

 

你可能感兴趣的:(Python,Python)