Pythonn 内置函数

abs 绝对值

n = abs(-1)
print(n)

=========================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
1

Process finished with exit code 0
abs 实例

all  所有为真,才为真

any 只要有真,就为真

n = all([1,2,3,4])
print(n)
n = all([0,2,3,4])
print(n)
n = any([[],1,"",None])
print(n)
n = any([[],0,"",None])
print(n)

============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
True
False
True
False

Process finished with exit code 0
all any 实例

bool 值(0,None,"",[]......)

print(bool())

===============================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
False

Process finished with exit code 0
bool值,实例

ascii 自动执行对象 _repr_ 方式

class Foo:
    def __repr__(self):
        return "444"
n = ascii(Foo())
print(n)

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
444

Process finished with exit code 0
ascii 实例

bin() 将10进制转换成2进制

oct() 将10进制转换成8进制

hex() 将10进制转换成16进制

print(bin(5))
print(oct(9))
print(hex(15))

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
0b101
0o11
0xf

Process finished with exit code 0
bin oct hex 实例

callable 查看函数是否可以被调用

def f1():
    pass
f2 = 123
print(callable(f1))
print(callable(f2))

=====================================

/usr/bin/python3.5 /home/liangml/pythonscript/test1.py
0b101
0o11
0xf

Process finished with exit code 0
callable 实例

chr 将数字转换成字母

ord 将字母转换成数字

r = chr(65)
print(r)
n = ord('A')
print(n)

======================================

r = chr(65)
print(r)
n = ord('A')
print(n)
chr ord 实例
引入random 模块,制作随机验证码(字母随机验证码),每次切换都有不同的效果

import random
li = []
for i in range(6):
    temp = random.randrange(65,91)
    c = chr(temp)
    li.append(c)
#li = ["c","b","a"]#cba
result = "".join(li)
print(result)

==========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
MFRAID

Process finished with exit code 0
随机验证码 1(字母)
import random
li = []
for i in range(6):
    if i == 2 or i == 4:
        num = random.randrange(0,10)
        li.append(str(num))
    else:
        temp = random.randrange(65,91)
        c = chr(temp)
        li.append(c)
result = ''.join(li)
print(result)

=========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
YY7X4V

Process finished with exit code 0
随机验证码 2(有序插入数字)
import random
li = []
for i in range(6):
    r = random.randrange(0,5)
    if r == 2 or r == 4:
        num = random.randrange(0,10)
        li.append(str(num))
    else:
        temp = random.randrange(65,91)
        c = chr(temp)
        li.append(c)
result = ''.join(li)
print(result)

==============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
VF95VR

Process finished with exit code 0
随机验证码 3(所有字母及数字都无序)

compile() 将字符串编译成python代码

eval() 执行表达式,并返回值

exec() 执行python代码,接受代码或者是字符串(没有返回值)

s = 'print(123)'
#编译 single,eval,exec
r = compile(s,"<string>","exec")
#执行python代码
exec(r)

=============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
123

Process finished with exit code 0
compile exec 配合使用
s = '8*8'
ret = eval(s)
print(ret)

=================================================


/usr/bin/python3.5 /home/liangml/pythonscript/test.py
64

Process finished with exit code 0
eval 使用

dir 快速获取一个对象提供了什么功能

help 同dir功能一样,区别在于help可以列出使用详情

print(dir(list))

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__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']

Process finished with exit code 0
dir 实例
help(list)

=================================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
Help on class list in module builtins:

