[python学习篇][书籍学习][python standrad library][内建函数]之[all,any,basestring,isinstance,bin,bool,@classmethod,@staticmethod,cmp,enumerate
Python 解释器内置了一些函数,它们总是可用的。这里将它们按字母表顺序列出。
all(iterable)
如果iterable的所有元素为真(或者iterable为空), 返回True。
如果iterable的所有元素为真(或者iterable为空), 返回True。等同于:
def all(iterable):
for element in iterable:
if not element:
return False
return True
>>> help(all)
Help on built-in function all in module __builtin__: all(...)
all(iterable) -> bool Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True. >>> listMy = ['abc','abd']
>>> all(listMy)
True
>>> listMy.append(False)
>>> all(listMy)
False
any(iterable)
如果iterable的任一元素为真,返回True。如果iterable为空,返回False。
>>> listMy = ['abc','abd']
>>> any(listMy)
True
>>> listMy.append(False)
>>> any(listMy)
True
basestring() 用来测试一个对象是否为字符串或者u字符串
这个抽象类型是str和unicode的超类。 它不能被调用或者实例化,但是可以用来测试一个对象是否是str或者unicode的实例。 isinstance(obj, basestring)等同于isinstance(obj, (str, unicode))。
>>> isinstance(listMy, basestring)
False
>>> isintance('abc', basestring) Traceback (most recent call last):
File "<pyshell#24>", line , in <module>
isintance('abc', basestring)
NameError: name 'isintance' is not defined
>>> isinstance('abc', basestring)
True
>>> isinstance(u"准哦功能", basestring)
True
>>> isinstance(, basestring)
False
bin(x),
将一个整数转化成一个二进制字符串。结果是一个合法的Python表达式。如果x不是一个Python int对象,它必须定义一个返回整数的__index__()方法。
bool([x])
将一个值转化成布尔值,使用标准的真值测试例程。如果x为假或者没有参数,它返回False;否则它返回True。bool也是一个类,它是int的子类。bool不能被继承。它唯一的实例就是False和True。
>>> bin()
'0b10'
>>> bin()
'0b100'
>>> bool()
True
>>> bool()
True
chr(i)
返回一个单字符字符串,字符的ASCII码为整数i。例如,chr(97)返回字符串'a'。 它是ord()的逆运算。参数的取值范围为[0..255]的闭区间;如果i超出取值范围,抛出ValueError。参见unichr()。
>>> chr()
'a'
>>> ord('a')
classmethod(function)
将function包装成类方法。
类方法接受类作为隐式的第一个参数,就像实例方法接受实例作为隐式的第一个参数一样。声明一个类方法,使用这样的惯例:
class C(object):
@classmethod
def f(cls, arg1, arg2, ...):
...
@classmethod是函数decorator(装饰器)参见Function definitions中的函数定义。
它即可以通过类来调用(如C.f()),也可以通过实例来调用(如C().f())。除了实例的类,实例本身被忽略。如果在子类上调用类方法,子类对象被传递为隐式的第一个参数。
类方法不同于C++或Java中的静态方法。如果你希望静态方法,参见这节的staticmethod()。
#coding=utf-
class C(object):
@classmethod
def f(cls, arg1, arg2):
print arg1,arg2 C.f(,)
C().f(,) #
#
staticmethod(function)
返回function的一个静态方法。
静态方法不接受隐式的第一个参数(也就是实例名称self)。要声明静态方法,请使用下面的习惯方式:
class C(object):
@staticmethod
def f(arg1, arg2, ...):
...
@staticmethod形式是一个函数装饰器 – 细节请参阅函数定义中函数定义的描述。
它既可以在类上调用(例如C.f())也可以在实例上调用(例如C().f())。除了它的类型,实例其他的内容都被忽略。
#coding=utf-
class C(object):
@staticmethod
def s(arg1, arg2):
print arg1,arg2 C.s(,)
C().s(,) #
#
cmp(x, y)
比较两个对象x和y,根据结果返回一个整数。如果x < y,返回负数;如果x == y,返回0;如果x > y,返回正数。
>>> cmp('a','b')
-
>>> cmp(,)
-
>>> cmp('a',)
>>> lista=[,]
>>> listb=[]
>>> cmp(lista,listb)
-
>>> cmp(1.20,1.22)
-
>>> cmp(1.23,1.2)
enumerate(sequence, start=0)
返回一个枚举对象。sequence必须是序列或迭代器iterator,或者支持迭代的对象。enumerate()返回的迭代器的next()方法返回一个元组,它包含一个计数(从start开始,默认为0)和从sequence中迭代得到的值:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(, 'Spring'), (, 'Summer'), (, 'Fall'), (, 'Winter')]
>>> list(enumerate(seasons, start=))
[(, 'Spring'), (, 'Summer'), (, 'Fall'), (, 'Winter')]
等同于: def enumerate(sequence, start=):
n = start
for elem in sequence:
yield n, elem
n +=
isinstance(object, classinfo)
如果参数object 是参数classinfo 的一个实例;或者是其一个(直接的、间接的或者virtual)子类的实例,返回真。如果classinfo是类型对象(新式类)而object是该类型对象;或者是其子类(直接的,间接的,或者virtual),返回真。如果object不是给定类型的类实例或者对象,该函数总是返回假。如果classinfo既不是类对象,也不是类型对象,它可以是类/类型对象的元组,或者递归包含这样的元组(不接受其它的序列类型)。如果classinfo不是类,类型,类/类型的元组,抛出TypeError异常。
issubclass(class, classinfo)
如果class是classinfo的子类(直接的,间接的,或者virtual) ,返回真。一个类被认为是它自己的子类。classinfo可以是类对象的元组,这时classinfo中的每个类对象都会被检查。其它情况下,抛出TypeError异常。
[python学习篇][书籍学习][python standrad library][内建函数]之[all,any,basestring,isinstance,bin,bool,@classmethod,@staticmethod,cmp,enumerate的更多相关文章
- [python学习篇][书籍学习][python standrad library][内建函数]之[list,open,len,pow,range,
Python 解释器内置了一些函数,它们总是可用的.这里将它们按字母表顺序列出. Built-in Functions abs() divmod() input() open() st ...
- [python学习篇][书籍学习][python standrad library][内建类型]迭代器类型
我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list.tuple.dict.set.str等:一类是generator,包括生成器和带yield的generato ...
- [python学习篇][书籍学习][python standrad library][内建类型]之数值
数值类型 — int, float, long, complex 有四种不同的数值类型:普通整数.长整数.浮点数和复数 普通整数(或者简称整数)使用C中的long实现,其精度至少为32位(sys.ma ...
- [python学习篇][书籍学习][python standrad library][内置类型]对象测试真值,布尔值操作, 比较操作
几乎所有对象都可以比较.测试真值.转换为字符串(其实就是用repr()函数,或略有差异的str()函数来转换) 1 对象是否为真 任何对象都可以测试真值,用于if或while的条件或下面布尔运算的操作 ...
- python基础篇_001_初识Python
一.Python环境 windows环境安装Python步骤 .下载安装包:https://www.python.org/downloads/windows/ .安装:默认安装路径:C:\pytho ...
- [python学习篇][系统学习][1]python标准库中文、英文网址(一些内建函数,标准库都可以在这里查找)
http://docspy3zh.readthedocs.io/en/latest/library/ 半中文网址 http://usyiyi.cn/translate/python_278/lib ...
- Python进阶篇四:Python文件和流
摘要: Python对于文件和流的操作与其他编程语言基本差不多,甚至语句上比其他语言更为简洁.文件和流函数针对的对象除了这两者之外还有,类文件(file-like),即python中只支持读却不支持写 ...
- Python开发篇——构建虚拟Python开发环境(Conda+Poetry)
前言 之前虽略有提及Python,但是没有实际地写点料.惭愧,惭愧,所以这次先起个头,讲讲如何构建虚拟Python开发环境.相信之前看过我博客的人可能会想:博主不会又要聊聊Docker吧?放心,不会. ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
随机推荐
- 【extjs6学习笔记】1.6 初始:本地化
app.json中修改
- IT圈网红,抢鲜围观
即将于2017年10月23-26日,在北京举办的微软技术暨生态大会,是微软中国年度最盛大的科技峰会,是微软技术大会与合作伙伴大会的首次联袂,也是聚集众多IT大咖的技术狂欢派对. 无论你想实现现代化工作 ...
- POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
题意: 用一个2*1的骨牌来覆盖一个n*m的矩形,问有多少种方案?(1<=n,m<=11) 思路: 很经典的题目,如果n和m都是奇数,那么答案为0.同uva11270这道题. 只需要m个b ...
- CDOJ 485 UESTC 485 Game (八数码变形,映射,逆cantor展开)
题意:八数码,但是转移的方式是转动,一共十二种,有多组询问,初态唯一,终态不唯一. 题解:初态唯一,那么可以预处理出012345678的所有转移情况,然后将初态对012345678做一个映射,再枚举一 ...
- 多线程程序设计-Thread的一些方法
run():是程序中会和会和其他线程“同时”执行的部分. wait():使得当前线程进入等待状态,等待的线程不会主动进入到线程队列中排队等待cpu资源,必须由其他线程调用notify()方法通知它 ...
- Cross-Entropy Loss 与Accuracy的数值关系(很重要,很好的博客)
http://www.cnblogs.com/dengdan890730/p/6132937.html
- oracle 命中率
一般在I/O 使用中,为了提高系统处理速度,系统提前将数据读入一块内存区,叫高速缓存,但提前读入的数据未必就是需要的,这就是命中率..计算公式为 命中率=1-(physical reads/(db b ...
- 【转】如何在VC下检测当前存在的串口及串口热拔插
当我们在用VS进行串口编程时,在打开串口前,经常想知道当前PC上存在多少个串口,哪些串口可用?哪些串口已经打开了,最好是在一个Combo Box中列表系统当前所有可用的串口以供选择,然而如何获取系统当 ...
- 控件中添加的成员变量value和control的区别
control型变量是这个控件所属类的一个实例(对象)可以通过这个变量来对该控件进行一些设置.而value只是用来传递数据,不能对控件进行其它的操作.control型变量可以获得控件的实例,通过这个变 ...
- 批量ping IP并检测IP延迟率和丢包率脚本
脚本文件如下: #!/bin/bash #Author:Mr.Ding #Created Time:2018-08-26 07:23:44 #Name:ping.sh #Description: sh ...