python小结
Posted aleimu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python小结相关的知识,希望对你有一定的参考价值。
c:\\python33添加到你的PATH 环境变量中,你可以在DOS 窗口中 输入以下命令:set path=%path%;C:\\python33 id() 方法的返回值就是对象的内存地址。 在#! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码。 # -*- coding: encoding -*- sys.modules[\'模块名\'] 查看模块的文件位置 sys.prefix 查看python的安装位置 import builtins dir(builtins) help(sequence) #sequence在python不是一种特定的类型,而是泛指一系列的类型。 #!/usr/bin/env python3 元类用来处理类,并且类用来处理实例 #取下标 >>> 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\')] #查看内置函数 >>> import builtins >>> dir (builtins) [\'ArithmeticError\', \'AssertionError\', \'AttributeError\', \'BaseException\', \'BufferError\', \'BytesWarning\', \'DeprecationWarning\', \'EOFError\', \'Ellipsis\', \'EnvironmentError\', \'Exception\', \'False\', \'FloatingPointError\', \'FutureWarning\', \'GeneratorExit\', \'IOError\', \'ImportError\', \'ImportWarning\', \'IndentationError\', \'IndexError\', \'KeyError\', \'KeyboardInterrupt\', \'LookupError\', \'MemoryError\', \'NameError\', \'None\', \'NotImplemented\', \'NotImplementedError\', \'OSError\', \'OverflowError\', \'PendingDeprecationWarning\', \'ReferenceError\', \'RuntimeError\', \'RuntimeWarning\', \'StopIteration\', \'SyntaxError\', \'SyntaxWarning\', \'SystemError\', \'SystemExit\', \'TabError\', \'True\', \'TypeError\', \'UnboundLocalError\', \'UnicodeDecodeError\', \'UnicodeEncodeError\', \'UnicodeError\', \'UnicodeTranslateError\', \'UnicodeWarning\', \'UserWarning\', \'ValueError\', \'Warning\', \'WindowsError\', \'ZeroDivisionError\', \'__build_class__\', \'__debug__\', \'__doc__\', \'__import__\', \'__name__\', \'__package__\', \'abs\', \'all\', \'any\', \'ascii\', \'bin\', \'bool\', \'bytearray\', \'bytes\', \'chr\', \'classmethod\', \'compile\', \'complex\', \'copyright\', \'credits\', \'delattr\', \'dict\', \'dir\', \'divmod\', \'enumerate\', \'eval\', \'exec\', \'exit\', \'filter\', \'float\', \'format\', \'frozenset\', \'getattr\', \'globals\', \'hasattr\', \'hash\', \'help\', \'hex\', \'id\', \'input\', \'int\', \'isinstance\', \'issubclass\', \'iter\', \'len\', \'license\', \'list\', \'locals\', \'map\', \'max\', \'memoryview\', \'min\', \'next\', \'object\', \'oct\', \'open\', \'ord\', \'pow\', \'print\', \'property\', \'quit\', \'range\', \'repr\', \'reversed\', \'round\', \'set\', \'setattr\', \'slice\', \'sorted\', \'staticmethod\', \'str\', \'sum\', \'super\', \'tuple\', \'type\', \'vars\', \'zip\']
Python3常用内置函数{ #数学相关 abs(a) : 求取绝对值。abs(-1) max(list) : 求取list最大值。max([1,2,3]),max(1,2,3,4),max((1,2,3,4)),max({1,2,3,4}) min(list) : 求取list最小值。min([1,2,3]),同上 sum(list) : 求取list元素的和。 sum([1,2,3]) >>> 6 ,sum((1,2,3,4)),sum({1,2,3,4}) sorted(list) : 排序,返回排序后的list。sorted({1,6,3,4}),sorted((1,6,3,4)),sorted([1,6,3,4]) len(list) : list长度,len([1,2,3]) divmod(a,b): 获取商和余数。 divmod(5,2) >>> (2,1) pow(a,b) : 获取乘方数。pow(2,3) >>> 8 round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) >>> 3.14 range(a[,b]) : 生成一个a到b的数组,左闭右开。 range(1,10) >>> [1,2,3,4,5,6,7,8,9] #类型转换 int(str) : 转换为int型。int(\'1\') >>> 1 float(int/str) : 将int型或字符型转换为浮点型。float(\'1\') >>> 1.0 str(int) : 转换为字符型。str(1) >>> \'1\' bool(int) : 转换为布尔类型。 str(0) >>> False str(None) >>> False bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes(\'abc\', \'utf-8\') >>> b\'abc\' bytes(u\'爬虫\', \'utf-8\') >>> b\'\\xe7\\x88\\xac\\xe8\\x99\\xab\' list(iterable) : 转换为list。 list((1,2,3)) >>> [1,2,3] iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) >>> <list_iterator object at 0x0000000003813B00> dict(iterable) : 转换为dict。 dict([(\'a\', 1), (\'b\', 2), (\'c\', 3)]) >>> {\'a\':1, \'b\':2, \'c\':3} enumerate(iterable) : 返回一个枚举对象。 tuple(iterable) : 转换为tuple。 tuple([1,2,3]) >>>(1,2,3) set(iterable) : 转换为set。 set([1,4,2,4,3,5]) >>> {1,2,3,4,5} set({1:\'a\',2:\'b\',3:\'c\'}) >>> {1,2,3} hex(int) : 转换为16进制。hex(1024) >>> \'0x400\' oct(int) : 转换为8进制。 oct(1024) >>> \'0o2000\' bin(int) : 转换为2进制。 bin(1024) >>> \'0b10000000000\' chr(int) : 转换数字为相应ASCI码字符。 chr(65) >>> \'A\' ord(str) : 转换ASCI字符为相应的数字。 ord(\'A\') >>> 65 #相关操作 eval() : 执行一个表达式,或字符串作为运算。 eval(\'1+1\') >>> 2 exec() : 执行python语句。 exec(\'print("Python")\') >>> Python filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x>3, [1,2,3,4,5,6]) >>> <filter object at 0x0000000003813828> map(func, *iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) >>> [6,8,10] zip(*iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) >>> [(1, 4), (2, 5), (3, 6)] type():返回一个对象的类型。 id(): 返回一个对象的唯一标识值。 hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash(\'python\') >>> 7070808359261009780 help():调用系统内置的帮助系统。 isinstance():判断一个对象是否为该类的一个实例。 issubclass():判断一个类是否为另一个类的子类。 globals() : 返回当前全局变量的字典。 next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。 reversed(sequence) : 生成一个反转序列的迭代器并返回。 reversed(\'abc\') >>> [\'c\',\'b\',\'a\'] ,list(reversed([1,2,3,4,5])),list(reversed((1,2,3,4,5))) }
作用域-LEGB ##LEGB 法则,具体如下: 包含局部命名的使用域在最里面,首先被搜索;其次搜索的是中层的作用域,这 里包含了同级的函数;最后搜索最外面的作用域,它包含内置命名。 global 语句用以指明某个特定的变量为全局作用域,并重新绑定它。 nonlocal 语 句用以指明某个特定的变量为封闭作用域,并重新绑定它。 global s 指定当前作用域里面的s是全局的,不影响其他的作用域 在函数中定义和修改全局变量,需要使用global关键字。 但访问全局变量(不修改它的值),可以省略global关键字。 当在函数中使用未确定的变量名时,Python 搜索 4 个作用域: 本地作用域(L) 之后是上一层嵌套结构中 def 或 lambda 的本地作用域(E) 之后是全局作用域(G) 最后是内置作用域(B) 按这个查找原则,在第一处找到的地方停止。如果没有找到,Python 会报错的。 #如果在函数内部对该变量进行了赋值操作,无论是在引用该变量之前还是在引用该变量之后,那么对于该函数来说,此变量是一个局部变量。 如果在函数内部从未对该变量进行赋值操作,那么对于该函数来说,此变量是一个全局变量。 在同一个源文件中,全局变量和局部变量同名时,在局部变量的作用范围内,全局变量不起作用,局部变量与全局变量同名时,在局部变量使用的函数范围内,需要先定义局部变量后使用,如下: global语句的作用是将某些变量声明为全局变量,当关键词global后面跟随多个变量名称时,各名称之间要用逗号分隔开来。 a=1 def m(): print a a=2 #上例中是错误示范,报错UnboundLocalError: local variable \'a\' referenced before assignment def n(): a=2 print a 上例为正确示范,但a=2还是局部变量,不会改变全局变量a=1的值 函数中与全局变量重名的变量的作用域做一个更加全面的总结: #如果在函数内部对该变量进行了赋值操作,无论是在引用该变量之前还是在引用该变量之后,那么对于该函数来说,此变量是一个局部变量。 #如果在函数内部从未对该变量进行赋值操作,那么对于该函数来说,此变量是一个全局变量。 #如果该变量用global语句声明为全局变量,那么无论是否对其进行了赋值操作,该变量都将作为全局变量。
以上是关于python小结的主要内容,如果未能解决你的问题,请参考以下文章