广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python常用的内置函数
  • 143
分享到

Python常用的内置函数

函数常用Python 2023-01-30 22:01:27 143人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一  反射相关   1 hasattr   根据字符串的形式 , 去判断对象中是否有成员 hasattr(object,name) 判断对象object是否包含名为name的特性(hasattr是通过调用getattr(objec

一  反射相关

  1 hasattr   根据字符串的形式 , 去判断对象中是否有成员

hasattr(object,name)
判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。
参数object:对象
参数name:特性名称
>>> hasattr(list, 'append')
True
>>> hasattr(list, 'add')
False
View Code

 

  2 getattr  根据字符串的形式,去对象中找成员.   第一个参数是(模块或对象或类),  第二个参数是(用户输入或值)getattr(object, name [, defalut])获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性

且提供default参数,将返回default。
参数object:对象
参数name:对象的特性名
参数default:缺省返回值
>>> class test():
...  name="ming"
...   def run(self):
...     return "Hello World"
...
>>> t=test()
>>> getattr(t, "name") #获取name属性,存在就打印出来。
'ming'
>>> getattr(t, "run") #获取run方法,存在就打印出方法的内存地址。
<bound method test.run of <__main__.test instance at 0x0269C878>>
>>> ret = getattr(t, "run")() #获取run方法,后面加括号可以将这个方法运行。
>>> print(ret)
'Hello World' >>> getattr(t, "age") #获取一个不存在的属性。 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: test instance has no attribute 'age' >>> getattr(t, "age","18") #若属性不存在,返回一个默认值。 '18' >>>

 

 

  3 setattr   根据字符串的形式 , 动态的设置一个成员(在内存中)  (三个参数, 第一个参数是要设置的变量, 第三个变量是要设置的值)

给对象的属性赋值,若属性不存在,先创建再赋值
>>> class test():
...     name="ming"
...     def run(self):
...             return "Hello World"
...
>>> t=test()
>>> hasattr(t, "age")   #判断属性是否存在
False
>>> setattr(t, "age", "18")   #为属相赋值,并没有返回值
>>> hasattr(t, "age")    #属性存在了
True
View Code

 

  4 delattr     

综合使用

>>> class test():
       name="ming"
       def run(self):
             return "Hello World">>> t=test()
>>> getattr(t, "age")    #age属性不存在
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: test instance has no attribute 'age'


>>> if getattr(t ,"age") is none: #当获取到这个age值为空时,需要给这个age重新赋值
    setattr(t,"age","18")
'True'

>>>getattr(t,"age")
'18'

 

 

 

二 基础数据类型相关

  1 bool     

  2 int

  3 float

  4 complex   复数   

complex(5,6)    

(5+6j)

  5 bin  整型转换为二进制

  6 oct  整型转换为八进制

  7 hex  整型转换为十六进制

  8 abs  求绝对值

  9 divmod  (除,余数)

  10 round     (值,小数后几位)

 ret =  round(4.563111347,3)    

 print(ret)

 4.563

 

  11 pow  幂运算

ret = pow(2,3)
print(ret)

8

 

  12 sum  

  13 max

  14 min

  15 list 

  16 tuple

  17 reversed  

       18  slice   和切片有关

  19 str

  20 fORMat    

  21 bytes

  22 bytearry

  23 memoryview

  24 ord

  25 chr

  26 ascill

  27 repr

  28 dict

  29 set()

  30 frozenset

  31 len

  32 sorted

a = [1,3,5,-2,-4,-6]
b = sorted(a,key=abs)
print(a)
print(b)

  33 enumerate   

 a = enumerate()  返回一个元祖  a[0]序列号,a[1]数据

  34 all

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

>>> tmp_1 = ['python',123]
>>> all(tmp_1)
True
>>> tmp_2 = []
>>> all(tmp_2)
True
>>> tmp_3 = [0]
>>> all(tmp_3)
False

  35 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 eval

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

print(eval('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’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表       达式,model应指定为‘eval’;当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+,也可以指定编码格式

  模块相关

  9 __import__

  帮助相关

  10 help

  调用相关

  11 callable      检测一个对象能否被调用

  查看内置属性和方法

  12 dir

dir(list)
dir(a)
dir(123)

 

内置函数官方文档        https://docs.python.org/3/library/functions.html#object

 

--结束END--

本文标题: Python常用的内置函数

本文链接: https://www.lsjlt.com/news/180056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python常用的内置函数
    一  反射相关   1 hasattr   根据字符串的形式 , 去判断对象中是否有成员 hasattr(object,name) 判断对象object是否包含名为name的特性(hasattr是通过调用getattr(objec...
    99+
    2023-01-30
    函数 常用 Python
  • python-常用内置函数
    1.其他   - len / open / id / range / type 2.输入输出   - print / input  3.强制转换   - dict / list / tuple / int / str / bool / ...
    99+
    2023-01-31
    函数 常用 python
  • Python中常用的内置函数
    目录一、map()二、filter()三、all()四、int()五、ord()六、chr()七、isalpha()八、isnumeric()九、upper()十、isup...
    99+
    2022-11-10
  • python常见的内置函数
    函数分为自定义函数和内置函数 python内置函数分类: 一、强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 二、输入输出 input() / prin...
    99+
    2023-01-31
    函数 常见 python
  • python 几个常用的内置函数
    __init__(self [,args])构造函数是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值简单的调用方法: obj = className(args)__init__是当实例对象创建完成后被调用的,然后设置对象属性的一...
    99+
    2023-01-31
    几个 函数 常用
  • 常用的Python内置函数有哪些
    这篇文章主要为大家展示了“常用的Python内置函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“常用的Python内置函数有哪些”这篇文章吧。内置函数简介Python 解释器自带的函数叫...
    99+
    2023-06-15
  • Python常用内置函数怎么使用
    这篇文章主要介绍“Python常用内置函数怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python常用内置函数怎么使用”文章能帮助大家解决问题。一、abs()abs() 用于返回一个数的绝...
    99+
    2023-07-05
  • Python中常用的内置函数有哪些
    小编给大家分享一下Python中常用的内置函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!complex()返回一个形如 a+bj 的复数,传入参数分为三...
    99+
    2023-06-22
  • Python中10个常用的内置函数详解
    目录complex()dir()divmod(a,b)enumerate(iterable,start=0)eval(expression,globals,locals)filter...
    99+
    2022-11-12
  • Python中非常好用的内置函数详解
    目录Counter举例实战sortedallF-strings总结 Python中冷门但非常好用的内置函数 Counter举例 实战sortedallF-strings Pytho...
    99+
    2022-11-12
  • Python常用内置函数的使用教程详解
    目录导言一、abs()二、aiter()函数三、all()函数四、anext()五、any()函数六、ascii()函数导言 Python官方文档对于内置函数的介绍较为简略...
    99+
    2023-05-14
    Python常用内置函数使用 Python常用内置函数 Python 内置函数
  • python字典dict中常用内置函数的使用
    目录前言1.dict.clear2.dict.get3.dict.items4.dict.keys5.dict.values6.dict.pop7.dict.popitem8.dic...
    99+
    2023-05-16
    python字典dict内置函数 python dict内置函数
  • Python的内置函数
    1.什么是内置函数   就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 截止到python版本3.6 python一共提供了68个内置函数. 他们就是python直接提供给我们的 Makedo...
    99+
    2023-01-31
    函数 Python
  • Python常见内置高阶函数即高阶函数用法
    目录1.什么是高阶函数?2.高阶函数-map、filter、reduce2.1map函数2.2filter函数2.3reduce函数1.什么是高阶函数?   高阶函数:一个函数可...
    99+
    2022-11-12
  • python 内置函数
    python内置了一系列的常用函数,以便于我们使用python。基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。官方文档:https://docs...
    99+
    2023-01-30
    函数 python
  • python内置函数
    什么是内置函数 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直接提供给我们的,有一些我们已经见过了. ...
    99+
    2023-01-30
    函数 python
  • 如何理解Python常用模块中常用内置函数
    如何理解Python常用模块中常用内置函数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道...
    99+
    2023-06-17
  • python3常用内置函数总结
    #(1)作用域print(globals()) #全局作用域,显示出全局所有函数和变量名print(locals()) #本地作用域,显示出当前所处作用域的函数和变量名 #(2)输入与输出a = input('请输入内容:') #...
    99+
    2023-01-31
    函数 常用
  • Python 内置函数sorted()的用法
    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数...
    99+
    2022-11-13
  • python字典dict中常用的内置函数怎么使用
    本文小编为大家详细介绍“python字典dict中常用的内置函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python字典dict中常用的内置函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作