python封装

‘’’
笔记
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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值