作为初学者,也不清楚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这篇文章吧。点击打开链接