Tips:
1. Pycharm 快捷键
Ctrl + alt +shift +l # 代码规范化
2. 面向对象:重要的编程思想
一、类的定义
- class 类名: # class 关键字 驼峰命名法:类名通常首字母大写。
pass
- 类的属性:
class Animal: # 类里面我们一半只写两种东西:
name =' 小黄' # I. 属性:属性的定义有三种方法:1,直接在类里面定义。这是一个公有的属性
_love = '99+' # 私有属性,用_或__开头
__a = 666
# II. 方法
print(Animal._love) # 单下划线的私有属性可以访问
print(dir(Animal))
print(Animal.Animal__a) # 双下划线的私有属性可以用这种方法访问:类名.类名双下划线的属性名
lion = Animal() # 创建一个实例,也叫实例化。 这个lion就叫做Animal类的一个实例
print(a) # 水果(类,抽象概念) 一个红色的苹果(实例,具体的)
Animal.color = '金灿灿' # 属性定义的第二种方法:2,用类名.属性名去赋值。(这里的属性名不一定之前出现在类里面)
lion.foot = '4条腿' # 属性定义的第三种方法:3,实例名.属性名。
这样定义的是实例属性,只属于这个实例的属性,只能用实例名.属性名的方式去调用,类名调用会报错。
- 类的调用:有两种方法访问属性
- 1 类名.属性名
print(Animal.name)
- 2 实例名.属性名
print(aline.name)
二、类的方法: 是行为,“实例的方法”表示的是“实例”的行为。类中的方法就是函数。
class Person:
name = '帅帅'
def eat(self): # 必备参数 方法 self 本身这个实例 实例的作用是调用属性和方法
print('{}要吃龙虾'.format(self.name))
print(self)
wum = Person() # 创建实例
# 方法的调用也有两个:
wum.eat() # 实例调用方法。实例调用时,默认传这个wum的实例 给到这个self
print(wum)
Person.eat(Person()) # 类名调用方法。 类名调用时,必须手动去传实例。
三、初始化和析构
1. __init__ # 初始化方法 作用是在实例化的时候,自动调用。 (魔术方法)
class Person:
def __init__(self, name):
self.name = name # self.name是属性(实例属性),name是方法
def cooking(self):
print('正在做饭')
mor = Person('默然') # 自动调用初始化方法
# mor.name = '默然' # 定义实例属性
2. __del__ # 析构 也叫销毁初始化方法 是在这个文件运行完然后触发。(魔术方法)
def __del__(self):
print('被炒鱿鱼了')
wum = Person('无名')
del wum # 删除实例 del是关键字,调用__del__的方法删除指向的实例,也可以删除一个变量的指向(变量引用)