python学习之对象的创建

本文介绍了Python作为面向对象的语言,其内置的几种内建对象类型,并重点讲解了面向对象的三大特性——多态、封装和继承。通过实例展示了如何声明类和对象,如`foo=Person()`,并说明了对象如何访问属性,以及私有变量的概念。面向对象设计使得Python编程更为简洁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python是一种面向对象的语言,其中python的内部包含了几种内建对象类型(数字,字符串,列表,元组和字典)。同时python也可以创建自己的对象和函数。在说明如何创建自己的对象之前,首先说明其中几个重要的概念。

多态:是对不同的对象使用同样的操作,也就是说给每个对象定义同样的函数。例如对于元组和字典可以定义同样的函数count,以计算元组和字典的长度;

封装:对外部世界隐藏对象的工作细节

继承:由子类继承父类的属性

好了,下面就具体讲解类和对象的声明

class Person: #define class
<span style="white-space:pre">	</span>age=450
<span style="white-space:pre">	</span>def setName(self,name):    #public method 
<span style="white-space:pre">		</span>self.name=name
<span style="white-space:pre">	</span>def getName(self):
<span style="white-space:pre">		</span>return self.name
<span style="white-space:pre">	</span>def __inaccessible(self):   #private method
<span style="white-space:pre">		</span>print "you can acces this method"
<span style="white-space:pre">		</span>
foo=Person()
foo.setName("gaoxiang")
print foo.getName()
print foo.name
#print foo.__age    ###you can`t access the attribute age because the __age is private
#foo.__inaccessible
在上述代码中声明了一个叫做Person的类,其中包括了两个方法,setName()和getName()。对于setName方法需要两个参数self和name,其中self是指自身,用于对自身属性的访问,而name则是有对象调用函数时传入的。对于getNname方法只有一个参数self,用于对自身属性的访问。第三个方法__inaccessable为private method 外部的对象不能访问该方法。

foo=Person() 该语句创建一个Person类型的对象,该对象可以调用类中事先定义好的函数

需要说明的一点是对象自身可以直接对其属性进行访问,eg:foo.name(name为对象的一个属性)。但是foo却不能直接访问__age因为__age是一个私有变量。

class student(Person):
	def setName(self,name):
		print "I am a student"
		self.name=name

foo2=student()
foo2.setName("baiyanlang")
print foo2.getName()

子类继承父类,子类中可以覆盖父类的方法,同时子类也可以定义自己的方法。

有了面向对象的设计,python程序的书写将会更加简单。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值