Python中创建类和使用类

来源:互联网 发布:淘宝华佗大药房 编辑:程序博客网 时间:2024/05/05 07:11

作为初学者,也不清楚python中类跟java中的有哪些区别,在此就简单总结一下自己近期学习python的时候一些应该注意的点。

以下面一段代码为例

class Dog():    #“一次模拟小狗的简单尝试”    def __init__(self,name,age):        self.name=name        self.age=age    def sit(self):        #"模拟小狗被命令蹲下"        print(self.name.title()+" is sitting down now!!!")    def roll_over(self):        #"模拟小狗被命令时打滚"        print(self.name.title()+" rolled over!!!")my_dog=Dog('Dahuang',5)print("my dog's name is "+ my_dog.name.title()+".It is "+str(my_dog.age)+ "years old")my_dog.sit()my_dog.roll_over()

1.根据约定,Python中的类的首字母要大写。(小写不出错,但是我们还是遵守约定吧!)

2.第一个方法__init__(),类中的函数成为方法,与之前学到的函数基本没有区别,唯一的差别就是调用的方式。而__init__()方法是一个特殊的方法,每创建一个新实例,该方法都会自动运行,开头和结尾的两个下划线只是为了好区分。避免与python中普通方法发生名称冲突。    而该方法中的三个形参,self是必不可少的,还必须位于其他形参的前面。python在调用这个方法的时候,会自动传入实参self。每个与类相关联的方法调用都会自动传入实参self,它是指向一个实例本身的引用,让实例能够访问类中的属性和方法。每当我们根据Dog类来创建实例时候,只需要给后两个形参(name,age)提供值就可以。

如果这段说的不明白,请看下一段:

在类的代码(函数)中,需要访问当前的实例中的变量和函数的,即,访问my_dog中的对应的变量(name,age)的时候,要用这种方法my_dog.name,调用对应函数sit()和roll_over()时候要用这种方法:my_dog.sit(),即执行对应的动作。

需要访问实例的变量和调用实例的函数,当然需要对应的实例my_dog本身

而Python中就规定好了,函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self

所以,我们需要self(需要用到self)

如果还是不明白的话  请看一下https://www.cnblogs.com/ant-colonies/p/6718388.html这篇文章吧。点击打开链接


原创粉丝点击