首页 > 编程语言 >python - 函数(二)

python - 函数(二)

时间:2023-07-08 23:44:07浏览次数:37  
标签:函数 python completed models user print make pizza

4. 传递列表

def greet_users(names):
    """向列表中的每位用户发出问候。"""
    for name in names:
        msg = f"Hello, {name.title()}"
        print(msg)
    
usernames = ['hanks', 'jackson', 'jimmy']
greet_users(usernames)

4.1在函数中修改列表

在函数中对列表所做的任何修改都是永久性的

def print_models(unprinted_designs, completed_models):
    """
    模拟打印每个设计,直到没有未打印的设计。
    打印每个设计后,都将其移到列表completed_models中。
    """
    while unprinted_designs:
        current_design = unprinted_designs.pop()
        print(f"Printing model: {current_design}")
        completed_models.append(current_design)

def show_completed_models(completed_models):
    """显示打印好的所有模型。"""
    print("\nThe following models have been printed:")
    for completed_model in completed_models:
        print(f"\t{completed_model}")

unprinted_designs = ['phone case', 'robot pendant', 'dodecahedron']
completed_models = []

print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)

4.2 禁止函数修改列表

function_name(list_name[:])

向函数传递列表的副本,则不会修改原始数据。处理大量数据时慎用,创建副本占用时间和内存。

5. 传递任意数量的参数

def create_user(*fields):
    """打印用户的所有属性"""
    for field in fields:
        print(field)
        
create_user('tom', 'hanks', 33, 1.80, True)

形参名*field中的星号创建一个名为fields的空元组,并将收到的所有实参封装到元组中。

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

def make_pizza(size, *toppings):
    """概述要制作的比萨"""
    print(f"\nMaking a {size}-inch pizza with the following toppings:")
    for topping in toppings:
        print(f"- {topping}")

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

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

def build_profile(first, last, **user_info):
    """创建一个字典,其中包含我们知道的有关用于的一切。"""
    user_info['first_name'] = first
    user_info['last_name'] = last
    return user_info

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

形参**user_info中两个星号创建了一个名为user_info的空字典,并将收到的所有名称值对都放入该字典中。

6. 将函数存储在模块中

函数与主程序分离:
(1)隐藏代码细节,将重点放在高层逻辑;
(2)在不同的程序中重用函数
(3)与其他程序员共享

6.1 导入整个模块

模块即扩展名为.py的文件
pizza.py

def make_pizza(size, *toppings):
    """概述要制作的比萨"""
    print(f"\nMaking a {size}-inch pizza with the following topping:")
    for topping in toppings:
        print(f"- {topping}")

making_pizzas.py

import pizza

pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

6.2 导入特定的函数

from module_name import function_name

from module_name import function_0, function_1, function_2

示例

from pizza import make_pizza

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

6.3 使用as给函数指定别名

from pizza import make_pizza as mp

mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')

6.4 使用as给模块指定别名

from pizza as p

p.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

最好只导入需要使用的函数

标签:函数,python,completed,models,user,print,make,pizza
From: https://www.cnblogs.com/route/p/17538114.html

相关文章

  • 中转转运运输问题——Python实现
    在供应链中,中转运输是一项关键活动,用于解决商品在运输过程中的各种限制和需求。商业部门承担中转运输的责任,组织商品的再次发运,以确保顺利的货物流动。中转运输在供应链中具有重要作用,主要原因如下:物流条件限制:由于运输条件的限制,商品可能无法直接一次性运送到目的地。这可能涉......
  • python - 函数(一)
    1.示例defgreet_user():#函数定义"""显示简单的问候语"""#文档字符串,描述了函数的功能。Python基于此生成有关函数的文档print("Hello!")greet_user()1.1参数defgreet_user(username):"""显示简单的问候语"&......
  • reactive函数
    作用:定义一个对象类型的响应式数据(基本类型不要用它,要用ref函数)语法:const代理对象=reactive(源对象)接收一个对象(或数组),返回一个代理对象(Proxy的实例对象,简称proxy对象)reactive定义的响应式数据是“深层次的”。内部基于ES6的Proxy实现,通过代理对象操作源对象......
  • python: generate and decode QrCode
     #encoding:utf-8#-*-coding:UTF-8-*-#版权所有2023©涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python311#Datetime:2023/7/511:08#User:geovindu#Product:UI#Project......
  • python笔记1.2
    基本输入函数input的应用name=input('请输入您的姓名')print('您的姓名为:'+name)num=int(input('请输入您的幸运数字'))#print('您的幸运数字为:'+num)#字符串和整数无法运算print('您的幸运数字为:',num)#正常返回num单行注释#正常返回num多行注释'''版权所有......
  • R语言中 bquote函数
     R语言中bquote函数用于显示变量的值,有点类似与shell中的$符号。001、i=100##定义一个测试变量bquote(i)##不能直接输出变量的值bquote(.(i))##需要借助.()的形式输出变量的值 002、应用于绘图中i=100plot(1:10,mai......
  • python笔记:第四章使用字典
    1.1概述说白了就是键值对的映射关系不会丢失数据本身关联的结构,但不关注数据的顺序是一种可变类型格式:dic={键:值,键:值}键的类型:字典的键可以是任何不可变的类型,如浮点数,字符串,元组1.2函数dict可以从其他映射或键值对创建字典items=[('name','Gumby'),('ag......
  • python笔记1.1
    ASCII码使用print输出中文Unicode编码:print(ord("天"))#使用ord()查询“天”的Unicode编码为22825print("\u5929")#22825的十六进制为5929返回值为“天” 使用print()将内容输出到文件fp=open("note.txt","w")#打开文件,w——writeprint("北京欢迎你",file=fp)#输出......
  • Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!
    你好,我是猫哥。这里每周分享优质的Python及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)首发于我的博客:https://pythoncat.top/posts/2023-07-08-weekly周刊已开通Telegram频道,欢迎关注:https://t.me/pythontrendingwee......
  • ref函数
    作用:定义一个响应式的数据语法:constxxx=ref(initValue)创建一个包含响应式数据的引用对象(reference对象,简称ref对象)。JS中操作数据:xxx.value模板中读取数据:不需要.value,直接:<div>{{xxx}}</div>备注:接收的数据可以是:基本类型、也可以是对象类型。......