Python标准模块--built-ins函数
1.Python内置函数

2.Python内置函数举例
2.1 数学运算
abs,计算绝对值;
>>> abs(-1)
1
>>> abs(3)
3
round,四舍五入;
>>> round(2.9)
3.0
>>> round(2.45)
2.0
>>> round(-1.2)
-1.0
>>> round(-1.6)
-2.0
pow,计算幂;
>>> pow(2,3)#2**3
8
>>> pow(2,3,5)#2**3%5
3
cmp,比较两个数大小,返回0,表示相等,返回-1;表示左边数值小于右边数值;返回1,表示左边数值大于右边数值;
>>> cmp(2.3,2.3)
0
>>> cmp(2.3,2.4)
-1
>>> cmp(2.3,2.2)
1
divmod,返回除法的结果和余数;
>>> divmod(9,4)
(2, 1)
>>> divmod(9,3)
(3, 0)
max,求最大值;
>>> max([1,2,3,-1,0])
3
min,求最小值;
>>> min([1,2,3,-1,0])
-1
sum,求和;
>>> sum([1,2,3,4,5])
15
2.2 类型转换
int,转换为整数,integer;
>>> int("32")
32
>>> int("-2")
-2
>>> int("-1.2")
Traceback (most recent call last):
File "<input>", line 1, in <module>
int("-1.2")
ValueError: invalid literal for int() with base 10: '-1.2'
float,转换为浮点型,float;
>>> float("-1.2")
-1.2
>>> float("-1.20")
-1.2
>>> float("-0.3")
-0.3
>>> float("1")
1.0
long,转换为长整型,long integer;
>>> long("1234567890")
1234567890L
str,转换为字符串类型,string;
>>> str(123)
'123'
complex,转换为复数类型;
>>> complex(3,2)
(3+2j)
ord,转换为字符对应的数值;
>>> ord('a')
97
chr,转换为字符对应的数值;
>>> chr(97)
'a'
unichr,转换为数值对应的unicode字符;
>>> unichr(97)
u'a'
bool,转换为相应的真假值;
>>> bool(0)
False
>>> bool(1)
True
bin,返回一个字符串,表示一个数值的二进制数;
>>> bin(31)
'0b11111'
hex,返回一个字符串,表示一个一个数值的十六进制数;
>>> hex(31)
'0x1f'
oct,返回一个字符串,表示一个数值的八进制数;
>>> oct(31)
'037'
list,转换为列表;
>>> list((1,2,3,4))
[1, 2, 3, 4]
tuple,转换为定值表;
>>> tuple([1,2,3,4])
(1, 2, 3, 4)
slice,构建下标对象;
>>> a = [1,2,3,4,5]
>>> slices = slice(0,4,2)
>>> a[slices]
[1, 3]
dict,构建词典;
>>> dict(a=1,b=[1,2],c='hello')
{'a': 1, 'c': 'hello', 'b': [1, 2]}
2.3 序列操作
all,所有元素都相当与True;
>>> a = range(0,4)
>>> b = range(1,4)
>>> a
[0, 1, 2, 3]
>>> b
[1, 2, 3]
>>> all(a)
False
>>> all(b)
True
any,是否有任意一个元素相当于True;
>>> a = [0]
>>> b = range(0,4)
>>> a
[0]
>>> b
[0, 1, 2, 3]
>>> any(a)
False
>>> any(b)
True
sorted,返回排序后的序列,默认是递增序列,如果指定reverse为True,则返回递减序列;
>>> a = [1,4,3,2]
>>> sorted(a)
[1, 2, 3, 4]
>>> sorted(a,reverse=False)
[1, 2, 3, 4]
>>> sorted(a,reverse=True)
[4, 3, 2, 1]
reversed,返回反序的序列;
>>> a = [1,4,3,2]
>>> b = [ele for ele in reversed(a)]
>>> b
[2, 3, 4, 1]
2.4 类,对象,属性
hasattr,检查对象是否拥有某个属性;
getattr,返回某属性;
setattr,将对象中的属性设置为新的属性;
delattr,删除对象中的属性;
isinstance,判断对象是否为类生成的对象;
issubclass,判断类是否为某类的子类;
class A(object):
def __init__(self):
# 定义属性value
self.value = [2,3,0]
# 定义属性min,为built-in中的min函数
self.min = min
def getValue(self):
return self.value
def minValue(self):
return self.min(self.value)
# 定义对象Aobject
Aobject = A()
# 获取Aobject所有的属性
print dir(Aobject)
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'getValue', 'min', 'minValue', 'value']
# 判断Aobject是否有value属性
print hasattr(Aobject,"value")
# True
# 获取Aobject的vallue属性
print getattr(Aobject,"value")
# [2, 3, 0]
# 将Aobject的min属性修改为max
setattr(Aobject,"min",max)
# 调用minValue,将会返回列表的最大值
print Aobject.minValue()
# 3
# 删除Aobject的value属性
delattr(Aobject,"value")
# 判断Aobject是否有value属性
print hasattr(Aobject,"value")
# False
# 判断Aobject是否为类A的实例
print isinstance(Aobject,A)
# True
# 判断A是否为object的子类
print issubclass(A,object)
# True
2.5 编译,执行
repr,返回对象的字符串表达式;
class A(object):
def __init__(self):
# 定义属性value
self.value = [2,3,0]
# 定义属性min,为built-in中的min函数
self.min = min
def getValue(self):
return self.value
def minValue(self):
return self.min(self.value)
# 定义对象Aobject
Aobject = A()
b = repr(Aobject)
print b
compile,编译字符串成为code对象;
testCode = compile("for i in range(10): print i,","",'exec')
exec testCode
print ""
testCode2 = compile("3 * 4 + 5",'','eval')
print eval(testCode2)
eval,解释字符串表达式,参数也可以是compile()返回的code对象;
>>> eval("1+3")
4
exec,解释并执行字符串,参数也可以是compile()返回的code对象;
>>> exec("print ('hello world')")
hello world
2.6 其它
input,等待输入;
raw_input,等待输入;
>>> input("please input:")
please input:"sting"
'sting'
>>> raw_input("please input:")
please input:string
u'string'
raw_input()直接读取控制台的输入(任何类型的的输入它都可以接收);
input(),希望能够读取一个合法的python表达式,即你输入字符串的时候,必须使用引号将它括起来,否则会引发一个SyntaxError。
input()本质上还是使用raw_input()函数来实现,只是调用完raw_input()之后,在调用eval()函数,所以,你甚至可以将表达式作为input()的参数,并且它会计算表达式的值并返回它。
除非对input()有特别需要,否则一般情况下我们都是推荐使用raw_input()来与用户交互。
例如,
>>> raw_input("please:")
please:1+2
'1+2'
>>> input("please:")
please:1+2
3
>>> raw_input("please:")
please:'a'
"'a'"
>>> input("please:")
please:'a'
'a'
>>> raw_input("please:")
please:
''
>>> input("please:")
please:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
globals,返回全局命名空间,比如全局变量名,全局函数名;
locals,返回局部命名空间;
3.Reference
Python标准模块--built-ins函数的更多相关文章
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
- Python标准模块--logging
1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...
- Python标准模块--importlib
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python提供了importlib包作为标准库的一 ...
- Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures
参考博客: https://www.cnblogs.com/xiao987334176/p/9046028.html 线程简述 什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线 ...
- python 全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)
昨日内容回顾 线程什么是线程?线程是cpu调度的最小单位进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的 一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的在当 ...
- 【转】Python标准模块--importlib
[转]Python标准模块--importlib 作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 P ...
- Python标准模块--logging(转载)
转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...
- python全栈开发,Day42(Thread类的其他方法,同步锁,死锁与递归锁,信号量,事件,条件,定时器,队列,Python标准模块--concurrent.futures)
昨日内容回顾 线程 什么是线程? 线程是cpu调度的最小单位 进程是资源分配的最小单位 进程和线程是什么关系? 线程是在进程中的一个执行单位 多进程 本质上开启的这个进程里就有一个线程 多线程 单纯的 ...
- Python标准模块--itertools
1 模块简介 Python提供了itertools模块,可以创建属于自己的迭代器.itertools提供的工具快速并且节约内存.开发者可以使用这些工具创建属于自己特定的迭代器,这些特定的迭代器可以用于 ...
- python标准模块(一)
本文会涉及到的模块: time datetime sys os random re hashlib 模块,用若干代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能 ...
随机推荐
- .Net中的AOP系列之构建一个汽车租赁应用
返回<.Net中的AOP>系列学习总目录 本篇目录 开始一个新项目 没有AOP的生活 变更的代价 使用AOP重构 本系列的源码本人已托管于Coding上:点击查看. 本系列的实验环境:VS ...
- Gradle配置APK自动签名完整流程
转载请注明出处:http://www.cnblogs.com/LT5505/p/6256683.html 一.生成签名 1.命令行生成签名,输入命令keytool -genkey -v -keysto ...
- JavaScript Array对象
介绍Js的Array 数组对象. 目录 1. 介绍:介绍 Array 数组对象的说明.定义方式以及属性. 2. 实例方法:介绍 Array 对象的实例方法:concat.every.filter.fo ...
- 在 SAE 上部署 ThinkPHP 5.0 RC4
缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...
- netty5 HTTP协议栈浅析与实践
一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的 ...
- Nginx如何处理一个请求
看了下nginx的官方文档,其中nginx如何处理一个请求讲解的很好,现在贴出来分享下.Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听 ...
- 关于.NET参数传递方式的思考
年关将近,整个人已经没有了工作和写作的激情,估计这个时候很多人跟我差不多,该相亲的相亲,该聚会喝酒的聚会喝酒,总之就是没有了干活的心思(我有很多想法,但就是叫不动我的手脚,所以我只能看着别人在做我想做 ...
- ResponsibleChain(责任链模式)
/** * 责任链模式 * @author TMAC-J * 老板讲任务交给CTO,CTO自然不会亲自去做,又把人物分配给项目经理,项目经理再把任务分配给组长,组长再分配给个人 * 如果中途哪个环节出 ...
- Mysql - 增删改
因为项目原因, mysql用了两年了, 但是一直都未曾去总结过. 最近也是领导让总结项目, 才想起把mysql的使用小结一下. 一. Create 1. 单条插入, sql格式: insert int ...
- samba服务
安装samba服务步骤ps -e 查看进程ps -e | grep 文件名 管道符的使用rpm -qa 安装包的查看rpm -qa | grep samba 抓Samba安装包 注释:包与包之间有依赖 ...