热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python全栈之路系列之Python3内置函数

ThePythoninterpreterhasanumberoffunctionsandtypesbuiltintoitthatarealwaysavailable.Theyarelistedhereinalphabeticalorder.Built-inFunctionsabs()dict()help()min()setattr(...
The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.

Built-in Functions

abs()dict()help()min()setattr()all()dir()
hex()next()slice()any()pmod()id()object()
sorted()ascii()enumerate()input()oct()staticmethod()bin()
eval()int()open()str()bool()exec()isinstance()
ord()sum()bytearray()filter()issubclass()pow()super()
bytes()float()iter()print()tuple()callable()format()
len()property()type()chr()frozenset()list()range()
vars()classmethod()getattr()locals()repr()zip()compile()
globals()map()reversed()__import__()complex()hasattr()max()
round()delattr()hash()memoryview()set()

官方介绍:#

内置函数详解

abs(x)

返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小。

# 如果参数是复数,则返回其大小。
 >>> abs(-25)
25
 >>> abs(25)
25

all(iterable)

all()会循环括号内的每一个元素,如果括号内的所有元素都是真的,或者如果iterable为空,则返回True,如果有一个为假的那么就返回False

>>> all([])
True
>>> all([1,2,3])
True
>>> all([1,2,""])
False
# 如果有一个为假,则都为假
>>> all([1,2,None])
False

假的参数有:False0None""[](){}等,查看一个元素是否为假可以使用bool进行查看。

any(iterable)

循环元素,如果有一个元素为真,那么就返回True,否则就返回False

 >>> any([0,1])
True
 >>> any([0])
False

ascii(object)

在对象的类中寻找__repr__方法,获取返回值

 >>> class Foo:
 ...  def __repr_(self):
 ...     return "hello"
 ...
 >>> obj = Foo()
 >>> r = ascii(obj)
 >>> print(r)
# 返回的是一个可迭代的对象
<__main__.Foo object at 0x000001FDEE13D320>

bin(x)

将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer

# 返回一个整数的二进制
 >>> bin(999)
&#39;0b1111100111&#39;
# 非整型的情况,必须包含__index__()方法切返回值为integer的类型
 >>> class myType:
 ...   def __index__(self):
 ...       return 35
 ...
 >>> myvar = myType()
 >>> bin(myvar)
&#39;0b100011&#39;

bool([x])

查看一个元素的布尔值,非真即假

 >>> bool(0)
False
 >>> bool(1)
True
 >>> bool([1])
True
 >>> bool([10])
True

bytearray([source [, encoding [, errors]]])

返回一个byte数组,Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。

source参数:

  1. 如果source为整数,则返回一个长度为source的初始化数组;

  2. 如果source为字符串,则按照指定的encoding将字符串转换为字节序列;

  3. 如果source为可迭代类型,则元素必须为[0 ,255]中的整数;

  4. 如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.。

 >>> bytearray(3)
bytearray(b&#39;\x00\x00\x00&#39;)

bytes([source[, encoding[, errors]]])

 >>> bytes("asdasd",encoding="utf-8")
b&#39;asdasd&#39;

callable(object)

返回一个对象是否可以被执行

 >>> def func():
 ...  return 123
 ...
 >>> callable(func)
True
 >>> func = 123
 >>> callable(func)
False

chr(i)

返回一个数字在ASCII编码中对应的字符,取值范围256个

 >>> chr(66)
&#39;B&#39;
 >>> chr(5)
&#39;\x05&#39;
 >>> chr(55)
&#39;7&#39;
 >>> chr(255)
&#39;\xff&#39;
 >>> chr(25)
&#39;\x19&#39;
 >>> chr(65)
&#39;A&#39;

classmethod(function)

返回函数的类方法

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

把字符串编译成python可执行的代码

 >>> str = "for i in range(0,10): print(i)"
 >>> c = compile(str,&#39;&#39;,&#39;exec&#39;)
 >>> exec(c)
0
1
2
3
4
5
6
7
8
9

complex([real[, imag]])

创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

 >>> complex(1, 2)
(1+2j)
# 数字
 >>> complex(1)
(1+0j)
# 当做字符串处理
 >>> complex("1")
(1+0j)
# 注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
 >>> complex("1+2j")
(1+2j)

delattr(object, name)

删除对象的属性值

>>> class cls:
...   @classmethod
...   def echo(self):
...     print(&#39;CLS&#39;)
... 
>>> cls.echo()
CLS
>>> delattr(cls, &#39;echo&#39;)
>>> cls.echo()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: type object &#39;cls&#39; has no attribute &#39;echo&#39;

dict(**kwarg)

创建一个数据类型为字典

 >>> dic = dict({"k1":"123","k2":"456"})
 >>> dic
{&#39;k1&#39;: &#39;123&#39;, &#39;k2&#39;: &#39;456&#39;}

dir([object])

返回一个对象中中的所有方法

 >>> dir(str)
[&#39;__add__&#39;, &#39;__class__&#39;, &#39;__contains__&#39;, &#39;__delattr__&#39;, &#39;__dir__&#39;, &#39;__doc__&#39;, &#39;__eq__&#39;, &#39;__format__&#39;, &#39;__ge__&#39;, &#39;__getattribute__&#39;, &#39;__getitem__&#39;, &#39;__getnewargs__&#39;, &#39;__gt__&#39;, &#39;__hash__&#39;, &#39;__init__&#39;, &#39;__iter__&#39;, &#39;__le__&#39;, &#39;__len__&#39;, &#39;__lt__&#39;, &#39;__mod__&#39;, &#39;__mul__&#39;, &#39;__ne__&#39;, &#39;__new__&#39;, &#39;__reduce__&#39;, &#39;__reduce\_ex__&#39;, &#39;__repr__&#39;, &#39;__rmod__&#39;, &#39;__rmul__&#39;, &#39;__setattr__&#39;, &#39;__sizeof__&#39;, &#39;__str__&#39;, &#39;__subclasshook__&#39;, &#39;capitalize&#39;, &#39;casefold&#39;, &#39;center&#39;, &#39;count&#39;, &#39;encode&#39;, &#39;endswith&#39;, &#39;expandtabs&#39;, &#39;find&#39;, &#39;format&#39;, &#39;format_map&#39;, &#39;index&#39;, &#39;isalnum&#39;, &#39;isalpha&#39;, &#39;isdecimal&#39;, &#39;isdigit&#39;, &#39;isidentifier&#39;, &#39;islower&#39;, &#39;isnumeric&#39;, &#39;isprintable&#39;, &#39;isspace&#39;, &#39;istitle&#39;, &#39;isupper&#39;, &#39;join&#39;, &#39;ljust&#39;, &#39;lower&#39;, &#39;lstrip&#39;, &#39;maketrans&#39;, &#39;partition&#39;, &#39;replace&#39;, &#39;rfind&#39;, &#39;rindex&#39;, &#39;rjust&#39;, &#39;rpartition&#39;, &#39;rsplit&#39;, &#39;rstrip&#39;, &#39;split&#39;, &#39;splitlines&#39;, &#39;startswith&#39;, &#39;strip&#39;, &#39;swapcase&#39;, &#39;title&#39;, &#39;translate&#39;, &#39;upper&#39;, &#39;zfill&#39;]

pmod(a, b)

返回的是a//b(除法取整)以及a对b的余数,返回结果类型为tuple

 >>> pmod(10, 3)
(3, 1)

enumerate(iterable, start=0)

为元素生成下标

 >>> li = ["a","b","c"]
 >>> for n,k in enumerate(li):
 ...  print(n,k)
 ...
0 a
1 b
2 c

eval(expression, globals=None, locals=None)

把一个字符串当作一个表达式去执行

 >>> string = "1 + 3"
 >>> string
&#39;1 + 3&#39;
 >>> eval(string)
4

exec(object[, globals[, locals]])

把字符串当作python代码执行

 >>> exec("for n in range(5): print(n)")
0
1
2
3
4

filter(function, iterable)

筛选过滤,循环可迭代的对象,把迭代的对象当作函数的参数,如果符合条件就返回True,否则就返回False

 >>> def func(x):
 ...  if x == 11 or x == 22:
 ...    return True
 ...
 >>> ret = filter(func,[11,22,33,44])
 >>> for n in ret:
 ...  print(n)
 ...
11
22
>>> list(filter((lambda x: x > 0),range(-5,5)))
[1, 2, 3, 4]

float([x])

将整数和字符串转换成浮点数

 >>> float("124")
124.0
 >>> float("123.45")
123.45
 >>> float("-123.34")
-123.34

format(value[, format_spec])

字符串格式化

详键:#

frozenset([iterable])

frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

getattr(object, name[, default])

返回对象的命名属性的值,name必须是字符串,如果字符串是对象属性之一的名称,则结果是该属性的值。

globals()

获取或修改当前文件内的全局变量

>>> a = "12"
>>> bsd = "54asd"
>>> globals()
{&#39;__doc__&#39;: None, &#39;a&#39;: &#39;12&#39;, &#39;__loader__&#39;: , &#39;bsd&#39;: &#39;54asd&#39;, &#39;__builtins__&#39;: , &#39;n&#39;: &#39;__doc__&#39;, &#39;__name__&#39;: &#39;__main__&#39;, &#39;__spec__&#39;: None, &#39;__package__&#39;: None}

hasattr(object, name)

参数是一个对象和一个字符串,如果字符串是对象的某个属性的名称,则结果为True,否则为False。

hash(object)

返回一个对象的hash值

 >>> a = "asdadasdwqeq234sdfdf"
 >>> hash(a)
5390438057823015497

help([object])

查看一个类的所有详细方法,或者查看某个方法的使用详细信息

 >>> help(list)
Help on class list in module __builtin__:

class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable&#39;s items
 |  
 |  Methods defined here:
 |  
 |  __add__(...)
 |      x.__add__(y) <==> x+y
 |  
 |  __contains__(...)
 |      x.__contains__(y) <==> y in x
 |  
 |  __delitem__(...)
 |      x.__delitem__(y) <==> del x[y]
 |  
 |  __delslice__(...)
 |      x.__delslice__(i, j) <==> del x[i:j]
 |      
 |      Use of negative indices is not supported.
..........

hex(x)

获取一个数的十六进制

 >>> hex(13)
&#39;0xd&#39;

id(object)

返回一个对象的内存地址

 >>> a = 123
 >>> id(a)
1835400816

input([prompt])

交互式输入

 >>> name = input("Pless your name: ")
Pless your name: ansheng
 >>> print(name)
ansheng

int(x, base=10)

获取一个数的十进制

 >>> int("31")
31

也可以作为进制转换

 >>> int(10)
10
 >>> int(&#39;0b11&#39;,base=2)
3
 >>> int(&#39;11&#39;,base=8)
9
 >>> int(&#39;0xe&#39;,base=16)
14

isinstance(object, classinfo)

判断对象是否是这个类创建的

>>> li = [11,22,33]
>>> isinstance(li,list)
True

issubclass(class, classinfo)

查看一个对象是否为子类

iter(object[, sentinel])

创建一个可迭代的对象

 >>> obj = iter([11,22,33,44])
 >>> obj

 >>> for n in obj:
 ...  print(n)
 ...
11
22
33
44

len(s)

查看一个对象的长度

 >>> url="ansheng.me"
 >>> len(url)
10

list([iterable])

创建一个数据类型为列表

 >>> li = list([11,22,33,44])
 >>> li
[11, 22, 33, 44]

locals()

返回当前作用域的局部变量,以字典形式输出

 >>> func()
 >>> def func():
 ...  name="ansheng"
 ...  print(locals())
 ...
 >>> func()
{&#39;name&#39;: &#39;ansheng&#39;}

map(function, iterable, ...)

对一个序列中的每一个元素都传到函数中执行并返回

>>> list(map((lambda x : x +10),[1,2,3,4]))
[11, 12, 13, 14]

max(iterable, *[, key, default])

max(arg1, arg2, *args[, key])

取一个对象中的最大值

 >>> li = list([11,22,33,44])
 >>> li = [11,22,33,44]
 >>> max(li)
44

memoryview(obj)

返回对象obj的内存查看对象

 >>> import struct
 >>> buf = struct.pack("i"*12, *list(range(12)))
 >>> x = memoryview(buf)
 >>> y = x.cast(&#39;i&#39;, shape=[2,2,3])
 >>> print(y.tolist())
[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]

min(iterable, *[, key, default])

min(arg1, arg2, *args[, key])

取一个对象中的最小值

 >>> li = list([11,22,33,44])
 >>> li = [11,22,33,44]
 >>> min(li)
11

next(iterator[, default])

每次只拿取可迭代对象的一个元素

 >>> obj = iter([11,22,33,44])
 >>> next(obj)
11
 >>> next(obj)
22
 >>> next(obj)
33
 >>> next(obj)
44
 >>> next(obj)
 # 如果没有可迭代的元素了就会报错
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

object

返回一个新的无特征对象

oct(x)

获取一个字符串的八进制

 >>> oct(13)
&#39;0o15&#39;

open(file, mode=&#39;r&#39;, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

文件操作的函数,用来做文件操作的

 # 打开一个文件
- >>> f = open("a.txt","r")

ord(c)

把一个字母转换为ASCII对对应表中的数字

 >>> ord("a")
97
 >>> ord("t")
116

pow(x, y[, z])

返回一个数的N次方

 >>> pow(2, 10)
1024
 >>> pow(2, 20)
1048576

print(*objects, sep=&#39; &#39;, end=&#39;n&#39;, file=sys.stdout, flush=False)

打印输出

 >>> print("hello word")
hello word

property(fget=None, fset=None, fdel=None, doc=None)

range(start, stop[, step])

生成一个序列

 >>> range(10)
range(0, 10)
 >>> for n in range(5):
 ...  print(n)
 ...
0
1
2
3
4

repr(object)

返回一个包含对象的可打印表示的字符串

>>> repr(111)
&#39;111&#39;
>>> repr(111.11)
&#39;111.11&#39;

reversed(seq)

对一个对象的元素进行反转

 >>> li = [1, 2, 3, 4]
 >>> reversed(li)

 >>> for n in reversed(li):
 ...  print(n)
 ...
4
3
2
1

round(number[, ndigits])

四舍五入

 >>> round(3.3)
3
 >>> round(3.7)
4

set([iterable])

创建一个数据类型为集合

 >>> varss = set([11,222,333])
 >>> type(varss)

setattr(object, name, value)

为某个对象设置一个属性

slice(start, stop[, step])

元素的切片操作都是调用的这个方法

sorted(iterable, key)

为一个对象的元素进行排序

代码:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

char=[&#39;赵&#39;,"123", "1", "25", "65","679999999999", "a","B","alex","c" ,"A", "_", "ᒲ",&#39;a钱&#39;,&#39;孙&#39;,&#39;李&#39;,"余", &#39;佘&#39;,"佗", "㽙", "铱", "钲钲㽙㽙㽙"]

new_chat = sorted(char)
print(new_chat)
for i in new_chat:
    print(bytes(i, encoding=&#39;utf-8&#39;))

输出结果:

C:\Python35\python.exe F:/Python_code/Note/soretd.py
[&#39;1&#39;, &#39;123&#39;, &#39;25&#39;, &#39;65&#39;, &#39;679999999999&#39;, &#39;A&#39;, &#39;B&#39;, &#39;_&#39;, &#39;a&#39;, &#39;alex&#39;, &#39;a钱&#39;, &#39;c&#39;, &#39;ᒲ&#39;, &#39;㽙&#39;, &#39;佗&#39;, &#39;佘&#39;, &#39;余&#39;, &#39;孙&#39;, &#39;李&#39;, &#39;赵&#39;, &#39;钲钲㽙㽙㽙&#39;, &#39;铱&#39;]
b&#39;1&#39;
b&#39;123&#39;
b&#39;25&#39;
b&#39;65&#39;
b&#39;679999999999&#39;
b&#39;A&#39;
b&#39;B&#39;
b&#39;_&#39;
b&#39;a&#39;
b&#39;alex&#39;
b&#39;a\xe9\x92\xb1&#39;
b&#39;c&#39;
b&#39;\xe1\x92\xb2&#39;
b&#39;\xe3\xbd\x99&#39;
b&#39;\xe4\xbd\x97&#39;
b&#39;\xe4\xbd\x98&#39;
b&#39;\xe4\xbd\x99&#39;
b&#39;\xe5\xad\x99&#39;
b&#39;\xe6\x9d\x8e&#39;
b&#39;\xe8\xb5\xb5&#39;
b&#39;\xe9\x92\xb2\xe9\x92\xb2\xe3\xbd\x99\xe3\xbd\x99\xe3\xbd\x99&#39;
b&#39;\xe9\x93\xb1&#39;

Process finished with exit code 0

staticmethod(function)

返回函数的静态方法

str(object=b&#39;&#39;, encoding=&#39;utf-8&#39;, errors=&#39;strict&#39;)

字符串

 >>> a = str(111)
 >>> type(a)

sum(iterable[, start])

求和

 >>> sum([11,22,33])
66

super([type[, object-or-type]])

执行父类的构造方法

tuple([iterable])

创建一个对象,数据类型为元组

>>> tup = tuple([11,22,33,44])
>>> type(tup)

type(object)

查看一个对象的数据类型

 >>> a = 1
 >>> type(a)

 >>> a = "str"
 >>> type(a)

vars([object])

查看一个对象里面有多少个变量

zip(*iterables)

将两个元素相同的序列转换为字典

>>> li1 = ["k1","k2","k3"]
>>> li2 = ["a","b","c"]
>>> d = dict(zip(li1,li2))
>>> d
{&#39;k1&#39;: &#39;a&#39;, &#39;k2&#39;: &#39;b&#39;, &#39;k3&#39;: &#39;c&#39;}

__import__(name, globals=None, locals=None, fromlist=(), level=0)

导入模块,把导入的模块作为一个别名

生成随机验证码例子

生成一个六位的随机验证码,且包含数字,数字的位置随机

# 导入random模块
import random
temp = ""
for i in range(6):
    num = random.randrange(0,4)
    if num == 3 or num == 1:
        rad2 = random.randrange(0,10)
        temp = temp + str(rad2)
    else:
        rad1 = random.randrange(65,91)
        c1 = chr(rad1)
        temp = temp + c1
print(temp)

输出结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/built_in.py
72TD11

原文链接


The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.

Built-in Functions

abs()dict()help()min()setattr()all()dir()
hex()next()slice()any()pmod()id()object()
sorted()ascii()enumerate()input()oct()staticmethod()bin()
eval()int()open()str()bool()exec()isinstance()
ord()sum()bytearray()filter()issubclass()pow()super()
bytes()float()iter()print()tuple()callable()format()
len()property()type()chr()frozenset()list()range()
vars()classmethod()getattr()locals()repr()zip()compile()
globals()map()reversed()__import__()complex()hasattr()max()
round()delattr()hash()memoryview()set()

官方介绍:#

内置函数详解

abs(x)

返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小。

# 如果参数是复数,则返回其大小。
 >>> abs(-25)
25
 >>> abs(25)
25

all(iterable)

all()会循环括号内的每一个元素,如果括号内的所有元素都是真的,或者如果iterable为空,则返回True,如果有一个为假的那么就返回False

>>> all([])
True
>>> all([1,2,3])
True
>>> all([1,2,""])
False
# 如果有一个为假,则都为假
>>> all([1,2,None])
False

假的参数有:False0None""[](){}等,查看一个元素是否为假可以使用bool进行查看。

any(iterable)

循环元素,如果有一个元素为真,那么就返回True,否则就返回False

 >>> any([0,1])
True
 >>> any([0])
False

ascii(object)

在对象的类中寻找__repr__方法,获取返回值

 >>> class Foo:
 ...  def __repr_(self):
 ...     return "hello"
 ...
 >>> obj = Foo()
 >>> r = ascii(obj)
 >>> print(r)
# 返回的是一个可迭代的对象
<__main__.Foo object at 0x000001FDEE13D320>

bin(x)

将整数x转换为二进制字符串,如果x不为Python中int类型,x必须包含方法__index__()并且返回值为integer

# 返回一个整数的二进制
 >>> bin(999)
&#39;0b1111100111&#39;
# 非整型的情况,必须包含__index__()方法切返回值为integer的类型
 >>> class myType:
 ...   def __index__(self):
 ...       return 35
 ...
 >>> myvar = myType()
 >>> bin(myvar)
&#39;0b100011&#39;

bool([x])

查看一个元素的布尔值,非真即假

 >>> bool(0)
False
 >>> bool(1)
True
 >>> bool([1])
True
 >>> bool([10])
True

bytearray([source [, encoding [, errors]]])

返回一个byte数组,Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。

source参数:

  1. 如果source为整数,则返回一个长度为source的初始化数组;

  2. 如果source为字符串,则按照指定的encoding将字符串转换为字节序列;

  3. 如果source为可迭代类型,则元素必须为[0 ,255]中的整数;

  4. 如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.。

 >>> bytearray(3)
bytearray(b&#39;\x00\x00\x00&#39;)

bytes([source[, encoding[, errors]]])

 >>> bytes("asdasd",encoding="utf-8")
b&#39;asdasd&#39;

callable(object)

返回一个对象是否可以被执行

 >>> def func():
 ...  return 123
 ...
 >>> callable(func)
True
 >>> func = 123
 >>> callable(func)
False

chr(i)

返回一个数字在ASCII编码中对应的字符,取值范围256个

 >>> chr(66)
&#39;B&#39;
 >>> chr(5)
&#39;\x05&#39;
 >>> chr(55)
&#39;7&#39;
 >>> chr(255)
&#39;\xff&#39;
 >>> chr(25)
&#39;\x19&#39;
 >>> chr(65)
&#39;A&#39;

classmethod(function)

返回函数的类方法

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

把字符串编译成python可执行的代码

 >>> str = "for i in range(0,10): print(i)"
 >>> c = compile(str,&#39;&#39;,&#39;exec&#39;)
 >>> exec(c)
0
1
2
3
4
5
6
7
8
9

complex([real[, imag]])

创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

 >>> complex(1, 2)
(1+2j)
# 数字
 >>> complex(1)
(1+0j)
# 当做字符串处理
 >>> complex("1")
(1+0j)
# 注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
 >>> complex("1+2j")
(1+2j)

delattr(object, name)

删除对象的属性值

>>> class cls:
...   @classmethod
...   def echo(self):
...     print(&#39;CLS&#39;)
... 
>>> cls.echo()
CLS
>>> delattr(cls, &#39;echo&#39;)
>>> cls.echo()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: type object &#39;cls&#39; has no attribute &#39;echo&#39;

dict(**kwarg)

创建一个数据类型为字典

 >>> dic = dict({"k1":"123","k2":"456"})
 >>> dic
{&#39;k1&#39;: &#39;123&#39;, &#39;k2&#39;: &#39;456&#39;}

dir([object])

返回一个对象中中的所有方法

 >>> dir(str)
[&#39;__add__&#39;, &#39;__class__&#39;, &#39;__contains__&#39;, &#39;__delattr__&#39;, &#39;__dir__&#39;, &#39;__doc__&#39;, &#39;__eq__&#39;, &#39;__format__&#39;, &#39;__ge__&#39;, &#39;__getattribute__&#39;, &#39;__getitem__&#39;, &#39;__getnewargs__&#39;, &#39;__gt__&#39;, &#39;__hash__&#39;, &#39;__init__&#39;, &#39;__iter__&#39;, &#39;__le__&#39;, &#39;__len__&#39;, &#39;__lt__&#39;, &#39;__mod__&#39;, &#39;__mul__&#39;, &#39;__ne__&#39;, &#39;__new__&#39;, &#39;__reduce__&#39;, &#39;__reduce\_ex__&#39;, &#39;__repr__&#39;, &#39;__rmod__&#39;, &#39;__rmul__&#39;, &#39;__setattr__&#39;, &#39;__sizeof__&#39;, &#39;__str__&#39;, &#39;__subclasshook__&#39;, &#39;capitalize&#39;, &#39;casefold&#39;, &#39;center&#39;, &#39;count&#39;, &#39;encode&#39;, &#39;endswith&#39;, &#39;expandtabs&#39;, &#39;find&#39;, &#39;format&#39;, &#39;format_map&#39;, &#39;index&#39;, &#39;isalnum&#39;, &#39;isalpha&#39;, &#39;isdecimal&#39;, &#39;isdigit&#39;, &#39;isidentifier&#39;, &#39;islower&#39;, &#39;isnumeric&#39;, &#39;isprintable&#39;, &#39;isspace&#39;, &#39;istitle&#39;, &#39;isupper&#39;, &#39;join&#39;, &#39;ljust&#39;, &#39;lower&#39;, &#39;lstrip&#39;, &#39;maketrans&#39;, &#39;partition&#39;, &#39;replace&#39;, &#39;rfind&#39;, &#39;rindex&#39;, &#39;rjust&#39;, &#39;rpartition&#39;, &#39;rsplit&#39;, &#39;rstrip&#39;, &#39;split&#39;, &#39;splitlines&#39;, &#39;startswith&#39;, &#39;strip&#39;, &#39;swapcase&#39;, &#39;title&#39;, &#39;translate&#39;, &#39;upper&#39;, &#39;zfill&#39;]

pmod(a, b)

返回的是a//b(除法取整)以及a对b的余数,返回结果类型为tuple

 >>> pmod(10, 3)
(3, 1)

enumerate(iterable, start=0)

为元素生成下标

 >>> li = ["a","b","c"]
 >>> for n,k in enumerate(li):
 ...  print(n,k)
 ...
0 a
1 b
2 c

eval(expression, globals=None, locals=None)

把一个字符串当作一个表达式去执行

 >>> string = "1 + 3"
 >>> string
&#39;1 + 3&#39;
 >>> eval(string)
4

exec(object[, globals[, locals]])

把字符串当作python代码执行

 >>> exec("for n in range(5): print(n)")
0
1
2
3
4

filter(function, iterable)

筛选过滤,循环可迭代的对象,把迭代的对象当作函数的参数,如果符合条件就返回True,否则就返回False

 >>> def func(x):
 ...  if x == 11 or x == 22:
 ...    return True
 ...
 >>> ret = filter(func,[11,22,33,44])
 >>> for n in ret:
 ...  print(n)
 ...
11
22
>>> list(filter((lambda x: x > 0),range(-5,5)))
[1, 2, 3, 4]

float([x])

将整数和字符串转换成浮点数

 >>> float("124")
124.0
 >>> float("123.45")
123.45
 >>> float("-123.34")
-123.34

format(value[, format_spec])

字符串格式化

详键:#

frozenset([iterable])

frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

getattr(object, name[, default])

返回对象的命名属性的值,name必须是字符串,如果字符串是对象属性之一的名称,则结果是该属性的值。

globals()

获取或修改当前文件内的全局变量

>>> a = "12"
>>> bsd = "54asd"
>>> globals()
{&#39;__doc__&#39;: None, &#39;a&#39;: &#39;12&#39;, &#39;__loader__&#39;: , &#39;bsd&#39;: &#39;54asd&#39;, &#39;__builtins__&#39;: , &#39;n&#39;: &#39;__doc__&#39;, &#39;__name__&#39;: &#39;__main__&#39;, &#39;__spec__&#39;: None, &#39;__package__&#39;: None}

hasattr(object, name)

参数是一个对象和一个字符串,如果字符串是对象的某个属性的名称,则结果为True,否则为False。

hash(object)

返回一个对象的hash值

 >>> a = "asdadasdwqeq234sdfdf"
 >>> hash(a)
5390438057823015497

help([object])

查看一个类的所有详细方法,或者查看某个方法的使用详细信息

 >>> help(list)
Help on class list in module __builtin__:

class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable&#39;s items
 |  
 |  Methods defined here:
 |  
 |  __add__(...)
 |      x.__add__(y) <==> x+y
 |  
 |  __contains__(...)
 |      x.__contains__(y) <==> y in x
 |  
 |  __delitem__(...)
 |      x.__delitem__(y) <==> del x[y]
 |  
 |  __delslice__(...)
 |      x.__delslice__(i, j) <==> del x[i:j]
 |      
 |      Use of negative indices is not supported.
..........

hex(x)

获取一个数的十六进制

 >>> hex(13)
&#39;0xd&#39;

id(object)

返回一个对象的内存地址

 >>> a = 123
 >>> id(a)
1835400816

input([prompt])

交互式输入

 >>> name = input("Pless your name: ")
Pless your name: ansheng
 >>> print(name)
ansheng

int(x, base=10)

获取一个数的十进制

 >>> int("31")
31

也可以作为进制转换

 >>> int(10)
10
 >>> int(&#39;0b11&#39;,base=2)
3
 >>> int(&#39;11&#39;,base=8)
9
 >>> int(&#39;0xe&#39;,base=16)
14

isinstance(object, classinfo)

判断对象是否是这个类创建的

>>> li = [11,22,33]
>>> isinstance(li,list)
True

issubclass(class, classinfo)

查看一个对象是否为子类

iter(object[, sentinel])

创建一个可迭代的对象

 >>> obj = iter([11,22,33,44])
 >>> obj

 >>> for n in obj:
 ...  print(n)
 ...
11
22
33
44

len(s)

查看一个对象的长度

 >>> url="ansheng.me"
 >>> len(url)
10

list([iterable])

创建一个数据类型为列表

 >>> li = list([11,22,33,44])
 >>> li
[11, 22, 33, 44]

locals()

返回当前作用域的局部变量,以字典形式输出

 >>> func()
 >>> def func():
 ...  name="ansheng"
 ...  print(locals())
 ...
 >>> func()
{&#39;name&#39;: &#39;ansheng&#39;}

map(function, iterable, ...)

对一个序列中的每一个元素都传到函数中执行并返回

>>> list(map((lambda x : x +10),[1,2,3,4]))
[11, 12, 13, 14]

max(iterable, *[, key, default])

max(arg1, arg2, *args[, key])

取一个对象中的最大值

 >>> li = list([11,22,33,44])
 >>> li = [11,22,33,44]
 >>> max(li)
44

memoryview(obj)

返回对象obj的内存查看对象

 >>> import struct
 >>> buf = struct.pack("i"*12, *list(range(12)))
 >>> x = memoryview(buf)
 >>> y = x.cast(&#39;i&#39;, shape=[2,2,3])
 >>> print(y.tolist())
[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]

min(iterable, *[, key, default])

min(arg1, arg2, *args[, key])

取一个对象中的最小值

 >>> li = list([11,22,33,44])
 >>> li = [11,22,33,44]
 >>> min(li)
11

next(iterator[, default])

每次只拿取可迭代对象的一个元素

 >>> obj = iter([11,22,33,44])
 >>> next(obj)
11
 >>> next(obj)
22
 >>> next(obj)
33
 >>> next(obj)
44
 >>> next(obj)
 # 如果没有可迭代的元素了就会报错
Traceback (most recent call last):
  File "", line 1, in 
StopIteration

object

返回一个新的无特征对象

oct(x)

获取一个字符串的八进制

 >>> oct(13)
&#39;0o15&#39;

open(file, mode=&#39;r&#39;, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

文件操作的函数,用来做文件操作的

 # 打开一个文件
- >>> f = open("a.txt","r")

ord(c)

把一个字母转换为ASCII对对应表中的数字

 >>> ord("a")
97
 >>> ord("t")
116

pow(x, y[, z])

返回一个数的N次方

 >>> pow(2, 10)
1024
 >>> pow(2, 20)
1048576

print(*objects, sep=&#39; &#39;, end=&#39;n&#39;, file=sys.stdout, flush=False)

打印输出

 >>> print("hello word")
hello word

property(fget=None, fset=None, fdel=None, doc=None)

range(start, stop[, step])

生成一个序列

 >>> range(10)
range(0, 10)
 >>> for n in range(5):
 ...  print(n)
 ...
0
1
2
3
4

repr(object)

返回一个包含对象的可打印表示的字符串

>>> repr(111)
&#39;111&#39;
>>> repr(111.11)
&#39;111.11&#39;

reversed(seq)

对一个对象的元素进行反转

 >>> li = [1, 2, 3, 4]
 >>> reversed(li)

 >>> for n in reversed(li):
 ...  print(n)
 ...
4
3
2
1

round(number[, ndigits])

四舍五入

 >>> round(3.3)
3
 >>> round(3.7)
4

set([iterable])

创建一个数据类型为集合

 >>> varss = set([11,222,333])
 >>> type(varss)

setattr(object, name, value)

为某个对象设置一个属性

slice(start, stop[, step])

元素的切片操作都是调用的这个方法

sorted(iterable, key)

为一个对象的元素进行排序

代码:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

char=[&#39;赵&#39;,"123", "1", "25", "65","679999999999", "a","B","alex","c" ,"A", "_", "ᒲ",&#39;a钱&#39;,&#39;孙&#39;,&#39;李&#39;,"余", &#39;佘&#39;,"佗", "㽙", "铱", "钲钲㽙㽙㽙"]

new_chat = sorted(char)
print(new_chat)
for i in new_chat:
    print(bytes(i, encoding=&#39;utf-8&#39;))

输出结果:

C:\Python35\python.exe F:/Python_code/Note/soretd.py
[&#39;1&#39;, &#39;123&#39;, &#39;25&#39;, &#39;65&#39;, &#39;679999999999&#39;, &#39;A&#39;, &#39;B&#39;, &#39;_&#39;, &#39;a&#39;, &#39;alex&#39;, &#39;a钱&#39;, &#39;c&#39;, &#39;ᒲ&#39;, &#39;㽙&#39;, &#39;佗&#39;, &#39;佘&#39;, &#39;余&#39;, &#39;孙&#39;, &#39;李&#39;, &#39;赵&#39;, &#39;钲钲㽙㽙㽙&#39;, &#39;铱&#39;]
b&#39;1&#39;
b&#39;123&#39;
b&#39;25&#39;
b&#39;65&#39;
b&#39;679999999999&#39;
b&#39;A&#39;
b&#39;B&#39;
b&#39;_&#39;
b&#39;a&#39;
b&#39;alex&#39;
b&#39;a\xe9\x92\xb1&#39;
b&#39;c&#39;
b&#39;\xe1\x92\xb2&#39;
b&#39;\xe3\xbd\x99&#39;
b&#39;\xe4\xbd\x97&#39;
b&#39;\xe4\xbd\x98&#39;
b&#39;\xe4\xbd\x99&#39;
b&#39;\xe5\xad\x99&#39;
b&#39;\xe6\x9d\x8e&#39;
b&#39;\xe8\xb5\xb5&#39;
b&#39;\xe9\x92\xb2\xe9\x92\xb2\xe3\xbd\x99\xe3\xbd\x99\xe3\xbd\x99&#39;
b&#39;\xe9\x93\xb1&#39;

Process finished with exit code 0

staticmethod(function)

返回函数的静态方法

str(object=b&#39;&#39;, encoding=&#39;utf-8&#39;, errors=&#39;strict&#39;)

字符串

 >>> a = str(111)
 >>> type(a)

sum(iterable[, start])

求和

 >>> sum([11,22,33])
66

super([type[, object-or-type]])

执行父类的构造方法

tuple([iterable])

创建一个对象,数据类型为元组

>>> tup = tuple([11,22,33,44])
>>> type(tup)

type(object)

查看一个对象的数据类型

 >>> a = 1
 >>> type(a)

 >>> a = "str"
 >>> type(a)

vars([object])

查看一个对象里面有多少个变量

zip(*iterables)

将两个元素相同的序列转换为字典

>>> li1 = ["k1","k2","k3"]
>>> li2 = ["a","b","c"]
>>> d = dict(zip(li1,li2))
>>> d
{&#39;k1&#39;: &#39;a&#39;, &#39;k2&#39;: &#39;b&#39;, &#39;k3&#39;: &#39;c&#39;}

__import__(name, globals=None, locals=None, fromlist=(), level=0)

导入模块,把导入的模块作为一个别名

生成随机验证码例子

生成一个六位的随机验证码,且包含数字,数字的位置随机

# 导入random模块
import random
temp = ""
for i in range(6):
    num = random.randrange(0,4)
    if num == 3 or num == 1:
        rad2 = random.randrange(0,10)
        temp = temp + str(rad2)
    else:
        rad1 = random.randrange(65,91)
        c1 = chr(rad1)
        temp = temp + c1
print(temp)

输出结果

C:\Python35\python.exe F:/Python_code/sublime/Day06/built_in.py
72TD11


更多Python全栈之路系列之Python3内置函数 相关文章请关注PHP中文网!
推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 本文介绍了在Python中检查字符串是否为字母、数字或空白字符的几种方法,包括使用str.isalnum()、str.isalpha()、str.isdigit()和str.isspace()等函数进行判断。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
author-avatar
mobiledu2502908023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有