Python基础教程(九) Python的面向对象编程之类的定义和实例化-张柏沛IT博客

正文内容

Python基础教程(九) Python的面向对象编程之类的定义和实例化

栏目:Python 发布时间:2019-10-30 16:25 浏览量:134

 本节开始介绍Python中的对象

类的定义,类首字母要大写:

class Turtle:
    #声明属性
	color="green"
	weight=10
	legs=4
	shell=True
	
	#方法
	def climb(self):
	    print("爬行中")
	
	def eat(self):
	    print("吃东西")
		
# 实例化对象
tt=Turtle() 

# 调用方法
tt.climb()

type(Turtle) #得到"type"类型

 

self是什么,为什么在方法的参数中要传一个self

其实self相当于php中的$this

 

用对象调用某个方法,则这个方法在定义的时候必须要传self这个参数,否则对象无法调用这个方法,只能用类调用这个方法

如果是使用类直接调用这个方法,则这个方法定义时可以不传self,此时调用的时候:

类名.方法名()

 

如果还想传其他参数可以用,隔开继续传

如下:

class Person:
    def setName(self,name):
	    self.name=name    #相当于$this.name=name
	def sayName(self):
	    print("我叫做{0}!".format(self.name))

zbp=Person()
zbp.setName("张小沛")		
zbp.sayName()

php中,定义一个属性,必须要先声明有哪些属性

但是在py中不用先声明,而是直接赋值,如上面的self.name=name

 

py允许在类之外,使用对象定义一个属性,不过这个属性就只有这个对象有,其他的由此类实例化出来的对象就没有这个属性:

class A:
	pass  #pass表示在这个类里面什么都不干,在函数或者循环中也可以使用pass

a=A()
a.name="zbp"
print(a.name)

 

如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息

张柏沛IT技术博客 > Python基础教程(九) Python的面向对象编程之类的定义和实例化

热门推荐
推荐新闻