python类定义学生_小学生学python(六)类与函数

每个程序都有一个入口函数,一般都是延续C语言的风格从mian函数开始,至于在调用main函数之前发生的事情,我们不用关心,编译器帮我们做了。

在python语言中,直接用一条__name__ == '__main__'语句就可以拿到我们编写程序的起点,如下:

if __name__ == '__main__':print("test")

但是,如果不按照上面用__name__ == '__main__',直接写函数

defline_func(a, b):deffunc(x):return a*x +breturn func

运行发现没执行到。如果这个文件里有直接写语句,比如

defline_func(a, b):deffunc(x):return a*x +breturnfunc

line1= line_func(2, 5)print(line1(2))

运行时,就会从line1= 这一行开始了。

至于出现上面这种现象的原因,是有库文件_pydev_execfile.py引起的,在18行有这么个语句

exec(compile(contents+"\n", file, 'exec'), glob, loc)

在一个文件,我们可以随便写处理业务的语句,比如求和

a=1b=2c=a+b

如果遇到很多地方要用求和,就可以把上面的语句封装成一个函数,那样就可以一次实现,多处调用,看上去也会代码简洁。定义函数很简单,使用def,后面跟个函数名称,xiaomao,xiaogou都行,就像取名字一样,最好使用能看函数名就知道函数干啥的名字。比如:

defAdd(a, b):return a+b

c= Add(1, 2)print(c)

c= Add(2, 2)print(c)

那既然函数已经可以把我们的业务封装起来了,要类来做啥呢?

百度百科的解释:

类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。    类是对现实生活中一类具有共同特征的事物的抽象。编写类时,你可以定义一大类对象都有的通用行为。 基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。

比如上面定义了一个加法的函数,然后我们再定义一些减法函数,乘法函数,除法函数,幂函数,阶乘函数等。这个时候我们就可以来定义一个类,取名为算法类

classAlgorith():defAdd(self, a, b):return a +bdefMinus(self, a, b):return a -b#创建Algorith的实例

my_algo =Algorith()print(my_algo.Add(1,2))

my_algo可以调用类中的方法,如Add,Minus。当然也可以实例化多个对象,相互是独立的。我们可以把一个类 写在一个.py文件,

在其他文件中只要把这个文件import进来就能调用了。

假如要写一个关于动物的程序,有猫,有狗。那么可以定义一个Cat类,一个Dog。但猫是咪咪叫,狗是吠,

Speak(叫)这个方法就有了不同的实现内容,放在不同类中取相同的方法名完全合法合规。但是在一个文件有两个一样的函数就会发生冲突,后面写的会把前面

写的覆盖掉,so分别写在不同类中就没这种烦恼。

classCat():defSpeak(self):print("猫叫")defWalk(self):print("猫步走")defEat(self):print("吃鱼")classDog():defSpeak(self):print("狗吠")defWalk(self):print("蹦跳")defEat(self):print("吃肉")

my_cat=Cat()

my_cat.Speak()

my_dog=Dog()

my_dog.Speak()

那么,方法跟函数区别在哪呢?

在类中的方法跟函数的写法一样,放在类中就叫方法,不在类中就叫函数。即类中的函数叫方法,函数的一切适用于方法。

以上如果不足之处,敬请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值