python函数知识三 函数名的使用、格式化、递归
12.函数名的使用
函数是第一类对象
- 函数名可以当做值被赋值给变量
def func():
print(1)
return
a = func
print(func)
print(a)
a()
- 函数名可以当做元素存放在容器中:
def func():
print(1)
return
lst = [func,func,func]
for i in lst():
i()
- 函数名可以当做函数的参数
def func(f):
f()
return
def foo():
print(123)
return
func(foo)
- 函数名可以当做函数的返回值
def func():
def foo():
print(123)
return
return foo
a = func()
a()
13.格式化f:
python3.6版本及以上可以使用
#填充字符串
s = f"你好{'啊'}"
s1 = F"你好{'a'}"
print(s)
print(s1)
#填充变量
s = "不去"
s2 = f"我去{s}"
#填充计算公式
s1 = f"{35+15}"
print(s1)
#填充表达式
a = 10
b = 20
s1 = f"{a if a>b else b}"
print(s1)
#填充大括号
s1 = f"{{{{{'我勒个去'}}}}}"#每两个显示一个
print(s1)
#{}大括号内可以放{},int,方法,函数,list,str,字典值
#{}内不可放符号,要用引号引起来
s1 = f"{{}{}{}{}}"
print(s1)
s1 = f"{print(123)}"
print(s1)
14.递归:
特点:不断调用自己本身
- 死递归 -- 不断调用自己
- 有明确的终止条件
满足以上两个条件是有效递归
递:一直执行
归:从结束开始往回退
官方声明:最大层次 1000,实际测试998/997
def func():
print(123)
func()
func()
#猜数:
'''
1.宝元 18-2-2-2
2.太白 18-2-2
3.wusir 18-2
4.alex 18
'''
def age(n):
if n == 4:
return 18
else:
return age(n+1)-2
print(age(1))
#分布解析:
def age4(n):
if n == 4:
return 18
def age3(n):
if n == 4:
return 18
else:
return age4(n+1)-2
def age2(n):
if n == 4:
return 18
else:
return age3(n+1)-2
def age1(n):
if n == 4:
return 18
else:
return age2(n+1)-2
print(age(1))

可变数据类型默认参数的坑:
def func(a,lst = []):
lst.append(a)
return lst
lst1 = func(10)
lst2 = func(123,[])
lst3 = func('aaa')
print(lst1)
print(lst2)
print(lst3)
'''
结果:
[10,'aaa']
[123]
[10,'aaa']
'''
python函数知识三 函数名的使用、格式化、递归的更多相关文章
- Python基础知识(三)
Python基础知识(三) 一丶整型 #二进制转成十进制的方法 # 128 64 32 16 8 4 2 1 1 1 1 1 1 1 例如数字5 : 101 #十进制转成二进制的方法 递归除取余数,从 ...
- Python基础知识:函数
1.定义函数和调用函数 #定义函数def def greet_user(username): '''简单的问候语''' print('Hello,%s!'%username) greet_user(' ...
- python基础知识6——函数
函数:自定义函数:函数的参数:不带参数,普通参数,默认参数,动态参数:返回值return:函数作用域:内置函数高阶函数:map,reduce,filter,sorted:lambda表达式:文件操作: ...
- python学习笔记三 函数(基础篇)
函数 内置函数 常用的内建函数: type() 列出指定对象的类型 help() 能够提供详细的帮助信息 dir() 将对象的所有特性列出 vars() 列出当前模块的所有变量 file, ...
- python函数知识一 函数初始、定义与调用、返回值、参数和函数的好处+菜中菜
第四章 函数 1.函数初识: def :关键字 -- 定义 函数名:和变量的定义方式一样 (): 用于参数传递,: 形参:函数的定义中()内的是形参 实参:调用的()内是实参 传参:调用时将实参传递给 ...
- python基础知识(函数2)
返回值 return return[value] 多个值用,逗号分开,没有返回值,会返回none值,函数不给指定返回值也会返回none值 def functionname(p1,p2,p3): re ...
- python基础知识(函数)
创建函数 def 函数名(可以选参数): 可选参数 ''' ''' 用三引号括起来的注释 说明功能和参数信息 可选参数指定函数体 执行函数程序代码 创建一个空函数 def empty(): p ...
- 深入理解python(四)python基础知识之函数
函数部分 函数部分大概想分成两个部分来讲,第一部分是关于对函数参数的介绍,第二部分是局部变量全局变量和内置变量也就是变量作用域的LGB原则 函数的参数 1.关于形参和实参的问题 第一点要注意的是pyt ...
- python基础知识三
在考虑它们的运算时,一定要想到python是一门面向对象语言,它对类型的要求是不那么严格的,因为在完全面向对象的语言中,一切都是对象. 那么让我们重新 考虑+ - * /等操作,不再拘泥于传统的数 ...
随机推荐
- Delphi 编写ActiveX控件(OCX控件)的知识和样例(有详细步骤)
一.ActiveX应用情况简介: ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分.ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32 ...
- qt sql事务操作
事务是数据库的一个重要功能,所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位.在Qt中用transaction()开始一个事务操作,用commit()函数或 ...
- 亿方云(用电话或者qq沟通是远远不够的,容易忘还不能反复催,最好的方式就是指定一个平台,团队内的人定期查看最新记录)
作者:城年链接:http://www.zhihu.com/question/20579359/answer/106319200来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新,文字发完后,好 ...
- 【Web前端Talk】无聊吗?写个【飞机大战】来玩吧(下篇)
上一篇介绍了如何使用cocos creator开发游戏,此篇是详细介绍功能点以及如何部署打包至微信小游戏体验. 欢迎关注我们的公众号:Web前端Talk.前端文章持续更新. 资源管理制作 1.准备工具 ...
- python发送邮件554DT:SPM已解决
说明:本例使用163邮箱 一.报错信息 使用SMTP发送邮件遇到以下报错: 554, b'DT:SPM 163 smtp10,DsCowACXeOtmjRRdsY8aCw--.21947S2 1561 ...
- 进程以及进程通信(IPC)类型
这里用我有限的知识来解释同时参考了一些其他博主的子类,希望能给与一部分入门的朋友一个清晰的理解,有问题之处还请指出 首先简单谈一下什么是进程? 答:进程是装入内存运行的程序段,是许多的系统对象拥有权的 ...
- kubernetes实战篇之为默认账户创建镜像拉取密钥
系列目录 上一节我们分别使用纯文本账户密码和docker的config文件一创建一个kubernetes secret对象,并且把它添加到containers的imagePullSecrets字段用以 ...
- spring 5.x 系列第2篇 —— springmvc基础 (代码配置方式)
文章目录 一.搭建hello spring工程 1.1 项目搭建 1.2 相关注解说明 二.配置自定义拦截器 三.全局异常处理 四.参数绑定 4.1 参数绑定 4.2 关于日期格式转换的三种方法 五. ...
- C# RESTful API 访问辅助类
REST 全称是 Representational State Transfer,有人说它是一种风格,并非一种标准,个人觉得挺有道理.它本身并没有创造新的技术.组件与服务,更像是告诉大家如何更好地使用 ...
- Ace-Admin框架-首页(一)
ACE-Admin是一个强大的后台模板框架,看起来非常漂亮,但是每个页面内容太多,看起来不知道怎么修改,现在来对首页进行主要内容改装,将不需要的内容都给删除,然后就只剩下一个框架,在开发中,我们就完全 ...