Python开发【第五篇】内置函数
abs()
函数返回数字的绝对值
__author__ = "Tang" a = -30
print(abs(a))#
all()
函数用于判断给定的可迭代参数iterable中的所有元素是否都为True,如果是则返回True,否则返回False
如果iterable的所有元素不为0、''"、False或者iterable为空,all(iterable)返回True,否则返回False;注意 空列表 空元组 空字典 空字符串是True
__author__ = "Tang" a = all([1,0])
print(a) # False a = all([1,False])
print(a) # False a = all(["",1])
print(a) # False a = all([])
print(a) # True a = all(())
print(a) # True a = all({})
print(a) # True a = ""
print(all(a)) # True
any()
函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true
__author__ = "Tang" a = any([1,0])
print(a) # True a = any([1,False])
print(a) # True a = any(["",1])
print(a) # True a = any([])
print(a) # False a = any(())
print(a) # False a = any({})
print(a) # False a=""
print(any("")) # False
basestring()
方法是 str 和 unicode 的超类(父类)可以用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))
bin() 返回一个整数 int 的二进制表示
__author__ = "Tang" a = 10
print(bin(a)) # 0b1010 a = 500
print(bin(a)) # 0b111110100
bool()
函数用于将给定参数转换为布尔类型,如果没有参数,返回 False
__author__ = "Tang" # 为False的情况 七兄弟
# () [] {} 0 False "" 空
print(bool(())) # False
print(bool([])) # False
print(bool({}))# False
print(bool(0))# False
print(bool(False))# False
print(bool(""))# False
print(bool())# False print(bool(10)) # 其他情况都为True
bytearray()
方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256
__author__ = "Tang" a = bytearray()
print(a) # bytearray(b'') a = bytearray([1,2,3])
print(a)#bytearray(b'\x01\x02\x03')
callable()
函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。
对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True
chr()
用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应ascii字符
__author__ = "Tang" print(chr(97)) # a
classmethod
修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等
是类里面方法的语法糖,有property,staticmethod等
__author__ = "Tang" class A(object):
@classmethod
def func1(self):
print('foo') A.func1() # foo
cmp(x,y)
Python3中已经不能使用该函数
compile()
函数将一个字符串编译为字节代码
__author__ = "Tang" # compile() 函数将一个字符串编译为字节代码
# compile(*args, **kwargs)
str1 = "for i in range(1,10): print(i,end=' ')"
a = (compile(str1,"","exec"))
print(a) # <code object <module> at 0x02AFD758, file "", line 1>
exec(a) # 1 2 3 4 5 6 7 8 9
delattr(object,name)
函数用于删除属性
__author__ = "Tang" class A:
x = 20 print(A.x) #
delattr(A,"x")
print(A.x) #报错
dict()
函数用于创建一个字典 五星级别*****
__author__ = "Tang" """
class dict(**kwarg) # 键值对方式
class dict(mapping, **kwarg) # 映射函数方式来构造字典
class dict(iterable, **kwarg) # 可迭代对象方式来构造字典
""" a = dict(a='a',b='b',c='c')
print(a) # {'a': 'a', 'b': 'b', 'c': 'c'} a = dict(zip([1,2,3,4,5],['a','b','c','d','e']))
print(a) # {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'} a = dict([(1,'a'),(2,'b'),(3,'c'),(4,'d')])
print(a) # {1: 'a', 2: 'b', 3: 'c', 4: 'd'} a = dict(((1,'a'),(2,'b'),(3,'c'),(4,'d'),))
print(a) # {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
dir()
函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息
__author__ = "Tang" """此方法在学习过程中非常有用,可用于查看类的方法""" print(dir())
"""
['__annotations__', '__author__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
""" print(dir( [] ))
"""
查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
"""
divmod()
函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)
__author__ = "Tang" print(divmod(9,3)) # (3, 0) a,b = divmod(5,2)
print(a,b) # 2 1 # 如果有一个参数是小数,那么结果都是小数
a,b = divmod(10.0,3)
print(a,b) # 3.0 1.0 a,b = divmod(11,3.0)
print(a,b) # 3.0 2.0
enumerate()
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列
__author__ = "Tang" """
enumerate(sequence, [start=0]) 可以自定义start 开始下标
返回两个参数,第一个为下标,第二个为值
""" a = ['tang','lao','er']
for key,value in enumerate(a,10):
print(key,value)
"""
10 tang
11 lao
12 er
"""
eval()
函数用来执行一个字符串表达式,并返回表达式的值,可以说是一个计算器
__author__ = "Tang" """
eval(expression[, globals[, locals]])
expression 表达式
globals - 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象
""" x = 2
print(eval('3 * x')) # print(eval('2+2')) # print(eval('2**10')) #
execfile()
函数可以用来执行一个文件
python3 中没有该函数
file()
python3 中没有该函数
filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
__author__ = "Tang" """
该函数接收两个参数,第一个为函数,第二个为序列,
序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中
filter(function, iterable)
""" def test(n):
return n%2
li = filter(test,[i for i in range(10)])
print(li) # <filter object at 0x00B132F0>
print(list(li)) # [1, 3, 5, 7, 9] # 配合匿名函数
li = filter(lambda x:x%2,[i for i in range(10)])
print(li) # <filter object at 0x036232F0>
print(list(li)) # [1, 3, 5, 7, 9]
float()
函数用于将整数和字符串转换成浮点数,字符串是数字在里面才行,不然会报错
__author__ = "Tang" a = 10
print(float(a)) # 10.0 a = -234
print(float(a)) # -234.0 a = ""
print(float(a)) # 123.0 a = "123abc"
print(float(a)) # 报错
format()
请看 字符串格式化篇
frozenset()
返回一个冻结的集合,冻结后集合不能再添加或删除任何元素
__author__ = "Tang" """
class frozenset([iterable])
iterable 可迭代对象 能够被for循环的都是可迭代对象,也可以去重
""" a = frozenset(range(10))
print(a) # frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})
print(list(a)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a = frozenset("tanglaoer") # 2个a
print(list(a)) # ['r', 'l', 'e', 'o', 'a', 't', 'g', 'n'] 一个a li = [1,2,3]
li.append(4)
print(li) # [1, 2, 3, 4] a.append(4) # 报错
print (a) # 报错
getattr()
函数用于返回一个对象属性值
__author__ = "Tang" """
getattr(object, name[, default])
object 对象
name 字符串,对象属性
default 默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError
"""
class A:
b = 12
a = A()
c = getattr(A,'b')
print(c) # d = getattr(A,'z')
print(d) # 报错 AttributeError: type object 'A' has no attribute 'z'
globals()
函数会以字典类型返回当前位置的全部全局变量
__author__ = "Tang" a = "tang"
print(globals()) """
{ '__name__': '__main__',
'__doc__': None,
'__package__': None,
'__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x009FC350>,
'__spec__': None,
'__annotations__': {},
'__builtins__': <module 'builtins' (built-in)>,
'__file__': 'F:/python_django/基础/内置函数.py',
'__cached__': None,
'__author__': 'Tang',
'a': 'tang'
}
"""
hasattr()
函数用于判断对象是否包含对应的属性
__author__ = "Tang" """
hasattr(object, name)
object 对象。
name 字符串,属性名
"""
class A:
b = ''
a = A()
print(hasattr(a,'b')) # True
print(hasattr(a,'z')) # False
hash()
用于获取取一个对象(字符串或者数值等)的哈希值
__author__ = "Tang" """
hash(object)
"""
print(hash("tang")) #
print(hash(23)) #
print(hash(str([1,2,3]))) #
# print(hash([1,2,3])) # 报错
help()
函数用于查看函数或模块用途的详细说明
__author__ = "Tang" """
help([object])
object 对象
"""
print(help("os")) # 查看os模块的详细帮助信息
# 输出内容太多了,我就不打印了
hex()
函数用于将10进制整数转换成16进制,以字符串形式表示
__author__ = "Tang" print(hex(10)) # 0xa a = hex(17)
print(a, type(a)) # 0x11 <class 'str'>
id()
函数用于获取对象的内存地址
__author__ = "Tang" """
在这里提一下,两个变量指向一个相同的不可变数据类型的数值时,它们的id是相同的,
但是元组不一样,它们id是改变的,与列表一样
"""
# int
a = 10
print(id(a)) #
b = 10
print(id(b)) # # str 字符串是不可变数据类型
a = "tang"
print(id(a)) # b = "tang"
print(id(b)) # # 列表
a = [1,2,3,4]
print(id(a)) # b = [1,2,3,4]
print(id(b)) # a = (1,2,3,4,)
print(id(a)) # b = (1,2,3,4,)
print(id(b)) #
input()
函数接受一个标准输入数据,返回为 string 类型
__author__ = "Tang" a = input('请输入:')
print(a,type(a))
int()
函数用于将一个字符串或数字转换为整型
__author__ = "Tang" """
class int(x, base=10)
x 字符串或数字
base 进制数,默认按十进制
"""
a = ""
print(int(a)) # # a = "abc123"
# print(int(a)) # 报错 a = 3.6
print(int(a)) # a = '0xa'
print(int(a, base=16)) # a = ''
print(int(a,base=8)) #
isinstance()
函数来判断一个对象是否是一个已知的类型,类似 type()
__author__ = "Tang" """
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。 isinstance(object, classinfo)
object 实例对象。
classinfo 可以是直接或间接类名、基本类型或者由它们组成的元组
""" a = 10
print(isinstance(a,int)) # True class A:
pass class B(A):
pass
obj = B()
print(isinstance(obj,A)) #True
print(isinstance(obj,B)) #True
issubclass()
方法用于判断参数 class 是否是类型参数 classinfo 的子类
__author__ = "Tang" """
issubclass(class, classinfo)
class 类。
classinfo 类
"""
class A:
pass
class B(A):
pass
print(issubclass(A,B)) # False
print(issubclass(B,A)) # True
iter()
函数用来生成迭代器
__author__ = "Tang" """
iter(object[, sentinel])
object 支持迭代的集合对象。
sentinel 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),
此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object
""" li = [1,2,3]
for i in iter(li):
print(i,end=" ") # 1 2 3 l = ['a','b','c','d']
def test():
return l.pop()
it = iter(test,'z') # 无穷执行test() 直到test结果等于'z'
print(it.__next__()) # d
print(it.__next__()) # c
print(it.__next__()) # b
print(it.__next__()) # a
print(it.__next__()) # IndexError: pop from empty list
len()
方法返回对象(字符、列表、元组等)长度或项目个数
__author__ = "Tang" """
len( s )
s -- 对象
"""
s = "tang"
print(len(s)) # a = [1,2,3,4]
print(len(a)) #
list()
方法用于将对象转换为列表
__author__ = "Tang" # 字符串转换
a = "tang"
print(list(a)) # ['t', 'a', 'n', 'g'] # a = 123
# print(list(a)) # 报错 a = (1,2,3,)
print(list(a)) # [1, 2, 3]
locals()
函数会以字典类型返回当前位置的全部局部变量
对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True
__author__ = "Tang" def test():
a = 1
print(locals()) # {'a': 1}
print(globals())
"""
{
'__name__': '__main__',
'__doc__': None,
'__package__': None,
'__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00E3C350>,
'__spec__': None,
'__annotations__': {},
'__builtins__': <module 'builtins' (built-in)>,
'__file__': 'F:/python_django/基础/内置函数.py',
'__cached__': None,
'__author__': 'Tang',
'test': <function test at 0x002BB618>}
"""
test()
long()
python3 已经没有该函数
map()
会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
__author__ = "Tang" """
map(function, iterable, ...)
function 函数,有一个参数
iterable 一个或多个序列
"""
def test(a):
return a**2
li = [1,2,3,4]
print(map(test,li)) # <map object at 0x017432F0>
print(list(map(test,li))) # [1, 4, 9, 16] # 结合lambda表达式
a = map(lambda a:a**2,[i for i in range(10)])
print(list(a)) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
max()
方法返回给定参数的最大值,参数可以为序列
__author__ = "Tang" """
max( x, y, z, .... )
"""
a = [1,2,3,4]
print(max(a)) # a = (1,2,3,4)
print(max(a)) #
memoryview()
函数返回给定参数的内存查看对象(Momory view)。
所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问
__author__ = "Tang" """
memoryview(obj)
""" v = memoryview(bytearray("tang",'utf-8'))
print(v[1]) # print(v[0]) #
print(chr(v[0])) # t
min()
方法返回给定参数的最小值,参数可以为序列
__author__ = "Tang" a = [1,2,3]
print(min(a)) #
next()
返回迭代器的下一个项目
__author__ = "Tang" """
next(iterator[, default])
iterator 可迭代对象
default 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常
"""
li = [1,2,3,4]
# print(next(li)) # TypeError: 'list' object is not an iterator # 先转换为可迭代对象
li = iter(li)
print(next(li)) #
print(next(li)) #
print(next(li)) #
print(next(li,80)) #
print(next(li,90)) # 90 不然就报错
oct()
函数将一个整数转换成8进制字符串
__author__ = "Tang" a = 10
t = oct(a)
print(a,t,type(t)) # 10 0o12 <class 'str'>
open()
函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写
__author__ = "Tang" """
open(name[, mode[, buffering]])
name : 一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
""" """
file 对象方法
file.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline() 返回一行
file.readlines([size]) 返回包含size行的列表,size 未指定则返回全部行
for line in f: print line #通过迭代器访问
f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串.
f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置]) 用来移动文件指针.
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close() 关闭文件
""" # 有一个文件aa.txt
"""
tanglao
er
"""
f = open("aa.txt")
f.read() #tanglao\ner\n
ord()
函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,
它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常
__author__ = "Tang" print(ord('a')) #
pow()
方法返回 xy(x的y次方) 的值
__author__ = "Tang" print(pow(2,2)) # print(pow(10,2)) #
print()
方法用于打印输出,最常见的一个函数
__author__ = "Tang" """
print(*objects, sep=' ', end='\n', file=sys.stdout)
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
""" a = "tanglaoer"
b = "chenlaosan"
print(a,b) # tanglaoer chenlaosan
print(a,b,sep='*') #tanglaoer*chenlaosan a = [1,2,3,4]
for i in a:
print(i)
"""
1
2
3
4
"""
for i in a:
print(i,end=" ") #1 2 3 4
property()
函数的作用是在新式类中返回属性值
__author__ = "Tang" """
class property([fget[, fset[, fdel[, doc]]]])
fget -- 获取属性值的函数
fset -- 设置属性值的函数
fdel -- 删除属性值函数
doc -- 属性描述信息
"""
class A:
def test(self):
print('tang')
a = A()
a.test() # tang 注意:这里有括号 是函数 class B:
@property
def test(self):
print('laoer')
b = B()
b.test # 老二 注意:这里没有括号 是属性
range()
函数可创建一个整数列表,一般用在 for 循环中
__author__ = "Tang" """
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
""" a = range(10)
print(a) # range(0, 10)
print(list(a)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a = range(2,10,2)
print(list(a)) # [2, 4, 6, 8]
reduce()
函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果
__author__ = "Tang" """
reduce(function, iterable[, initializer])
function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数
"""
from functools import reduce def test(a,b):
return a+ b
b = [1,2,3,4,5,6,7]
a = reduce(test,b)
print(a) # # 配合lambda
a = reduce(lambda x,y:x+y,b)
print(a) # """
顺便问一道题:用一句话打印1~100的和?
"""
print(sum(range(101))) #
reload()
用于重新载入之前载入的模块 没啥用啦
__author__ = "Tang" """
reload(module)
module -- 模块对象
""" import sys
from imp import reload
repr()
函数将对象转化为供解释器读取的形式
__author__ = "Tang" s = "tanglaoer"
print(s) # tanglaoer
print(repr(s)) # 'tanglaoer'
reverse()
函数用于反向列表中元素
__author__ = "Tang" """
list.reverse() 无返回值
"""
a = [1,2,3,4]
print(a.reverse()) #None
print(a) # [4, 3, 2, 1]
round()
方法返回浮点数x的四舍五入值
__author__ = "Tang" a = 3.4
print(round(a)) # a = 3.6
print(round(a)) #
set()
函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
__author__ = "Tang" """
class set([iterable])
"""
x = set([1,2,3])
print(x) # {1, 2, 3} x = set("tanglao") # 无重复的集合
print(x) # {'a', 'n', 't', 'g', 'o', 'l'}
setattr()
函数对应函数 getatt(),用于设置属性值,该属性必须存在
__author__ = "Tang" """
setattr(object, name, value)
object -- 对象。
name -- 字符串,对象属性。
value -- 属性值
""" class A:
b = 1 a = A()
print(getattr(a,'b')) setattr(a,'c',5)
print(a.c) #
slice()
函数实现切片对象,主要用在切片操作函数里的参数传递
__author__ = "Tang" """
class slice(stop)
class slice(start, stop[, step])
start -- 起始位置
stop -- 结束位置
step -- 间距 返回值:
返回一个切片对象
""" myslice = slice(3) # 设置截取5个元素的切片
a = [1,2,3,4,5,6]
print(a[myslice]) # [1, 2, 3]
sorted()
函数对所有可迭代的对象进行排序操作
__author__ = "Tang" """
sort 与 sorted 区别:
1.sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
2.list 的 sort 方法返回的是对已经存在的列表进行操作,
而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
"""
a = [1,5,87,3,5,8,0]
print(a) # [1, 5, 87, 3, 5, 8, 0]
b = a.sort()
print(b) # None
print(a) # [0, 1, 3, 5, 5, 8, 87] a = [1,5,87,3,5,8,0]
print(a) # [1, 5, 87, 3, 5, 8, 0]
b = sorted(a)
print(b) # [0, 1, 3, 5, 5, 8, 87]
print(a) # [1, 5, 87, 3, 5, 8, 0] """
也就是说 sort() 是在原有列表的基础上修改,并没有返回值,
而sorted() 返回一个排好序的列表,原列表并没有修改
"""
staticmethod()
返回函数的静态方法。该方法不强制要求传递参数
__author__ = "Tang" """
staticmethod(function)
""" class C:
@staticmethod
def f():
print("我是静态方法 我没有self") def t(self):
print("我是标准方法 我有self")
C.f()
c = C()
c.f() # C.t()# 报错
c = C()
c.t()
"""
类与实例都可以调用静态方法
注意:静态方法并没有参数 self 或者 cls,请与标准函数进行比较
"""
str()
字符串函数
__author__ = "Tang" a = 123
print(a,type(a)) # 123 <class 'int'> a = 123
a = str(a)
print(a,type(a)) # 123 <class 'str'>
sum()
方法对系列进行求和计算
__author__ = "Tang" """
sum(iterable[, start])
iterable -- 可迭代对象,如:列表、元组、集合。
start -- 指定相加的参数,如果没有设置这个值,默认为0
"""
a = [1,2,3,4]
print(sum(a)) # print(sum(a,10)) # # 面试题 用一句话打印出1~100的和
print(sum(range(101))) #
super()
函数是用于调用父类(超类)的一个方法。
super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。
MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表
__author__ = "Tang" """
super(type[, object-or-type])
type -- 类。
object-or-type -- 类,一般是 self
""" class A():
def tt(self):
print("我是父类的tt")
return
class B(A):
def tt(self):
super().tt() # 调用父类函数
print("我是子类的tt") b = B()
b.tt()
"""
我是父类的tt
我是子类的tt
"""
tuple()
函数将列表转换为元组
__author__ = "Tang" a = [1,2,3,4]
b = tuple(a)
print(b) # (1, 2, 3, 4)
type()
函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象
__author__ = "Tang" """
isinstance() 与 type() 区别:
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。 type(name, bases, dict)
name -- 类的名称。
bases -- 基类的元组。
dict -- 字典,类内定义的命名空间变量。
返回值
一个参数就返回对象类型,
如果是三个参数,那么就返回新的类型对象
""" print(type(1)) # <class 'int'> print(type([1,2,3])) # <class 'list'> # 创建一个类
x = type('X',(object,),dict(a=1)) print(x) # <class '__main__.X'>
obj = x()
print(obj.a) #
zip()
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表
在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。
__author__ = "Tang"
"""
zip([iterable, ...])
iterabl -- 一个或多个迭代器; 返回值:
返回元组列表。
""" a = [1,2,3,4,5]
b = ['a','b','c','d']
print(zip(a,b)) # <zip object at 0x00E7F6E8>
print(list(zip(a,b))) # [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')] a = (1,2,3,4,5)
b = ('a','b','c','d')
print(zip(a,b)) # <zip object at 0x00E7F6E8>
print(list(zip(a,b))) # [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')] # 当只有一个参数时
a = [1,2,3,4,5]
print(list(zip(a))) # [(1,), (2,), (3,), (4,), (5,)] # zip 和* 结合使用 反解压
a = [1,2,3,4,5]
b = ['a','b','c','d']
tt = zip(a,b) x,y = zip(*tt)
print(x,y)
"""
(1, 2, 3, 4)
('a', 'b', 'c', 'd')
"""
__import__()
函数用于动态加载类和函数 。
如果一个模块经常变化就可以使用 __import__() 来动态载入
__author__ = "Tang" """"
__import__(name, globals=None, locals=None, fromlist=(), level=0)
""" # 假如有一个a.py
__import__("a") # 这就是导入a模块 相当于 用字符串的格式导入该模块
Python开发【第五篇】内置函数的更多相关文章
- [Python笔记]第四篇:内置函数
本篇主要内容:内置函数 函数 参考:https://docs.python.org/3.5/library/functions.html 内置函数列表 一.数学运算类 abs(x)求绝对值 >& ...
- python基础12_匿名_内置函数
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...
- 【python】dir(__builtins__)查看python中所用BIF(内置函数)
dir(__builtins__)查看python中所用BIF(内置函数)
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- python之路:进阶篇 内置函数
li = [11, 22, 33] news = map( li = [100, 2200, 3300] news = map( [13, 24, 35] [11, 11, 11] [22, 4 ...
- 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda
一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...
- python学习笔记(五)— 内置函数
我们常用的‘’int,str,dict,input,print,type,len‘’都属于内置函数 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any( ...
- 巨蟒python全栈开发-第14天 内置函数2 递归 二分查找
一.今日内容总览 1.内置函数补充 repr() 显示出字符串的官方表示形式 chr() arscii码中的字,转换成位置 ord() arscii码中的位置,转换成字2.递归 自己调用自己 两个口: ...
- python 07篇 内置函数和匿名函数
一.内置函数 # 下面这些要掌握 # len type id print input open # round min max filter map zip exec eval print(all([ ...
随机推荐
- 【干货】Chrome插件(扩展)开发全攻略
写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...
- SpringBoot入门教程(八)配置logback日志
Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-c ...
- 2018-7-27银行卡bin大全-根据银行卡开头查银行
支付宝卡号验证工具 https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=银 ...
- putty 默认颜色样式修改 for windows
一.导出 putty 注册表默认配置文件 1.1 打开注册表:运行 --» regedit 找到 putty 注册表文件: [HKEY_CURRENT_USER\Software\SimonTatha ...
- 【Java基础】【04循环语句&方法】
04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do...while B:循环结构for语句的格式: for(初始化表达式;条件表达式; ...
- PE知识复习之PE的导出表
PE知识复习之PE的导出表 一丶简介 在说明PE导出表之前.我们要理解.一个PE可执行程序.是由一个文件组成的吗. 答案: 不是.是由很多PE文件组成.DLL也是PE文件.如果我们PE文件运行.那么就 ...
- 网络编程第六讲Select模型
网络模型第六讲Select模型 一丶Select模型是什么 以前我们讲过一个迭代模型.就是只服务一个客户端连接.但是实际网络编程中.复杂的很多. 比如一个 C/S架构程序 (客户端/服务端) 客户端很 ...
- 什么是DevOps?
一. 什么是DevOps 是什么? DevOps (英文 Development 和 Operations 的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序 / 软件工程).技术运营和质量 ...
- [Code+#3] 寻找车位
Description 给定一个大小为 \(n\times m\) 的 \(01\) 矩阵. 要求支持:单点翻转,询问子矩形内部最大正方形. \(n\times m\leq 4\cdot 10^6,n ...
- Redux,基础
在学习了React之后, 紧跟着而来的就是Redux了~ 在系统性的学习一个东西的时候, 了解其背景.设计以及解决了什么问题都是非常必要的. 接下来记录的是, 我个人在学习Redux时的一些杂七杂八~ ...