class list(object)
 |  list() -> new empty list
 |  list(iterable) -> new list initialized from iterable's items
 |  
 |  Methods defined here:
 |  
 |  __add__(self, value, /)
 |      Return self+value.
 |  
 |  __contains__(self, key, /)
 |      Return key in self.
 |  
 |  __delitem__(self, key, /)
 |      Delete self[key].
 |  
 |  __eq__(self, value, /)
 |      Return self==value.
 |  
 |  __ge__(self, value, /)
 |      Return self>=value.
 |  
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |  
 |  __getitem__(...)
 |      x.__getitem__(y) <==> x[y]
 |  
 |  __gt__(self, value, /)
 |      Return self>value.
 |  
 |  __iadd__(self, value, /)
 |      Implement self+=value.
 |  
 |  __imul__(self, value, /)
 |      Implement self*=value.
 |  
 |  __init__(self, /, *args, **kwargs)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  __iter__(self, /)
 |      Implement iter(self).
 |  
 |  __le__(self, value, /)
 |      Return self<=value.
 |  
 |  __len__(self, /)
 |      Return len(self).
 |  
 |  __lt__(self, value, /)
 |      Return self<value.
 |  
 |  __mul__(self, value, /)
 |      Return self*value.n
 |  
 |  __ne__(self, value, /)
 |      Return self!=value.
 |  
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.
 |  
 |  __repr__(self, /)
 |      Return repr(self).
 |  
 |  __reversed__(...)
 |      L.__reversed__() -- return a reverse iterator over the list
 |  
 |  __rmul__(self, value, /)
 |      Return self*value.
 |  
 |  __setitem__(self, key, value, /)
 |      Set self[key] to value.
 |  
 |  __sizeof__(...)
 |      L.__sizeof__() -- size of L in memory, in bytes
 |  
 |  append(...)
 |      L.append(object) -> None -- append object to end
 |  
 |  clear(...)
 |      L.clear() -> None -- remove all items from L
 |  
 |  copy(...)
 |      L.copy() -> list -- a shallow copy of L
 |  
 |  count(...)
 |      L.count(value) -> integer -- return number of occurrences of value
 |  
 |  extend(...)
 |      L.extend(iterable) -> None -- extend list by appending elements from the iterable
 |  
 |  index(...)
 |      L.index(value, [start, [stop]]) -> integer -- return first index of value.
 |      Raises ValueError if the value is not present.
 |  
 |  insert(...)
 |      L.insert(index, object) -- insert object before index
 |  
 |  pop(...)
 |      L.pop([index]) -> item -- remove and return item at index (default last).
 |      Raises IndexError if list is empty or index is out of range.
 |  
 |  remove(...)
 |      L.remove(value) -> None -- remove first occurrence of value.
 |      Raises ValueError if the value is not present.
 |  
 |  reverse(...)
 |      L.reverse() -- reverse *IN PLACE*
 |  
 |  sort(...)
 |      L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
 |  
 |  ----------------------------------------------------------------------
 |  Data and other attributes defined here:
 |  
 |  __hash__ = None


Process finished with exit code 0
help 实例

divmod 自动求出商  余数

r = divmod(97,10)
print(r)
n1,n2 = divmod(97,10)

=============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
(9, 7)

Process finished with exit code 0
divmod 实例

isinstance 判断对象是否是类的实例

s = 'liangml'
r = isinstance(s,str)
print(r)

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
True
<class 'str'> {"k1":"v1"}
<class 'dict'> {'k1': 'v1'}

Process finished with exit code 0
isinstance 实例

 filter  map(函数可迭代对象)

两者区别
  filter:函数返回True,将元素添加到结果中
  map:将函数返回值添加到结果中
filter 函数讲解
def f1(args):
    result = []
    for item in args:
        if item > 22:
            result.append(item)
    return result
li = [11,22,33,44,55]
ret = f1(li)
print(ret)

===============================================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
[33, 44, 55]

Process finished with exit code 0
+++++++++++通过lambda表达式也可以实现相同的功能(自动return)+++++++++
f1 = lambda  a: a >30
ret =f1(90)
print(ret)

li = [11,22,33,44,55]
result = filter(lambda  a: a > 33,li)
print(list(result))

=========================运行结果===========================
/usr/bin/python3.5 /home/liangml/pythonscript/test.py
True
[44, 55]

