18.07.23(初识面向对象)
Posted gxj742
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了18.07.23(初识面向对象)相关的知识,希望对你有一定的参考价值。
类:具有相同属性和技能的食物 语法:class 类名: 类名的首字母大写 例:class Person:
对象(实例):具体的某一事物;具体类的表现;具体的实实在在的一个实例
实例化:类---->对象的过程
例:
class Preson:
soup = "有灵魂"
language = "语言"
mind = "有思想"
def __init__(self, name, sex, age): #self:内存空间
self.name = name
self.sex = sex
self.age = age
def eat(self):
print("%s在吃饭" % self.name)
def sleep(self):
print("%s在睡觉" % self.name)
def work(self):
print("%s在工作" % self.name)
1.类名角度
(1)调用类中的静态变量
方法一: 函数__dict__ 只能进行查找 不能进行增删改
例:
print(Preson.__dict__)
结果:{‘__module__‘: ‘__main__‘, ‘soup‘: ‘有灵魂‘, ‘language‘: ‘语言‘, ‘mind‘: ‘有思想‘, ‘__init__‘: <function Preson.__init__ at 0x000001E43FCD1A60>, ‘eat‘: <function Preson.eat at 0x000001E43FCD1AE8>, ‘sleep‘: <function Preson.sleep at 0x000001E43FCD1B70>, ‘work‘: <function Preson.work at 0x000001E43FCD1BF8>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Preson‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Preson‘ objects>, ‘__doc__‘: None}
例:
print(Preson.__dict__["soup"]) ==>有灵魂
方法二: " . " 进行增删改查
例:
print(Preson.soup)
Preson.money = "运用货币"
Preson.language = "使用语言"
del Preson.soup
print(Preson.__dict__)
结果:有灵魂
{‘__module__‘: ‘__main__‘, ‘language‘: ‘使用语言‘, ‘mind‘: ‘有思想‘, ‘__init__‘: <function Preson.__init__ at 0x000002194CF21A60>, ‘eat‘: <function Preson.eat at 0x000002194CF21AE8>, ‘sleep‘: <function Preson.sleep at 0x000002194CF21B70>, ‘work‘: <function Preson.work at 0x000002194CF21BF8>, ‘__dict__‘: <attribute ‘__dict__‘ of ‘Preson‘ objects>, ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Preson‘ objects>, ‘__doc__‘: None, ‘money‘: ‘运用货币‘}
(2)调用类中的方法 基本不用
2.对象角度
(1)对象操作类中的静态变量只能查
例:
print(p.soup) ==>有灵魂
(2)对象操作类中的方法 第一个参数self不用传
例:
p.work() ==>小白在工作
3.实例化对象/实例/对象 :类名+()的过程叫实例化过程(创建一个对象的过程)
例:
p = Preson("小白", "男", 24)
print(p.__dict__)
结果:{‘name‘: ‘小白‘, ‘sex‘: ‘男‘, ‘age‘: 24}
(1).类名+()产生一个实例(对象.对象空间)
(2).自动执行类中的__init__方法,将对象空间传给__init__的self参数
(3).给对象封装属性
以上是关于18.07.23(初识面向对象)的主要内容,如果未能解决你的问题,请参考以下文章