Python学习笔记2—内置函数
函数的使用
官方文档:https://docs.python.org/2/library/functions.html
查看帮助
>>> help(abs) Help on built-in function abs in module __builtin__: abs(...) abs(number) -> number Return the absolute value of the argument. (END)
按q退出。
实例:
divmod()
>>> divmod(5,2) #表示5除以2的商和余数 (2, 1) >>> divmod(9,2) (4, 1)
round()
>>> round(3.3456,3) #保留3位小数,进行4舍五入 3.346
raw_input()
类似于bash中的read,注意它的输出都是Str类型的。
>>> name=raw_input("How old are you?") How old are you?15 >>> type(name) <type 'str'> >>> print name 15
ord()
求某个字符对应的ASSIC码值
>>> ord("a") 97 >>> ord("b") 98 >>> ord("A") 65
hasattr()
判断一个对象是否有某一中属性
>>> a=[1,2] >>> hasattr(a,'__iter__') #判断是否可迭代 True >>> hasattr(3,'__iter__') False
range()
>>> range(9) [0, 1, 2, 3, 4, 5, 6, 7, 8] >>> range(1,6,2) [1, 3, 5]
>>> range(0,-9,-1)
[0, -1, -2, -3, -4, -5, -6, -7, -8
enumerate
中文翻译是枚举的意思,
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
lambda
lambda arg1, arg2, ...argN : expression using arguments
>>> lamb = [ lambda x:x,lambda x:x**2,lambda x:x**3,lambda x:x**4 ] >>> for i in lamb: ... print i(3), ... 3 9 27 81
map
map(func,seq)
func 是一个函数,seq 是一个序列对象。在执行的时候,序列对象中的每个元素,按照从左到右的顺序,依次被取出来,并塞入到 func 那个函数里面,并将 func 的返回值依次存到一个 list 中。
>>> items=[1,2,3,4] >>> def sqr(x):return x**2 ... >>> map (sqr,items) [1, 4, 9, 16]
>>> map(lambda x: x**2, items) #使用lambda
[1, 4, 9, 16]
>>> [ x**2 for x in items ] #使用list解析
[1, 4, 9, 16]
reduce
map是上下运算,reduce 是横着逐个元素进行运算。
>>> reduce(lambda x,y: x+y,[1,2,3,4,5]) 15
filter
filter(function, iterable)
>>> numbers = range(-5,5) >>> numbers [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4] >>> filter(lambda x: x>0, numbers) [1, 2, 3, 4]
>>> [x for x in numbers if x>0] #与上面那句等效
[1, 2, 3, 4
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了