1类和对象
类:具有相同属性和技能的一类事物.
对象: 具体的类的表现,具体的实实在在的一个实例
2 对类中静态变量的操作
不能在类外部对内类内部静态变量进行增删改的操作,只能查询,不然会报错
代码块
class Student():
name='wangsiyu'
def study(self):
print('学生要学习')
print(Student.__dict__) #查询类中所有内容,返回一个字典
print(Student.__dict__['name'] ) #wangsiyu
#不能进行增删改的操作,只能查询,不然会报错
Student.__dict__['name'] ='alex' #wangsiyu 不能改
print(Student.__dict__['name'] ) #wangsiyu 会报错。
如果要对类中的静态变量增删改查,用万能的点.
代码块
class Student():
name='wangsiyu'
def study(self):
print('学生要学习')
print(Student.name) # wangsiyu
Student.name='alex' #改
print(Student.name) #查 alex
del Student.name #删
print(Student.name) #查 报错
3 类的实例化
类名字加括号,就是实例化,创建一个对象的过程,实例化自动执行类中的init方法
代码块
class Student():
name='wangsiyu'
def study(self):
print('学生要学习')
s=Student() #类的实例化
4 类的实例化对象发生了什么?
代码块
1, 类名+()产生一个实例(对象,对象空间.)
2, 自动执行类中的__init__方法,将对象空间传给__init__的self参数,
3, 给对象封装相应的属性.
5 创建一个类,实操
要求如下:
创建一个人类Person,在类中创建3个静态变量(静态字段)
animal = '高级动物'
soup = '有灵魂'
language = '语言'创建一个类,在类中定义三个方法,吃饭,睡觉,工作.
在此类中的init方法中,给对象封装5个属性:国家,姓名,性别,年龄, 身高.
代码块:
class Person():
animal = '高级动物'
soup = '有灵魂'
language = '语言'
def __init__(self,country,name,age,gender,height):
self.country=country
self.name=name
self.age=age
self.gender=gender
self.height=height
def eat(self):
print('%s在吃饭'%self.name)
def sleep(self):
print('人要睡')
def work(self):
print('人要工作')
# 实例化四个人类对象:
# 第一个人类对象p1属性为:中国,alex,未知,42,175.
p1=Person('中国','alex',42,'未知',175)
# 第二个人类对象p2属性为:美国,武大,男,35,160.
p2=Person('美国','武大',35,'男',160)
#
# 第三个人类对象p3属性为:你自己定义.
p3=Person('日本','志玲',18,'女',160)
#
# 第四个人类对象p4属性为:p1的国籍,p2的名字,p3的性别,p2的年龄,p3 的身高.
p4=Person(p1.country,p2.name,p3.gender,p2.age,p3.height)
#通过p1对象执行吃饭方法,方法里面打印:alex在吃饭.
p1.eat()
#通过p1对象找到Person的静态变量 animal
res=p1.animal
print(res)

网友评论