美文网首页
Python:函数

Python:函数

作者: Dragon_boy | 来源:发表于2020-07-24 22:57 被阅读0次

定义函数

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

greet_user()

使用def关键字定义函数。

向函数传递信息

函数定义时可以接受参数:

def greet_user(username):
    print("Hello,", + username.title() + "!")

greet_user('jesse')

实参和形参

在函数greet_user(username)中username是形参,在代码greet_user('jesse')中,'jesse'是一个实参。

传递实参

位置实参

比如下面的函数:

def describe_pet(animal_type, pet_name):
    do something

describe_pet('hamster', 'harry')

动物类型'hamster'传入实参animal_type,动物名字'harry'传入pet_name,这按照实参的顺序传递。

关键字实参

可以在调用函数时使用形参确定要传递的参数是什么,这时候就无所谓顺序了:

describe_pet( pet_name='harry', animal_type='hamster')

默认值

编写函数时,可以为形参指定默认值:

def describe_pet(pet_name, animal_type='dog'):
    do something

describe_pet('willie')

调用该函数时可以省略传入默认形参的实参。

返回值

定义函数时用return返回值。

返回简单值

def get_formatted_name(first_name, last_name):
    full_name = first_name + ' ' + 'last_name'
    return full_name.title()

musician = get_formatted_name('jimi', 'hendrix')

返回字典

函数可以返回任何值,包括列表、元组和字典:

def build_person(first_name, last_name):
    person = {'first': 'first_name', 'last': 'last_name'}
    return person

传递列表

函数可以接受列表作为参数:

def greet_users(names):
    for name in names:
        msg = "Hello," + name.title() + ''!'
        print(msg)

usernames = ['hannah', 'ty', 'margot']
greet_users(usernames)

函数修改列表

注意,如果直接传入列表作为函数参数的话,在函数中就会直接修改该列表。

函数不修改列表

greet_users(usernames[:])

如果传入列表副本作为参数的话就不会修改原列表了。

传递任意数量实参

Python允许从调用语句中收集任意数量的参数。如下:

def make_pizza(*toppings):
    print(toppings)

make_pizza('mushrooms', 'green peppers', 'extra cheese')

形参名*toppings中的星号让python创建一个名为toppings的空元组,然后会将受到的参数传到这个元组中。

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

要这么使用的话,必须将任意数量实参的形参放在最后,Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中:

def make_pizza(size, *toppings):
    do something

make_pizza(16, 'mushrooms', 'green peppers', 'extra cheese')

使用任意数量的关键字实参

可以将函数编写成能够接受任意数量的键值对,调用语句提供多少就接受多少:

def build_profile(first, last, **user_info):
    do something
    for key, value in user_info.items():
        do something

形参**user_info创建一个名为user_info的字典,并接受所有键值对,可以这么调用函数:

build_profile('albert', 'einstein', location='princeton', field='physics')

相关文章

  • Python - 2017/01/28-函数

    调用python内置函数 函数名(参数) 即可调用python内置函数 help(函数名) 返回python对于函...

  • Python函数式介绍一 - 高阶函数

    Python函数式介绍一 - 高阶函数Python函数式介绍二 - 链式调用 最近为了给朋友推广Python函数式...

  • Python高阶函数学习笔记

    python中的高阶函数是指能够接收函数作为参数的函数 python中map()函数map()是 Python 内...

  • Python学习笔记1

    Python注释 Python变量 Python运算符 Python输入输出 输入函数 输出函数(3.x) ...

  • Python:内置函数

    python的内置函数,匿名函数 内置函数 内置函数就是python给你提供的,拿来直接用的函数,比如print,...

  • 二级Python----Python的内置函数及标准库(DAY

    Python的内置函数 嵌入到主调函数中的函数称为内置函数,又称内嵌函数。 python的内置函数(68个) Py...

  • python3 range() 函数和 xrange() 函数

    python3 range 函数 python3 取消了 xrange() 函数,并且和 range() 函数合并...

  • 7、函数

    1、Python之什么是函数 2、Python之调用函数 Python内置了很多有用的函数,我们可以直接调用。 要...

  • Python入门

    Python3教程 安装Python 第一个Python程序 Python基础 函数 高级特性 函数式编程 模块 ...

  • Python函数详解

    函数是Python里组织代码的最小单元,Python函数包含以下几个部分: 定义函数 调用函数 参数 函数的返回值...

网友评论

      本文标题:Python:函数

      本文链接:https://www.haomeiwen.com/subject/fgxelktx.html