类的定义
类和对象都是对现实生活中或程序中的内容的抽象。
实际上所有的事物都是由两部分组成:
1、数据(属性)
2、行为(方法)
接下来尝试定义一个类:
class Person :
pass
#创建Person的实例
p1=Person() #空的实例,没有内容
p2=Person()
此时在内存中的存放类似下图:
定义变量
在类的代码块中,我们可以定义变量和函数,变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名
的形式访问。
class Person :
name = 'swk'
p1 = Person()
p2 = Person()
print(p2.name)#访问的是‘swk’
此时name为公共属性,所有实例都可以访问。比如p2.name
访问的就是swk这样一个名字。
定义函数
在类中也可以定义函数,类中的定义的函数,我们称为该类实例的公共方法。所有的该类实例都可以通过 对象.方法名()
的形式调用方法。
class Person :
name = 'swk'
def say_hello(a) :
print('你好!')
p1 = Person()
p2 = Person()
#print(p2.name)
#调用方法:对象.方法名
p1.say_hello() # p1调用方法say_hello()
这里延伸一下方法调用和函数调用的区别:
如果是函数调用,则调用时传几个参数,就会有几个实参。
但是如果是方法调用,默认传递一个参数,所以方法中至少要定义一个形参。所以要在方法say_hello()中定义一个参数,占位用的a。
此时内存的变化如下:
执行结果为:
注意:
方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!!
点击查看配套学习视频
获取更多内容请订阅Python学习站官方技术圈!