‘’’
笔记
1. 类定义(函数进一步封装)
1.1 三大要素: 类名 属性 方法
1.2 类定义首字母大写: class Person:
1.3 类调用格式,实例化: 变量=类名()
1.4 类属性:类可以直接访问属性 Person.name
1.5 实例属性:实例属性类是无法访问
1.6 私有属性: _aaa=“hello” __bbb=“world”
1.7 类中可以定义函数
1.8 linux一切皆文件 一切皆对象
2. 方法(就是封装类里的一种特殊函数)
2.1
2.2
3. 初始化和析构(构造函数和析构函数)
‘’’
1. 类定义
1.1 第一部分
#类属性:类可以直接访问属性
#实例属性:实例属性类是无法访问
#class Person: # 类定义首字母大写
name = "小明" # 属性在这里插入代码片
#三个实例自己封装的,只能自己访问
a = Person() # 实例化
b = Person() # 一个类可以创造多个类实例化
c = Person()
print(a.name) # 实力调用属性
print(b.name)
print(Person.name)
# a.age = 18 # 实例外部给赋值,封装实例的属性,只归属于a.age
# print(a.age)
# print(b.age) # 不能调用
# 1.2 第二部分
# class Person:
# name = "小红"
# age = 19
# a = Person()
# a.age = 20 # 替换属性
# print(a.name)
# print(a.age)
# 1.3 第三部分 私有属性
# class A:
# name = "小明"
# _age = 18
# __sex = 1
# a = A
# print(a.name)
# print(a._age) # 私有: _
# # print(a.__sex) # 私有高级一点:__
# print(dir(a))
# print(a._A__sex) # 可以这样调用但是没有必要
# 2. 方法(就是封装类里的一种特殊函数)
# 第一部分(方法封装只留一个接口就可以)
# class Person:
# name = "小明"
#
# def func(self): # self就是实例本身 约定俗称
# print("删库跑路!")
#
# def func1(self):
# print("测试1")
#
# def func2(self):
# print("哈哈哈")
#
# def func3(self):
# # 必须加self.属性
# print("我叫%s" % self.name)
#
#
# # 类方法 实例不能调用 但是类可以调用 一般不会这样做
# a = Person()
# a.func() # 没有实例会报错 添加实例可以用
# a.func1()
# a.func2()
# a.func3()
# 忘掉:Person.run()
# 3. 初始化(构造)、析构
# 第一部分
# 3.1 初始化:def __init__():
# class Person:
# # def func(self):
# # print("删库跑路")
# def __init__(self,name,age): # 动态传参
# self.name = name # 实例化类属性
# self.age = age
#
#
#
# def func(self):
# print("%s删库跑路了,他今年%d岁。" % (self.name, self.age))
#
#
# # a = Person() # 实例化得时候会自动调用 初始化 构造方法
# a = Person("小明", 18)
# b = Person("小红", 20)
# a.func()
# b.func()
# 第二部分 析构函数
# class Person():
# def __init__(self, a, b):
# self.a = a
# self.b = b
#
# def func(self):
# print("测试")
#
# def __del__(self): # 重新 改写了这个方法,让他失去了原来的效果失去了删除的效果
# print("删除!")
#
#
# a = Person("小明", 18)
#
# # a.func()
# # del a # 调用外面的
# # def 调用的是不是我们定义的东西
# # a.__del__()
# a.func()
class Person():
def __init__(self, name, age):
self.name = name
self.age = age
def func1(self):
print("我叫{},我{}岁。".format(self.name, self.age))
def __del__(self):
print("person马上被干掉!")
print("删除{}{}属性!".format(self.name,self.age))
A = Person("小明", 19)
A.func1()
# 作业
# 定义一个矩形类,有长和宽两个实例属性,还有一个计算面积的方法
# l = int(input("请输入矩形长度:"))
# w = int(input("请输入矩形宽度:"))
#
#
# class Rectangle:
# def __init__(self, long, wide):
# self.long = long
# self.wide = wide
#
# def func1(self):
# # "{}{}".format(self.long, self.wide)
# print("面积为:", self.long * self.wide)
#
#
# area = Rectangle(l, w)
# area.func1()