Python基础知识- 定义函数

目录

1.定义函数:

1.1向函数传递信息

1.2实参和形参

2.传递实参:

2.1位置实参

2.1关键字实参

2.2默认值:

2.3等效的函数调用

2.4避免实参错误

3.返回值

3.1返回简单值

3.2让实参变为可选的

3.3返回字典

4.传递列表

4.1禁止函数修改列表

5.传递任意数量的实参:

5.1结合使用位置实参和任意数量实参

6.将函数存储在模块中:

6.1导入整个模块import 

6.2导入特定的函数

6.3使用as给函数指定别名

6.4使用as给模块指定别名

6.5导入模块中的所有函数,使用 *


1.定义函数:

使用关键字def 来定义一个函数

def introduction():
    print("Hello world!") 
greet_user()

1.1向函数传递信息

def introduction(username):
    print("Hello world!") 
introduction('Xixi')

1.2实参和形参

以1.1为例子,在函数introduction() 的定义中:

变量username 是一个形参 --- 函数完成其工作所需的一项信息。

在代码introduction('Xixi')中,值'Xixi' 是一个实参,实参是调用函数时传递给函数的信息。

2.传递实参:

2.1位置实参

def person(username,old):
    print("I am" + username + ".")
    print("I am" + old + "years old.") 
person('Xixi','3')

输出的结果为:

I am Xixi.

I am 2 years old.

位置实参的顺序很重要!如果需要多次调用这个函数,只需再次调用person()即可。

2.1关键字实参

关键字实参的顺序无要求,因为Python知道各个值该存储到哪个形参中。下面两个函数调用是等效的:

def person(username,old):
person(username='aa', old='two')
person(old='one',username='aa')

注意:使用关键字实参时,务必准确地指定函数定义中的形参名

2.2默认值:

在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。

#将形参old 的默认值设置为'3'
def person(username,old='3'):

注意 :使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的实参。这让Python依然能够正确地解读位置实参。

2.3等效的函数调用

def pet(petname, anmal_type = 'cat'):
    print("hhhhh")
#以下几种函数调用均是等效的
pet('xxx')
pet(petname = 'xxx')
pet('aaa','dog')
pet(petname = 'aaa', anmal_type = 'dog')
pet(anmal_type = 'dog', petname = 'aaa')

2.4避免实参错误

如果出现实参不匹配,就会报错。出现traceback

3.返回值

3.1返回简单值

在函数中,可使用return 语句将值返回到调用函数的代码行。函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值 。

def get_name(first_name, last_name):
"""返回整洁的姓名"""
    full_name = first_name + ' ' + last_name
    return full_name.title()
singer = get_name('jimi', 'hendrix')
print(singer)

3.2让实参变为可选的

def get_name(first_name, last_name, middle_name=''):
if middle_name:
    full_name = first_name + ' ' + middle_name + ' ' + last_name
else:
    full_name = first_name + ' ' + last_name
    return full_name.title()
singer = get_name('kiki', 'hix')
print(singer)
musician = get_name('jon', 'lua', 'joe')
print(singer)

3.3返回字典

def build_pet(name, age):
"""返回一个字典,其中包含有关一只宠物的信息"""
    pet = {'first': name, 'last': age}
    pet person
    
cat = build_person('kiki', '12')
print(cat)

4.传递列表

def build_pet(name):
    for name in names:
        greeting = "Hello, " + name.title() + "!"
        print(greeting)
petnames = ['cat', 'dog', 'tiger']
build_pet(petnames)  

4.1禁止函数修改列表

build_pet(list_name[:])

 

5.传递任意数量的实参:

可以在第一行的形参前面加个*,例如:def build_pet(*age):

5.1结合使用位置实参和任意数量实参

 如果要让函数接受不同类型的实参,必须在函数定义中将任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。

def build_pet(name ,*age):

6.将函数存储在模块中:

6.1导入整个模块import 

创建一个a.py文件,在创建一个b.py文件,就可以在第二个文件里导入第一个文件

6.2导入特定的函数

from xxx import xxx

通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数:

from xxx import function1,function2,function3

6.3使用as给函数指定别名

from B import A as mp

6.4使用as给模块指定别名

import A as mp

6.5导入模块中的所有函数,使用 *

from A import *

本文学习内容参照《Python编程:从入门到实践》

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值