#定义一个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.局部变量只能用于所在函数中,函数执行完成后,局部变量也会被销毁。