首页 > 编程语言 > 详细

python函数知识三 函数名的使用、格式化、递归

时间:2019-07-19 22:16:55      阅读:91      评论:0      收藏:0      [点我收藏+]

12.函数名的使用

函数是第一类对象

  1. 函数名可以当做值被赋值给变量
def func():
    print(1)
    return
a = func
print(func)
print(a)
a()
  1. 函数名可以当做元素存放在容器中:
def func():
    print(1)
    return
lst = [func,func,func]
for i in lst():
    i()
  1. 函数名可以当做函数的参数
def func(f):
    f()
    return
def foo():
    print(123)
    return
func(foo)
  1. 函数名可以当做函数的返回值
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.递归:

特点:不断调用自己本身

  1. 死递归 -- 不断调用自己
  2. 有明确的终止条件

满足以上两个条件是有效递归

递:一直执行

归:从结束开始往回退

官方声明:最大层次 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函数知识三 函数名的使用、格式化、递归

原文:https://www.cnblogs.com/Onlywang/p/11215920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!