概述
Python–类及其方法
文章目录
- Python--类及其方法
- 前言
- 一、类的定义
- 二、继承类定义
- 二、类的专业方法
前言
在 Python 中,面向对象编程主要有两个主题,就是类和类实例
类与实例:
类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象
的具体信息。
类有这样一些的优点:
1、类对象是多态的:也就是多种形态,这意味着我们可以对不同的类对象使用同样的操作方法,而不需要额外写代码。
2、类的封装:封装之后,可以直接调用类的对象,来操作内部的一些类方法,不需要让使用者看到代码工作的细节。
3、类的继承:类可以从其它类或者元类中继承它们的方法,直接使用。
一、类的定义
1.定义类(class)的语法:
class Zx:
def name(self, name):
self.name = name
提示:语法是class 后面紧接着,类的名字,最后别忘记“冒号”,这样来定义一个类。
类的名字,首字母,有一个不可文的规定,最好是大写,这样需要在代码中识别区分每个类。
第二行开始是类的方法,大家看到了,和函数非常相似,但是与普通函数不同的是,它的内部有一个“self”,参数,它的作用是对于对象自身的引用。
2.初始化对象
创建类时,可以定义一个特定的方法,名为__init__(),只要创建这个类的一个实例就会运行这个方法。可以向__init__()方法传递参数,这样创建对象时就可以把属性设置为你希望的值__init__()这个方法会在创建对象时完成初始化
class peo:
def __init__(self,name,age,sex):
self.Name = name
self.Age = age
self.Sex = sex
def speak(self):
print "my name" + self.Name
实例化这个类的对象时:
zhangsan=peo("zhangsan",24,'man')
print zhangsan.Age
24
print zhangsan.Name
zhangsan
print zhangsan.Sex
man
这里self参数就会告诉方法是哪个对象来调用的.这称为实例引用。
3.类的私有属性:
__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs
类的方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
私有的类方法
__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用slef.__private_methods
二、继承类定义
1.单继承
class <类名>(父类名)
<语句>
单继承示例:
class student(people):
grade = ''
def __init__(self,n,a,w,g):
#调用父类的构函
people.__init__(self,n,a,w)
self.grade = g
#覆写父类的方法
def speak(self):
print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))
s = student('ken',20,60,3)
s.speak()
复制代码
2.类的多重继承
class 类名(父类1,父类2,....,父类n)
<语句1>
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含方法
多重继承 :
class sample(speaker,student):
a =''
def __init__(self,n,a,w,g,t):
student.__init__(self,n,a,w,g)
speaker.__init__(self,n,t)
test = sample("Tim",25,80,4,"Python")
est.speak()#方法名同,默认调用的是在括号中排前地父类的方法
二、类的专业方法
Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用(象普通的方法那样)。
1 init
类似于构造函数
class Study:
def __init__(self,name=None):
self.name = name
def say(self):
print self.name
study = Study("Badboy")
study.say()
2__str__
Python能用print语句输出内建数据类型。有时,程序员希望定义一个类,要求它的对象也能用print语句输出。
class PhoneNumber:
def __init__(self,number):
self.areaCode=number[1:4]
self.exchange=number[6:9]
self.line=number[10:14]
def __str__(self):
return "(%s) %s-%s"%(self.areaCode,self.exchange,self.line)
def test():
newNumber=raw_input("Enter phone number in the form. (123) 456-7890: n")
phone=PhoneNumber(newNumber)
print "The phone number is:"
print phone
if__name__=="__main__":
test()
最后
以上就是搞怪小虾米为你收集整理的Python--类及其方法Python–类及其方法前言一、类的定义二、继承类定义二、类的专业方法的全部内容,希望文章能够帮你解决Python--类及其方法Python–类及其方法前言一、类的定义二、继承类定义二、类的专业方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复