Process finished with exit code 0

filter 函数运行原理

def f2(a):
    if a>22:
        return True
li = [11,22,33,44,55]
#result = []
#for item in 第二个参数(参数)
#       r = 第一个参数(item)
#       if r:
#           result(item)
#return result
#fileter,循环第二个参数,让每个循环元素执行函数,如果函数返回值Ture,表示元素合法
ret = filter(f2,li)
print(list(ret))

map 函数讲解(函数可以使用for循环)

===================for循环实例==========================
li = [11,22,33,44,55]

def f1(args):
    result = []
    for i in args:
        result.append(100+i)

    return result
r = f1(li)
print(r)
====================运行结果=============================
/usr/bin/python3.5 /home/liangml/pythonscript/test.py
[111, 122, 133, 144, 155]

Process finished with exit code 0

====================设定函数运行===========================

def f2(a):
    return a + 100
result = map(f2,li)
print(list(result))
++++++++++++++++++++运行结果+++++++++++++++++++++++++++++++

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
[111, 122, 133, 144, 155]

Process finished with exit code 0

===================也可以使用lambda表达式来实现==============

result = map(lambda  a: a+200,li)
print(list(result))

++++++++++++++++++++运行结果+++++++++++++++++++++++++++++
/usr/bin/python3.5 /home/liangml/pythonscript/test.py
[211, 222, 233, 244, 255]

Process finished with exit code 0
filter map 实例 

float 把一个数转换成浮点型

frozenset 集合set set基础上不可变的集合

globals 所有的全局变量/locals 所有的局部变量

NAME = "liangml"
def show():
    a = 123
    print(locals())
    print(globals())
show()
globals locals 实例

hash 将某一个类型的数据转换成hash值

s = 'hhh123123123'
print(hash(s))

=============运行结果=====================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
105733462617069300

Process finished with exit code 0
hash 实例

 len 查看某个字符串的长度

s = '梁孟麟'
b = bytes(s,encoding='utf-8')
print(len(s))
print(len(b))

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
3
9

Process finished with exit code 0
len 实例

max() 求最大值/min() 求最小值/num() 求和/pow 求次方

q = max(2,10)
w = min(2,10)
e = sum([],10)
r = pow(2,10)
print(q)
print(w)
print(e)
print(r)

========================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
10
2
10
1024

Process finished with exit code 0
max/min/sum/pow 实例

round 四舍五入

r = round(1,4)
print(r)

============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
1

Process finished with exit code 0
round 实例

slice() 切片功能

s = 'ssssssssssss'
print(s[0:2])

================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
ss

Process finished with exit code 0
slice 实例

sorted 排序

li = [11,2,1,1]
r1 = li.sort()
r2 = sorted(li)
print(r1)
print(r2)

===============================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
None
[1, 1, 2, 11]

Process finished with exit code 0
sorted 实例

zip 压缩分类元素

l1 = ['liangml',11,22,33]
l2 = ['is',11,22,33]
l3 = ['nb',11,22,33]
r = zip(l1,l2,l3)
print(list(r))

============================================
/usr/bin/python3.5 /home/liangml/pythonscript/test.py
[('liangml', 'is', 'nb'), (11, 11, 11), (22, 22, 22), (33, 33, 33)]

Process finished with exit code 0
json将字符串转换成Python的基本数据类型,{},[],注意:字符串形式的字典{"k1":"v1"}内部的字符串必须是双引号
s = "[11,22,33,44,55]"
s = '{"k1":"v1"}'
print(type(s),s)
import json
n = json.loads(s)
print(type(n),n)

=============================================

/usr/bin/python3.5 /home/liangml/pythonscript/test.py
<class 'str'> {"k1":"v1"}
<class 'dict'> {'k1': 'v1'}

Process finished with exit code 0
json 实例

 

posted @ 2016-10-21 13:31  Callum  阅读(647)  评论(0编辑  收藏  举报