2022年12月最新python教程 面向对象 (一)

面向对象,主要知识点为:
1、定义类

	class Person:
		pass

2、实例化对象

	son = Person()  # 即为创建了一个对象  

3、属性
类属性

	class Person:
		name = '张三'   # name即为类的属性
实例属性 
	class Person:
		def __init__(self,name):
			slef.name = name   # 写在__init__中的参数即为实例属性
私有属性
	class Person:
		def __init__(self,name):
			self.__age = 18   # 私有属性即为普通属性添加两个下划线

4、方法:
实例方法 ps:方法实力上就是一个普通函数,只是第一个参数为self

	class Person:
		def play(self):  # 函数play即为实例方法
			pass 
类方法 ps: 需要再函数上方添加一个装饰器 @classmethod,并且第一个参数为cls
	class Person:
		@classmethod
		def game(cls):  # 带有装饰器@classmethod的函数game即为类方法
			pass
静态方法:ps 静态方法就是一个普通的函数,只是在函数上添加了装饰器 @staticmethod
	class Person:
		@staticmethod
		def show():  # 带有装饰器staticmethod的函数show即为静态方法
			pass
私有方法:
	class Person:
		def __say(self): # ————say即为私有方法
			pass

5、其他
限制属性:在某些时候,需要限制实例对象传入指定参数,一般使用关键字__slots__

	class Person:
		__slots__ = ('name','age')  #  表示该类只接收name、age参数,其他参数不接收
			

例题

class Person:
    __slots__ = ('name', 'age')

    def __init__(self, name, age, addr):
        self.name = name
        self.age = age
        self.addr = addr

    def print_info(self):
        print(f'{self.name}今年{self.age}岁,住在{self.addr}')


son = Person('张三', 18, '北京')
son.print_info()

![在这里插入图片描述](https://img-blog.csdnimg.cn/5f73bdbcca584a7d8e5a28589959f6db.p

修正后

class Person:
    __slots__ = ('name', 'age')

    def __init__(self, name, age):
        self.name = name
        self.age = age
        # self.addr = addr

    def print_info(self):
        print(f'{self.name}今年{self.age}岁')


son = Person('张三', 18)
son.print_info()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值