Python基础(六)-函数

函数定义

1
2
3
4
5
def greet_user(msg):
"""函数的描述"""
print(msg)

greet_user("hello")
  • 输出结果是:Hello
  • 分析

def 关键字来声明函数,greet_user()表示函数名,msg表示函数的参数,""""""里面的内容表示函数的作用解释

多个参数的位置的顺序要摆放正确,不然出了Bug真的不好找aaa。

带返回值的函数

1
2
3
4
5
6
7
def greet_user(first_name, last_name):
"""函数的描述"""
full_name = first_name + ' ' + last_name
return full_name.title()

user_name = greet_user('Aller','Dong')
print(user_name)
  • 通过关键字return返回结果

返回一个字典

1
2
3
4
5
6
7
8
def greet_user(first_name, last_name):
"""函数的描述"""
person = {'first':first_name,'last':last_name}
return person


person = greet_user('Aller','Dong')
print(person)
  • 返回结果

image.png

  • 和Java中返回对象有点像哦~

传递任意数量的实参

1
2
3
4
5
6
7
def greet_user(*names):
"""函数的描述"""
for name in names:
print(name)

greet_user('AllerDong')
greet_user('Zhangsan', 'Lisi', 'Wangwu')
  • 通过*号表示任意数量的参数

将函数存储在模块中

  • 导入整个模块

import 模块名称,如在当前目录下创建两个文件,一个是test0.py,一个是test1.pytest0.py的代码如下

1
2
3
4
def greet_user(*names):
"""函数的描述"""
for name in names:
print(name)

那么在test1.py中想使用test0.py中的代码可以这么写

1
2
import test0
test0.greet_user('AllerDong')

输出结果为:AllerDong,这么做主要是能让代码重用(程序员都比较懒)

  • 导入特定函数

test0.py 不变,修改test1.py中的代码为

1
2
from test0 import greet_user
greet_user('AllerDong')

二者的区别在于,导入整个模块(import 模块名)后在使用模块中的函数时需要用模块名.函数名的格式取调用,而导入特定函数(from 模块名 import 函数名)就只能使用该函数,模块中的其他函数是用不了的。在使用时直接函数名就可以使用了

  • 使用as给模块起别名(也是为了偷懒)
1
2
import test0 as t
t.greet_user('AllerDong')
小额支持我写出更好的文章~