python语言中class_Python入门:类(class)(一)

面向对象编程思想得易于c++和java面向对象(Object Oriented Programming,OOP)编程思想在上世纪70年代就产生了,并在90年代被人们广泛接受并实践,得益于c++和java的推动。OOP不是一种或几种语言的特性,而是一种抽象数据类型的思想,c++、java、c#、Python等有可以用这种思想去编程,事实上,高阶段的开发者都是用这种思想进行软件的开发。

Python的历史今天事实上Python诞生于1991年,可以说比java还要早呢,起初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,Python不断的发展壮大至今天的地位,现在越来越多被用于独立的、大型项目的开发,如:google,youtube等都是用python进行开发

定义类定义类实际上就是对对象进行抽象数据化,就像数学中的数字,现实中并不存在1、2、3……是我们为了方便理解,对现实世界抽象化的结果。对象的抽象化我们在程序中用关键字class,例1:

class IntSet(object):

pass

新的数据类型Teacher正如int,list,dict等数据类型,语言内置的类型是有限的,有时候我们不得不自己定义一个类型。下面定义一个教师对象的类型,包括姓名,年龄,工资,以及方法(Method)工资的增长。例2:

import datetime

class Teacher(object):

def __init__(self,name,salary):

self.name = name

self.salary = salary

def setBirthday(self,birthdate):

self.birthdate = birthdate

def getAge(self):

return datetime.datetime.now().year - self.birthdate.year

def risePay(self,percent):

percent = float(percent.replace('%',''))/100

self.salary = self.salary * (1 + percent)

return self.salary

说明

1.object表示的是新建的Teacher类是object的子类,后面会讲。

2.函数命名中讲过,Python中有一些特殊命名的方法,在开头和结尾都有两个下划线,如_init_,这叫初始化方法,在实例化中默认会被调用。

3.self用来指向创建的对象,这就是为什么叫面向对象的原因,定义一个类就有一个内部默认指向对象的参数self,当然也可以用别的名字,建议不用!这是Python编程规范。

创建一个t对象

t = Teacher('Mike',5000)

t.risePay('10%')

print(t.name + "`s salary is " + t.salary)

t.setBirthday(datetime.date(2000,6,10))

print(t.birthdate)

print(t.getAge())

print(type(t.getAge))

#output:

Mike`s salary is 5500.0

2000-06-10

19

说明

1.方法和函数的区别,方法需要实例化才能调用,函数不需要,t.getAge就是一个方法。

2.t = Teacher('Mike',5000),这代码的意思是创建一个t对象(实例化),把t绑定到形参self上,然后调用init方法,初始化name、salary属性(就是给赋值),之后,t可以理解为Teacher,有Teacher所有的属性和方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值