续第八章

续第八章 (即补自己落下的代码)

8.4 传递列表

这里写图片描述
- 8.4.1

这里写图片描述

这里写图片描述
- 8.4.2 禁止函数修改列表

这里写图片描述


8.4 动手试一试

  • 8-9 魔术师
#8-9 魔术师

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

show_magicians = ['yc' , 'yyc' , 'ycc']
magician_names(show_magicians)

这里写图片描述

  • 8-10 了不起的魔术师
names = ['liu qian' , 'liu liu' , 'liu liang']
greatnames = []

def magician_names(names):
    for name in names:
        msg = "Hello , " + name.title() + "!"
        print (msg)
    greatnames.append(name)

def make_great(greatnames):
    for greatname in greatnames:
        msg = "\nHello , great " + greatname.title() + "!"
        print (msg)

show_magicians = ['yc' , 'yyc' , 'ycc']
make_great(show_magicians)

show_magicians = ['yy' , 'yyy' , 'y']
magician_names(show_magicians)

这里写图片描述

#8-10 了不起的魔术师

def magicians(names , greatnames):
    while names:
        print_name = names.pop()

        print ("The magician's name : " + print_name.title())
        greatnames.append(print_name)

def show_print_name(greatnames):
    print ("\nThe great magician's name :")
    for great_names in greatnames:
        print (great_names.title())

names = ['liu qian' , 'liu liu' , 'liu liang']
greatnames = []

magicians(names , greatnames)
show_print_name(greatnames)

这里写图片描述

  • 8-11 不变的魔术师
#8-11 不变的魔术师

def make_great(magicians_name , great_magicians_name):
    while magicians_name:
        names = magicians_name.pop()
        print ("The great magician's name is:" + names.title())
        great_magicians_name.append(names)

def show_great(great_magicians_name):
    print("The magician's name is:")
    for greatname in great_magicians_name:
        print(greatname.title())

magicians_name = ['ycc' , 'yc' , 'yyc']
great_magicians_name = []

make_great(magicians_name, great_magicians_name)
show_great(magicians_name)

make_great(magicians_name[:] , great_magicians_name)
show_great(great_magicians_name)

这里写图片描述


8.5 传递任意数量的实参

这里写图片描述

  • 8.5.1 结合使用位置实参和任意数量实参
    这里写图片描述

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

这里写图片描述


8.5 动手试一试

  • 8-12 三明治
def make_sanwich (*toppings):
    print("This sanwich adds : " + str(toppings))

make_sanwich("1")
make_sanwich("22","33","44")

这里写图片描述

  • 8-13 用户简介
def build_profile(first , last , **user_info):
    """创建一个字典 其中包含我们知道的有关用户的一切"""
    profile = {}
    profile['first_name'] = first.title()
    profile['last_name'] = last.title()
    for key,value in user_info.items():
        profile[key] = value.title()

    return profile

user_profile = build_profile ('zi' , 'yi' ,
                              location = 'kun ming' , 
                              field = 'physics')
print (user_profile)

这里写图片描述

  • 8-14 汽车
def car_information (zhizaoshang , xinghao , **car_info):
    information = {}
    information['zhizaoshang'] = zhizaoshang.title()
    information['xinghao'] = xinghao.title()
    for key,value in car_info.items():
        profile[key] = value.title()

    return information

car_profile = car_information ('japan' , 'xx' , )

print (car_profile)

这里写图片描述


8.6 将函数存储在模块中

  • 8.6.1 导入整个模块
    这里写图片描述

这里写图片描述

这里写图片描述

语法 module_name.function_name()

  • 8.6.2 导入特定的函数
#导入特定的函数#

导入模块中的特定函数 语法:
from module_name import function_name 

通过用逗号分隔函数名 可根据需要从模块中导入任意数量的函数 语法:
from module_name import function_0 , function_1 , function_2

对于前面 making_pizzas.py为例。如果只想导入任意数量的函数:
from pizza import make_pizza

make_pizza( )
make_pizza( )
  • 8.6.3 使用as给函数指定别名
别名 通用语法:
from module_name import function_name as fn

from pizza import make_pizza as mp
mp( )
mp( )
  • 8.6.4 使用as给模块指定别名
通过给模块指定简短的别名 即可轻松调用模块中的函数
import module_name as mn

import pizza as p
p.make_pizza( )
p.make_pizza( )
  • 8.6.5 导入模块中的所有函数
#使用星号(*)运算符可让Python导入模块中的所有函数

from pizza import *

make_pizza ( )
make_pizza ( )

语法:
from moudle_name import *
  • 8.7 函数编写指南
#函数编写指南

给形参指定默认值时 等号两边不要有空格:
def function_name (parameter_0 , parameter_1 = 'default value')

对于函数调用中的关键字实参 也应遵循这种约定
function_name(value_0 , parameter_1 = 'value')

如果形参很多,可在函数定义中输入左括号后按回车键,
并在下一行按两次Tab键,从而将形参列表和只缩进一层的函数体区分开来
def function_name (
        parameter_0 , parameter_1 , parameter_2 ,
        parameter_3 , parameter_4 , parameter_5 , ):
    function body...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值