发布时间:2017-11-12 16:36:01编辑:Run阅读(3809)
函数可以做三样事情:
1. 它们给代码片段命名,就跟‘变量’给字符串和数字命名一样
2. 它们可以接受参数,就跟之前的脚本argv一样
3. 通过使用#1和#2,它们可以让你创建‘微型脚本’或者‘小命令’
可以使用def新建函数,练习代码如下
# coding: utf-8
__author__ = 'www.py3study.com'
def print_two(*args):
arg1, arg2 = args
print("arg1:{},agr2:{}".format(arg1, arg2))
def print_two_again(arg1, arg2):
print("arg1:{},arg2:{}".format(arg1, arg2))
def print_one(arg1):
print("arg1:{}".format(arg1))
def print_none():
print("I got nothin.")
print_two("Zed", "Tom")
print_two_again('Zed', 'Tom')
print_one('First!')
print_none()
print_two解析一下,这个函数和你写脚本的方式差不多,因此看上去会比较眼熟
1. 首先告诉python创建一个函数,使用的命令是def,也就是定义(define)的意思
2. 紧接着def的是函数的名称,上面的例子中它的名称是print_two,名字可以随便取,xxx,yyy随意,不过最好写的名称是有含义的,不然时间一下,哪里还记得xxx,yyy是什么东西,最好函数的名称能够体现出函数的功能来
3. 然后告诉函数我们需要*args,这和脚本的argv非常相似,参数必须放在括号中才能正常工作
4. 接着用冒号: 结果本行,然后开始下一行缩进
5. 使用4个缩进的行都是属于print_two这个函数的内容,其中第一行的作用是将参数解包,这和脚本参数解包原理一样
6. 把解包后的每个参数打印出来,和之前的练习相似
函数print_two的问题是: 它并不是创建函数最简单的方法。在python函数中可以跳过整个参数解包的过程,直接使用()里边的名称作为变量名,这就是print_two_again实现的功能
接下来的例子是print_one,它演示了函数如何接受单个参数
最后例子是print_none,它演示了函数可以不接受任何参数
应该看到的结果
常见问题
函数名称有什么规则?
和变量名一样,只要以字母数字以及下划线组成,而且不是数字开始,就可以了
*args的*是什么意思?
它的功能是告诉python把函数的所有参数都接受进来,然后放到名字叫做args的列表中去
上一篇: 习题17:更多文件操作
下一篇: 习题19:函数和变量
47745
46237
37112
34627
29229
25886
24747
19863
19417
17909
5716°
6316°
5836°
5889°
6985°
5829°
5846°
6361°
6316°
7676°