您的位置:首页 > 其它

续第八章

2018-04-04 16:59 176 查看

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

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...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: