'''
==================================
cooding:utf-8
@Time :2020/6/6 6:45
@Author :henry
@Email :yinpingwei@gmail.com
@File :2020-06-05python类与对象.py
@Software:PyCharm
===================================
'''
# 异常处理收尾
'''
try:
代码
except 异常名字
代码
except 异常名字
代码
except 异常名字
代码
except Exception as x: # 这个是所有异常的爸爸,可以使用别名
代码
'''
# try:
# fs = open('练习题.txt','r',encoding='utf-8')
# except FileExistsError as e: # 直接抛出异常的汇总 ,还可以去一个别名
# print('文件不存在,文件找不到啊!!!')
# print(e)
# except KeyError: # 可以有处理不同的异常
# print('另外的错误,Key错误')
# except: # 没有就pass
# pass
# 类和对象
# 我懂,但是用起来有点难
# 类和对象的概念
# 类:同一类事务的 抽象描述
# 对象:符合类描述的 具体存在的
# 功能封装 函数 -
# 为什么要封装成函数类? ---整体:属性和功能(行为)
# 首先是 定义类/实现类
# 生成对象
'''
class 类名(大驼峰):
属性
方法(功能(函数))
self : 是对象本身
实例方法:第一个参数是self
# 如果想在创建对象的同时,个性化定制对象的属性
# 初始化:魔法函数 __init__
# 在你创建对象的同事,自动调用。
# 类当中可有可无
'''
# 第一种没有进行初始化的实例
# 定义类
class Dog: # 类名
# kind = None
# kind = '串串' # 类属性 这样是写死了类属性,不管对象有多少,属性都是这个
kind = '狗' # 类属性 所有的对象都是一样的
# 叫-方法
def bark(self): # self是对象本身 类方法使用函数
print('汪汪汪汪。。。。')
# 吃-方法
def eat(self): # 类方法使用函数
print('吃狗粮。。。')
# 跑-方法
def run(self): # 类方法使用函数
print('跑起来')
# 睡觉-方法
def sleep(self): # 类方法使用函数
print('self本身:',self) # 对象就是self
print('要睡觉啦')
# 创建符合类的对象 ---实例化
# 对象名 = 类名() 可以创建多个对象
cqg = Dog() # cqg一个对象就是Dog类的
print('对象本身:',cqg) # 对象就是self
# 通过对象.属性/方法() 去获缺对象的属性,去调用行为
cqg.run() # 调用类方法,实例化,但是没有给参数
cqg.eat() # 调用类方法,实例化
cqg.bark() # 调用类方法,实例化
cqg.sleep() # 调用类方法,实例化
print(cqg.kind) # 打印出来是类属性
print('**************************************************')
you_jm = Dog() # 创建的第二个对象 是另一个对象了
you_jm.eat()
you_jm.run()
you_jm.bark()
you_jm.sleep()
print(you_jm.kind) # 打印出来是类属性