函数和代码复用(五)

PythonMOOC学习笔记(五)

Python语言程序设计
北京理工大学 嵩天等
http://Python123.io 练习编程

第四周(函数和代码复用)

  1. 函数的定义和使用
def <函数名>(<参数(0个或多个)>):
	<函数体>
	return <返回值>
  1. 可选参数传递
def <函数名>(<非可选参数>, <可选参数>):
	<函数体>
	return <返回值>
def fact (n, m=1): #如果不输入m,m默认为1
  <函数体>
  return <返回值>
  1. 可变参数传递
def <函数名>(<参数>, *b):
  <函数体>
  return <返回值>
def fact(n, *b):
	s = 1
	for i in range(1,n+1):
		s *= i
	for item in b:
		s *= item
	return s
>>> fact(10,3)
>10886400
>>> fact(10,3,5,8)
>435456000
  1. 参数传递的两种方式:(1):位置传递(2):名称传递
    >>> fact(10,5) #位置传递
    >>> fact(m=5,n=10) #名称传递
  2. 函数的返回值:return 可有可无,return 可返回0个或多个值
>>> fact(10,5)
>(725760,10,5) #元组类型
>>>a,b,c = fact(10,5)
>>>print(a,b,c)
>725760 10 5
  1. 局部变量和全局变量 global
    规则1:局部变量和全局变量是不同变量
    规则2:局部变量为组合数据类型且未创建,等同于全局变量
ls = ["F", "f"] #通过使用 [] 真实创建了一个全局变量列表 ls
def func(a):
	ls.append(a) #此处 ls 是列表类型,未真实创建,则等同于全局变量
	return
func("C") #全局变量被修改
printf(ls)
运行结果
['F', 'f', 'C']
  1. lambda 函数 <函数名> = lambda <参数>: <表达式>
    等同于
def <函数名>(<参数>):
	<函数体>
	return <返回值>

>>>f = lambda x, y : x+y
>>> f(10,15) 输出 25
>>>f = lambda : "函数"
>>>print(f()) 输出 函数

  1. 代码复用与函数递归
  2. 递归的定义:函数定义中调用函数自身的方式
    两个关键特征:链条,计算过程存在递归链条;基例,存在一个或多个不需要再次递归的基例。
    函数+分支语句
def fact(n):
	if n==0:
		return 1
	else:
		return n*fact(n-1)
def rvs(s):
	if s=="":
		return s
	else:
		return rvs(s[1:])+s[0]
  1. Pyinstaller库基本介绍 将.py源代码转换成无需源代码的可执行文件
  2. cmd命令行 pip install pyinstaller
  3. (cmd命令行)pyinstaller -F <文件名.py>
    在这里插入图片描述
    例子:pyinstaller -i curve.ico -F SevenDigitsDrawV2.py
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值