[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快速教程 - 基础篇 给深度 ...
随机推荐
- 【javascript类库】zepto和jquery的md5加密插件
[javascript类库]zepto和jquery的md5加密插件 相信很多人对jQuery并不陌生,这款封装良好的插件被很多开发者使用. zepto可以说是jQuery在移动端的替代产品,它比jQ ...
- 在Windows Server 2012中搭建SQL Server 2012故障转移集群
OK~ WSFC 2012 R2 年度盛宴开始~ 在本文中,老王将用一系列的场景,把动态仲裁,动态见证,票数调整,LowerQuorumPriorityNodeID,阻止仲裁等群集仲裁技术串起来,完成 ...
- 微信 Android版隐藏功能代码
- AutoHotKey设置ide的光标功能键
CapsLock:: SetCapsLockState,off ;锁定为小写 CapsLock & d:: flag_C=1 ;小写d代替control键,实现跨词移动CapsLock &am ...
- cv2.Laplacian 模糊判断
简介 cv2.Laplacian是用来判断图像模糊度的 函数原型 dst = cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta ...
- 【转】Java8学习笔记(1) -- 从函数式接口说起
http://blog.csdn.net/zxhoo/article/details/38349011 函数式接口 理解Functional Interface(函数式接口,以下简称FI)是学习Jav ...
- ubuntu18.04 安装五笔拼音
sudo apt install fcitx-table-wubi fcitx-table-wbpy 在输入法中加入五笔拼音就可以了,如果原来使用的是ibus, 改为fcitx后,重启机器.
- Mybatis学习记录(1)
1.Mybatis介绍 Mybatis是apache的一个开源项目iBatis,Mybatis是一个优秀的持久层框架,他对jdbc的操作数据库的过程进行封装,使开发者只需要关注sql本身,不需 ...
- C# 替换去除HTML标记方法(正则表达式)
[from] http://blog.csdn.net/sgear/article/details/6263848/// <summary> /// 将所有HTML标签替换成"& ...
- oracle中print_table存储过程实例介绍
oracle中pro_print_table存储过程实例介绍 存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.这 ...