设为首页 加入收藏

TOP

Python常用的内置函数(二)
2019-01-11 16:08:48 】 浏览:178
Tags:Python 常用 内置 函数
any

接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

a = []
ret = any(a)
print(ret)
b = [1]
ret1 = any(b)
print(ret1)

  36 zip

list1 = [1, 2, 3, 4]
list2 = ["a", "b", "c"]
s = zip(list1, list2)
print(list(s)) 

  37 filter

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list

def is_odd(x):
    return x % 2 == 1
然后,利用filter()过滤掉偶数:

list(filter(is_odd, [1, 4, 6, 7, 9, 12, 17]))

  38 map

map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

>>> L = [1,2,3,4,] 
>>> def pow2(x): 
... return x*x 
... 
>>> list(map(pow2,L))
[1, 4, 9, 16] 

 

三 作用域相关

  1 locals   获取执行本方法所在命名空间内的局部变量的字典

  2 globals  获取全局变量的字典

四 面向对象相关

  1 type  元类,类的最高层

  2 object

  3 classmethod    类方法,用来修改类变量的

  4 staticmethod    静态方法,用来处理一些和操作类无关的事

  5 property    可以像调用一个变量一样调用一个方法

 class Pager:
     def __init__(self,page):
         self.page = page
       self.page_num = 12

    @property
     def start(self):
         ret = (self.page - 1) * self.page_num
         return ret
     @property
     def end(self):
         ret = self.page * self.page_num
        return ret

 p = Pager(5)
 # print(p.start())
 # print(p.end())
 print(p.start)
 print(p.end)

 

  6  vars  

  7 super  在多继承中,可以保证顶层父类只被调用一次 ,用 _ _mro_ _ 查看多继承规律时,遵循深度优先原则

  8 issubclass

检查第一个参数是否是第二个参数的子子孙孙类    

返回  :   是一个布尔值

class Base(object):
    pass

class Foo(Base):
    pass

class Bar(Foo):
    pass

print(issubclass(Bar,Base))  # 检查第一个参数是否是第二个参数的子子孙孙类

  9 isinstance

检查第一个参数(对象) 是否是第二个参数(类及父类)的实例.

返回值:  布尔型

class Base(object):
    pass

class Foo(Base):
    pass

obj = Foo()

print(isinstance(obj,Foo))
print(isinstance(obj,Base))

判断一个数据是什么数据类型 a
= "python" ret = isinstance(a,str) print(a)

 

五 迭代/生成器相关

  1 next

  2 iter  

  3 range

range 是一个生成器,他只用来存储数据的生成方式,而不直接存储数据
# 列表解析
sum([i for i in range(100000000)])# 内存占用大,机器容易卡死
 
# 生成器表达式
sum(i for i in range(100000000))# 几乎不占内存

六 其他

  字符串类型代码执行相关  

  1 eva l

eva l() 将字符串类型的代码执行并返回结果

print(eva l('1+2+3+4'))

还可以用来操作文件,将文件里面的内容转化为字典,方便调用

 

 
 

  2 exec

exec()将自字符串类型的代码执行

print(exec("1+2+3+4"))
exec("print('hello,world')")

  3 compile

参数说明:

    1> 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。       2>参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。       3> 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eva l’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表      达式,model应指定为‘eva l’;当source中包含了交互式命令语句,model应指定为'single'

 

  输入/输出相关

  4 input

  5 print

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
      print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
      file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件
      sep: 打印多个值之间的分隔符,默认为空格
      end: 每一次打印的结尾,默认为换行符
      flush: 立即把内容输出到流文件,不作缓存
    """

    file() 和文件有关的关键字

    f = open('tmp_file','w')
    print(123,456,sep=',',file = f,flush=True)
    打印进度条             
import time       for i in range(0,101,2):       time.sleep(0.1)       char_num = i//2 #打印多少个'*'       per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)       print(per_str,end='', flush=True)       #小越越 : \r 可以把光标移动到行首但不换行

  内存相关

  6 id

  7 hash

  文件操作相关

  8 open

共有六种操作文件的方分别为:  r、w、a、r+、w+、a+  ,每一种都可以用二进制文件来操作:rb、wb、ab、rb+、wb+、ab+,也可以指定编码格式

  模块相关

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇OpenCV中图像的BGR格式及Img对象.. 下一篇如何对前端图片主题色进行提取?..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目