这是一篇关于python的文章
我们将开始自己写一个模块,但在写模块之前我们必须先学会函数。那么现在开始
1. 认识python函数
python函数其实就是将一段代码封装了起来,在要使用的时候可以直接拿来使用。这省去了很多多余的代码,也可以减少BUG或更快的修改BUG。
2. 创建函数
def first_function():
print('this is my first function')
first_function()
==========成果展示==========
this is my first function
以下是一些要注意的点:
(1)'def' 关键字用于创建函数
(2)'first_function' 是我们定义的模块名
(3)'()' 是在创建函数必不可少的
2. 为函数添加参数
当我们想要函数为我们进行一些运算时我们必须需要传入参数,如何传参呢?还记得那个函数名后面的括号吗,那里面就是设置你要传入的参数。
2.1. 位置参数
def second_function(first_name, last_name):
print('my first name is '+first_name)
print('my last name is '+last_name)
second_function(William, Smith)
==========成果展示==========
my first name is William
my last name is Smith
通过这个例子可以看出位置参数就是指,如果这个值和关键字在同一个位置那么这个值就是这个关键值的值。
2.2. 关键字参数
看个例子就知道了:
def second_function(first_name, last_name):
print('my first name is '+first_name)
print('my last name is '+last_name)
second_function(last_name=Smith, first_name=William)
==========成果展示==========
my first name is William
my last name is Smith
这里指明了哪个关键字是哪个值,所以两个的顺序是可以换顺序的。这样虽然更麻烦但也减少了BUG发生的概率。
2.3. 默认参数
依旧我们来看个例子:
def second_function(first_name=Marilyn, last_name=Monroe):
print('my first name is '+first_name)
print('my last name is '+last_name)
second_function()
==========成果展示==========
my first name is Marilyn
my last name is Monroe
*******************分割线********************
def second_function(first_name=Marilyn, last_name=Monroe):
print('my first name is '+first_name)
print('my last name is '+last_name)
second_function(last_name=Smith, first_name=William)
==========成果展示==========
my first name is William
my last name is Smith
这样如果没有传入任何参数时代码依旧可以正常运行。麻烦但也更保险。
3. 函数参数的作用域
我们已经学习了如何传入参数和返回参数,那什么是函数参数的作用域呢?
简单来说以我们现在这个对于函数的基础来看如果要修改全局变量要用函数返回值来重新覆盖变量。
那样来说太low了。今天给你们介绍一个关键字叫 global。这个关键字怎么使用呢?
我们先讲讲函数参数作用域。
参数作用域:
简单来说就是一个参数你可以在函数中修改但在这个函数之外再去print它。那么它的值是不会更改的。
就是这个在函数内你修改的这个变量的值并不会应用到函数以外的地方。
再讲讲global。这个关键字将写在函数的开头。在这个关键字后面是你要导入的变量。
用global导入的变量的修改将应用到全局,该变量又叫全局变量。全局变量可以不用在调用函数时输入该变量
以上就是《python模块制作(上)》的内容了,下一周将更新《python模块制作(中)》。