这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
所有类名首字母要求大写,多个单词时遵循驼峰命名法
所有未定义父类的类都继承object
格式:class 类名[(父类)]:
#两种方式意思相同
class Person:
pass
class Person(object):
pass
name、age、subject就是类属性
class Student:
#类属性
name = ''
age = 0
subject = []
格式:
def 方法名(self[,parm1,parm2...]):
pass
self就是对象本身
class Student:
# 类属性
name = 'student'
age = 0
subject = []
# 普通方法
def study(self):
print(self.name, '正在学习...')
xiaoming = Student()
xiaoming.name = 'xiaoming'
xiaoming.study()
------------
输出:
xiaoming 正在学习...
class Student:
# 类属性
name = 'student'
age = 0
subject = []
# 普通方法
def study(self, name):
print(name, '正在学习...')
s1 = Student()
s1.study('xiaohong')
----------------
输出:
xiaohong 正在学习...
格式:
@classmethod
def 方法名(cls):
pass
类方法使用@classmethod装饰器
对象方法传入的是self,类方法传入的是cls
类方法可以直接用类调用,或者可以用类的实例(对象)调用
class Dog:
dog_type = '阿拉斯加'
def __init__(self, nickname):
self.name = nickname
def dog_run(self):
print('{}在公园里跑.看起来是一只{}.'.format(self.name, self.dog_type))
@classmethod
def dog_sit(cls):
print(cls.dog_type, '很乖,坐下了')
dog1 = Dog('肉丸')
dog1.dog_type = '小泰迪'
dog1.dog_run()
Dog.dog_sit()
--------------
输出:
肉丸在公园里跑.看起来是一只小泰迪.
阿拉斯加 很乖,坐下了
静态方法使用装饰器@staticmethod
静态方法没有参数
当方法跟类属性和对象属性都没有关系的时候,使用静态方法
支持对象和类名直接调用
class Dog:
def __init__(self, nickname):
self.name = nickname
@staticmethod
def dog_sit():
print('很乖,坐下了')
dog1 = Dog('肉丸')
dog1.dog_sit()
Dog.dog_sit()
---------------------
输出:
很乖,坐下了
很乖,坐下了
格式:
def __方法名__(self):
pass
__init__() 构造函数
如果没有__init__。直接利用类向内存申请一个和类一样的空间,给到对象。
如果有__init__。利用类向内存申请一个和类一样空间,内存空间(self)传递给__iniy__,执行__init__的函数。最后将内存空间给到对象。
格式:对象名 = 类名()
class Student:
#类属性
name = ''
age = 0
subject = []
xiaoming = Student()
当创建了对象时,对象会继承类的属性。获取属性的时候,也是从类中获取属性。
当对默认的类属性赋值后(对象名.属性 = xxxx),属性才会变成对象属性。
class Student:
# 类属性
name = 'student'
age = 0
subject = []
xiaoming = Student()
print('类属性:', xiaoming.name) # 此时是从类中获取的类属性
xiaoming.name = 'xiaoming' # 因为赋值了,此时变成了对象属性
print('对象属性:', xiaoming.name)
-------------
输出:
类属性: student
对象属性: xiaoming
到此,关于“Python面向对象的类和对象怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。