七橼77

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

面向对象的初识与结构
def login():
pass

def register():
pass

def save():
pass

def transfer():
pass

def check_bill():
pass

def shopping():
pass

def shopping2():
pass

class Auth:
def login(self):
pass
def register(self):
pass

class Bankcard:
def save(self):
pass
def transfer(self):
pass
def check_bill(self):
pass

class Shop:
def shopping(self):
pass
def shopping2(self):
pass

  1. 类是相似功能的集合体.

  2. 类 你要站在上帝的角度去考虑问题.

类: 具有相似功能和特性的一类事物.

对象:类的具体体现.

一定要有宏观的概念,区分类与对象.

类的第二个优点: 你要站在上帝的角度去考虑,类一个公共模板,对象是从这个公共的模板产出的.
结构上分析:
class Student:
daily = '学习'
examination = '考试'

def work(self):
    print('每天要上课')

def homework(self):
   print('家庭作业')

Human 类名要具有描述性,类名首字母大写,类名不宜用_
从类名的角度分析类
class Student:

"""

此类是构建学生类

"""

daily = '学习'

examination = '考试'

def work(self):

print('每天要上课')

def homework(self):

print('家庭作业')

类名的角度调用类中的属性.

1. 查看类中的所有的内容. 类名.__dict__只用于获取类中的全部.

print(Student.dict)

print(Student.dict['daily'])

2. 万能的 .点.

print(Student.daily) # 查

Student.cloth = '校服' # 增

print(Student.dict)

Student.examination = '不考试!' # 改

print(Student.examination)

del Student.daily # 删

print(Student.dict)

一般类中的属性都是通过类名.的方式去操控的.

类名的角度调用类中的方法.(一般类中的方法(除去类方法,静态方法外)不通过类名调用)

Student.work(5565) # 工作中不用类名调用

从对象的角度分析类
class Student:
"""
此类是构建学生类
"""

daily = '学习'
examination = '考试'

def __init__(self,n,a,h):

    # self.n = '小黑'
    # self.sex = '随便'
    self.name = n
    self.age = a
    self.hobby = h

def work(self,c):
    # self.color = '绿色'
    self.color = c
    print(f'{self.name}每天要上课')

def homework(self):
    # 利用self 对象空间,为所欲为
    print('家庭作业')

obj = Student() # 类名() 过程就叫做实例化过程,实例化一个对象

print(obj) # 对象,实例

obj1 = Student()

print(obj1)

obj = Student()

print(obj)

实例化一个对象时发生了三件事:

1. 在内存中创建一个对象空间.

2. 自动执行__init__方法,并且将对象空间传给self参数.

3. 执行__init__方法里面的代码,给对象空间封装其属性.

从对象角度研究类:

对象操作对象里面的属性.

obj = Student()

print(obj)

对象查看全部属性

print(obj.dict)

对象可以操作对象空间的属性 万能的点

obj = Student()

# obj.age = '29' # 增

# del obj.n # 删

# obj.sex = '女'# 改

print(obj.n) # 查

print(obj.dict)

liye = Student('小黑',21,'洗头')

mc_sq = Student('骚强',18,'高端会所')

print(liye.dict)

print(mc_sq.dict)

对象查看类中的属性.

mc_sq = Student('骚强',18,'高端会所')

# print(mc_sq.daily)

mc_sq.daily = '骚麦'

print(mc_sq.daily)

print(mc_sq.dict)

对象调用类中的方法

liye = Student('小黑',21,'洗头')

print(liye.dict)

liye.work()

liye.work('绿油油')
print(liye.dict)

self 就是类中方法的第一个位置参数,

如果通过对象执行此方法,解释器就自动的将此对象空间当做实参传给self.

约定俗称: 类中的方法第一个参数一般都设置成self.

posted on 2019-07-05 15:52  七橼77  阅读(184)  评论(0编辑  收藏  举报