程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

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

发布于2019-08-06 11:00     阅读(475)     评论(0)     点赞(2)     收藏(4)


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']
'''
    



所属网站分类: 技术文章 > 博客

作者:磨子舒

链接:https://www.pythonheidong.com/blog/article/8057/4c65061d291425c33b34/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)