Python 类、创建类的理解

,简单理解它就像一个图纸,类就是对象的图纸

类就是一个用来创建对象的对象!

类就是一个对象!

类是type类型的对象,定义类实际上就是定义了一个type类型的对象

  • 类也称对象为类的实例(instance

  • 比如, int() float() bool() str() list() dict() ... 这些都是类,只是这些都是python内部特有的类

1.创建类语法

class MyClass():
            pass
    

mc = MyClass() # mc就是通过MyClass创建的对象,他们都是一类对象
mc_2 = MyClass()

isinstance(mc, MyClass) # isinstance() 用来检查一个对象是否是一个类的实例

res = isinstance(mc, MyClass)  
print(res)  # True

2.类的属性和方法

  • 在类的代码块中,我们可以定义变量函数(即称为方法

  • 在类中定义的变量,将会成为所有的实例的公共属性

  • 所有的实例都可以访问这些属性

  • 所有的实例都可以通过 对象.方法名()形式调用

  • 如果方法调用,默认会传递一个参数,所以方法中至少要定义一个形参

class Person:
    name = '孙悟空'

    def say_hello(self):
        print('你好!')


p1 = Person()
p1.say_hello()
print(p1.name)
'''
你好!
孙悟空
'''
image-20211212174550625.png
class Person:
    name = '孙悟空'

    def say_hello(self):
        print('你好!%s' % self.name)


p1 = Person()
p2 = Person()
p1.name = 'p1'
p2.name = 'p2'

p1.say_hello()
p2.say_hello()

'''
你好!p1
你好!p2
'''

3.类的初始化

1)创建类的流程

p1 = Person() 的运行流程 1.创建一个变量 2.在内存中创建一个新对象

3.__ init __(self)方法执行 4.将对象的id赋值给变量

  • 在类中可以定义一些特殊方法(魔术方法)

  • 特殊方法都是以__开头,__结尾的方法

  • 特殊方法不需要自己调用,特殊时刻自动调用

  • 举例:

class Person:
 def __init__(self):
     print('hello')

 def say_hello(self):
     print('你好!%s' % self.name)


p1 = Person()

'''
hello
'''
2)类的基本结构

class 类名([父类])

公共属性...

# 对象的初始化方法

def __ init __(self, xxx)

psss

#其它方法

def method_1 (self, xxx)

psss

def method_2 (self, xxx)

pass

.......

class Person:
    def __init__(self, name):
        self.name = name

    def say_hello(self):
        print('你好!%s' % self.name)


p1 = Person('我是p1')
print(p1.name)
p1.say_hello()

'''
我是p1
你好!我是p1
'''

3)练习 — 创建一个狗狗的类

class Dog:
    def __init__(self, name, age, eat):
        self.name = name
        self.age = age
        self.eat = eat

    def eating(self):
        print(self.name + '在开心地吃着%s' % self.eat)

    def run(self):
        print('%s在快乐的奔跑呀'% self.name)


dog = Dog('大黄', 3, '骨头')
dog.eating()
dog.run()

'''
大黄在开心地吃着骨头
大黄在快乐的奔跑呀
'''
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容