八、Python函数

Python学习笔记

参考书目:《Python编程从入门到实践(第2版)》,[美] Eric Matthes,袁国忠译

八、函数

1)定义函数
def greet_user(username,feeling='worried'):  # 变量username是形参(parameter)。给形参指定默认值不要有空格
    """显示简单的问候语"""  # 文档字符串(docstring)
    print(f"Hello, {username.title()}! You look {feeling}. ")  # 函数直接打印
2)实参和形参
# 位置实参,按顺序赋值    
greet_user('skye','happy')  # 值'skye'是实参(argument)
greet_user('happy','skye') 

Hello, Skye! You look happy.
Hello, Happy! You look skye.

# 关键字实参
greet_user(username='skye',feeling='sad')  # 调用函数时,关键字实参的等号两边不要有空格
greet_user(feeling='sad',username='skye')

Hello, Skye! You look sad.
Hello, Skye! You look sad.

# 形参有默认值
greet_user('skye')

Hello, Skye! You look worried.

3)返回值
def get_name(first_name,last_name,middle_name=''):  # 给middle_name指定一个空的默认值
    """返回姓名"""
    if middle_name:
        full_name = f"{first_name} {middle_name} {last_name}"  # {}之间加空格,最后输出会有空格,且每个词都title
    else:
        full_name = f"{first_name} {last_name}"    
    return full_name.title()

wizard_1 = get_name('harry','potter','james')
wizard_2 = get_name('ron','whisley')
print(wizard_1)
print(wizard_2)

Harry James Potter
Ron Whisley

4)返回字典
def build_person(first_name,last_name,age='None'):  # 可以将None视为占位值,None相当于False
    """返回包含个人信息的字典"""
    person = {'first':first_name,'last':last_name}  # 不能在这里加'age':age,加上后若没有赋值,则会显示age='None'
    if age:
        person['age']=age
    return person

wizard = build_person('harry','potter',age=18)
print(wizard)

{‘first’: ‘harry’, ‘last’: ‘potter’, ‘age’: 18}

5)传递列表
def greet_users(names):
    """向列表中的每个人简单问候"""
    for name in names:
        msg = f"Hello,{name.title()}"
        print(msg)
        
username = ['harry','ron','hermione']
greet_users(username)  # 在实参后加[:],则传入函数的是列表的副本,不会修改列表本身。如:greet_users(username[:]) 

Hello,Harry
Hello,Ron
Hello,Hermione

6)传递任意数量的实参
def get_names(*name):  # 星号*表示创建一个空元组
    print(name)
    
get_names('harry')
get_names('harry','ron','hermione')

(‘harry’,)
(‘harry’, ‘ron’, ‘hermione’)

7)使用任意数量的关键字实参
def build_profile(first,last,**user_info):  # 两个星号**创建一个空字典
    """创建一个字典,里面包含个人信息"""
    user_info['first_name']=first
    user_info['last_name']=last
    return user_info

user_profile = build_profile('harry','potter',location='england',identity='wizard')
print(user_profile)

{‘location’: ‘england’, ‘identity’: ‘wizard’, ‘first_name’: ‘harry’, ‘last_name’: ‘potter’}

8)使用模块

可以将函数储存在模块(独立文件)中,使用import导入模块,使用模块中的函数:module_name.function_name()

也可导入模块中的特定函数:from module_name import function_name

可使用as给函数或模块指定别名:import module_name as mn

也可直接将模块中所有函数导入:from module_name import *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值