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是一门面向对象语言,它对类型的要求是不那么严格的,因为在完全面向对象的语言中,一切都是对象. 那么让我们重新 考虑+ - * /等操作,不再拘泥于传统的数 ...
随机推荐
- C#关于多线程的笔记
Thread thNetwork; thNetwork = new Thread(new ThreadStart(GetNetworkInfo));//创建一个线程 thNetwork.Start() ...
- UWP入门(四)--设置控件样式
原文:UWP入门(四)--设置控件样式 官方定义:可以使用 XAML 框架通过多种方式自定义应用的外观. 通过样式可以设置控件属性,并重复使用这些设置,以便保持多个控件具有一致的外观. 可分享至不同e ...
- einsum:爱因斯坦求和约定
在Tensorflow.Numpy和PyTorch中都提供了使用einsum的api,einsum是一种能够简洁表示点积.外积.转置.矩阵-向量乘法.矩阵-矩阵乘法等运算的领域特定语言.在Tensor ...
- 分布式文件系统之MooseFS----介绍
前一段公司因为nfs存储的问题,做了一段时间的调研.最终虽然有nfs高可用方案(nfs+drbd+heartbeat),但是在nfs故障切换的时候会出现 2 分钟左右的延时.这样子...就开始了对分布 ...
- VirtualTreeView控件
很好用的一个列表控件,可以用来代替Delphi自带的ListView和TreeView,而且也一直在更新,目前已经支持最新的XE2 官方网站:http://www.soft-gems.net SVN地 ...
- Linux上整数和浮点数的运算
一:shell中对整数和浮点数的运算 常用的运算符号 加法+ 减法 - 乘法* 除法/ 求余% += -= ...
- Python基础,day2
程序练习 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买 ...
- 【简单脚本】Linux查看配置信息
命令比较多,统一整合了一下: 1.新建文件touch getComputerConf.sh 2.vim getComputerConf.sh 3.按i键插入,右键粘贴如下内容: #!/bin/sh e ...
- zphp源码分析(一)
zphp是一款轻量级的php服务端框架,是swoole官方开发的.可以用来开发web应用和网络服务. 安装: 可以通过composer安装, { "require": { &quo ...
- 记录微信浏览器里word链接点击没反应的bug
有用户反应点击下载附件时没有反应,让用户把该下载链接复制到微信对话框中,发现点击该链接仍然无反应,但是在内置的手机浏览器中打开是正常的而且可以下载. 链接地址,有需要的可以拿去进行测试: http:/ ...