2018.4.2日 三元表达式、函数的递归

一、三元表达式:

仅应用于条件成立返回一个值,条件不成立返回一个值。

# name=input('>>:').strip()
# res='sb'if name=='alex' else 'nb'
# def max(x,y):
# return x if x>y else y
# print(max(10,11))
二、函数的递归
函数递归调用:在函数调用过程中又直接或间接的调用了函数本身。
无限循环示例:
# def foo():
# print('form foo')
# foo()
# foo()
递归分两个阶段:
1、回溯
一定要在满足某种情况下结束回溯,否则会无限递归。
2、递推
# 示例
# items=[1,[2,[3,[4,[5,[6,[7,[8,[9,[10,[11,[12,[13,[15,[16,[17,[18,[19,[20,[21,[22,[23,[24]]]]]]]]]]]]]]]]]]]]]]]
# def tell(x):
# for item in x:
# if type(item) is not list:
# print(item)
# else:
# tell(item)
# tell(items)

总结:
1、递归一定要有一个明确的结束条件。
2、每进入下一次递归问题的规模都应减少。
3、在python中没有尾递归优化概念。
三、匿名函数
匿名函数就是没有函数名。一次性使用,随时使用随时定义。
匿名函数主要和一下内置函数同时使用。
语法:lambda x,n:x**n
强调:
1、匿名的函数就是没有名字,给给匿名函数赋给一个名字是没有意义的。
2、匿名函数的参数规则,作用域关系与有名函数是相同的
3、匿名函数的函数体通常应该是一个表达式,该表达式必须有一个返回值。
四、内置函数
需要优先掌握的内置方法:
bytes()
chr()chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
divmod()python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)
enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
eval()eval() 函数用来执行一个字符串表达式,并返回表达式的值。
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
id()查看,值的内存空间地址。
input()接受用户输入。
iter()函数用来生成迭代器
len()方法返回对象(字符、列表、元组等)长度或项目个数
map()cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
max()数据内地最大值。
min()方法返回给定参数的最小值,参数可以为序列。
ord()ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr()
函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,
返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode
字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
sorted()

sort 与 sorted 区别:


sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。


list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。


详细信息:http://www.runoob.com/python/python-built-in-functions.html

 
 
原文地址:https://www.cnblogs.com/yangwei666/p/8694942.html