学习《python编程从入门到实践》笔记 埃里克.马瑟斯
表达式
def function_name(形参)
……
function_name(实参)
如果函数有默认值,在定义函数时,首先列出没有默认值的形参,然后再列出有默认值的形参,这样在调用的时候才不会出错 。
关于默认值:有默认值且没输入实参,则会输出默认结果;有默认值但是重新定义,则会输出新定义的结果。
在函数编写时,一定要善于给定描述性名称,方便自己理解和他人阅读
每个函数下面应附带注释,对于函数功能以及参数定义及取值进行描述
如何让实参变为可以选择的变量?
默认值为空白+函数表达式中加入判断
返回字典
关于函数返回的是什么,我认为主要1.看你的形参
设置的是啥;2.看你最后return
的是啥
中间的代码就是帮你把形参和你最后想要输出的东西联系起来,因此想要返回字典,就将形参
保存到字典中,并且在return
的时候返回字典
input获取变量及其终止条件
在fuction中只包含少量关于变量处理的原理性运算
至于关于从input中获取变量、利用循环使过程重复进行、终止条件、调用函数中的值的过程全部都是在while循环中实现
def get_name(first,last):
full=f"{first}{last}"
return full
#函数中仅包含少量有效的原理性运算,且返回一个处理后的结果
while True:
print("please give me your name")
print("enter'q' if you want to quit")
first = input("please give me you first name")
if first=="q":
break
last = input("please give me you last name")
if last=="q":
break
full1=get_name(first,last)
print(full1)
#如何从用户手中获取数据以及如何终止运算全部在while循环中得以实现
传递任意数量的参数和关键字实参
传递任意数量的参数,表达式:def(size, *toppings):
在*toppings
创建一个空元组用于存储信息
传递任意数量的关键字实参,表达式:def(first,last,**user_info)
在**user_info
中存储键值对
导入模块内函数的方法 & 给函数、模块指定别名(as)
在主函数中有三种导入函数的方法
第一种:import module_name as mn
注意:引入的是整个py文件的名字,而非其中function
的名字
import function_practice as f
pizza1=function_practice.make_pizza(19,"fruit")
第二种:from module_name import function_name as fn
from function_practice import make_pizza as mp
make_pizza(19,"fruit")
第三种:from module_name import *
不建议使用这种引用方法
理由:这里默认引入module中的所有function,如果该module非原创,其中可能包含与你所写function名称相同的function,导致系统引用错乱