1 函数的封装
有关函数,还留了一个小尾巴,那就是函数可以被封装在模块中。封装?模块?看起来很高大上的词儿,其实就是说函数可以被保存在一个文件中。模块,就是文件,跟你电脑上的ppt、excel文件类似。
还是用上一节的函数来举例:
def hello(location,*names):
print(f'There is a name list from {location}:')
for name in names:
print(f"- {name.title()}")
我们可以将这个保存在一个文件中,文件名的后缀是py,表示这是一个Python文件。封装的好处就在于我们不用重复编写函数,需要的时候直接从模块中调用即可。
比如上面的函数保存在一个名为module的模块中,如果想调用这个函数,那么首先要加载该模块:
import module
然后,在模块后写上你要调用的函数,用“.”来连接:
module.hello('France','james')
输出结果为:
There is a name list from France:
- James
如果你想使用模块中的特定函数,也可以直接加载该函数:
from module import hello
然后直接使用该函数就可以,前面不用再指定模块名:
hello('France','james')
你也可以给函数起个别名,用as指定:
from module import hello as h
h('France','james')
有时候函数名长不好打的话,可以用别名。
当然,你也可以把模块设个别名:
import module as m
2 初识类
类是什么?我们可以把它看成是一个类别,这个类别里面的事物都有一些共性。
比如下面这个类:
class Bird:
"""将鸟作为一个类"""
def __init__(self,name,age):
self.name = name
self.age = age
def fly(self):
print(f'The {self.name} is flying.')
我们来详细解析上面的代码。
如果你想创建一个类,使用class关键字即可;class后面跟的就是类的名称。这里需要注意的是,类的名称一般都是首字母大写;如果有多个单词,这些单词的首字母也要大写。
这里我们定义的类是鸟,即Bird。
有了类的名称,下面就要给它建造一些内容。
类中的函数我们称之为方法。首先,第一个方法是__init__,它表示在调用类时,该方法总是会自动运行。
上面的代码中,这个方法有3个参数。第一个self,就是相当于对实例的引用。
什么是实例?就是你给类传入参数,并且赋给了一个变量。这个变量可以看作实例,这个过程就叫实例化。
也就是说,有了self,你的实例才能使用这个方法。
后面2个参数name,age就是在实例化时需要传入的参数。
再往下看,self.name和self.age称之为类的属性,可以认为是类的一些默认值。只要是self.的形式,都可以被看作是属性。属性可以被类中的任何方法所使用。
self.name = name就表示将传入的参数name赋给了类的属性。
这个自动运行的方法就结束了,你也可以继续定义一些方法:
def fly(self):
print(f'The {self.name} is flying.')
这个fly也是类中的一个方法,鸟的共性就是大部分都会飞。在定义时,也需要加入self参数,这样你的实例就可以使用这个方法。
在这个方法中,我们使用了之前类的属性self.name。
ok,到这里,整个类就定义完成了,下面我们就可以使用它了,也就是实例化:
bird_1 = Bird('swan',2)
我们在实例化,之前的self参数是不用管的,只需要传入后面2个参数就好。
这个实例bird_1可以使用类的属性:
print(f"This is a {bird_1.name}.")
This is a swan.
也可以使用类中的方法:
bird_1.fly()
The swan is flying.
OK,今天的内容就到这里了,明天继续介绍“类”!
转载请注明:XAMPP中文组官网 » 零基础学Python函数的封装——物以“类”聚