python中数学函数都有哪些,python基本函数有哪些

  python中数学函数都有哪些,python基本函数有哪些

  Python的内置函数及其用法。为了方便记忆,很多开发者将这些内置函数分类如下:

  数学运算(7)

  式转换(24)

  顺序操作(8)

  行动(7)

  反思行动(8)

  变量运算(2)

  互操作(2)

  文件操作(1)

  编译与执行(4)

  装饰者(3件)

  热门IT软件开发工作室,大量免费python视频教程,欢迎在线学习!

  让我们来看看每个类别都包含哪些内置函数:

  相关:《Python教程》

  具体每个函数的解析如下:

  数学运算

  Abs:求值的绝对值

  绝对误差(-2)

  2divmod:返回两个数的商和余数。

  divmod(5,2)

  (2,1)

  divmod(5.5,2)

  (2.0,1.5)max:返回iterable对象中元素或所有参数的值。

  Max(1,2,3)#取三个传入参数中较大的一个。

  三

  Max(1234)#传入1个iterable对象并获取其元素值。

  4

  Max(-1,0)#值默认为较大的值。

  0

  Max(-1,0,key=abs)#绝对值函数传入,所以会计算参数的绝对值然后取较大的一个。

  -1min:返回iterable对象中元素的最小值或所有参数的最小值。

  Min(1,2,3)#取三个传入参数中较小的一个。

  一个

  Min(1234)#传入1个iterable对象并获取其最小元素值。

  1

  min(-1,-2)#值默认为较小的值。

  -2

  Min(-1,-2,key=abs)#如果传入绝对值函数,将计算参数的绝对值,然后取较小的一个。

  -1pow:返回两个数的取幂值或它们与指定整数的模。

  幂(2,3)

  2**3

  幂(2,3,5)

  Pow(2,3)%5round:对浮点数进行舍入。

  四舍五入(1.1314926,1)

  1.1

  四舍五入(1.1314926,5)

  1.13149sum:对元素类型为数字的迭代对象中的每个元素求和。

  #传入一个iterable对象

  sum((1,2,3,4))

  10

  #元素类型必须是数字。

  总和((1.5,2.5,3.5,4.5))

  12.0

  sum((1,2,3,4),-10)

  0类型转换

  Bool:基于传入参数的逻辑值创建一个新的布尔值。

  class="brush:php;toolbar:false">>>>bool()#未传入参数

  False

  >>>bool(0)#数值0、空序列等值为False

  False

  >>>bool(1)

  Trueint:根据传入的参数创建一个新的整数

  

>>>int()#不传入参数时,得到结果0。

  0

  >>>int(3)

  3

  >>>int(3.6)

  3

float:根据传入的参数创建一个新的浮点数

  

>>>float()#不提供参数的时候,返回0.0

  0.0

  >>>float(3)

  3.0

  >>>float('3')

  3.0

complex:根据传入参数创建一个新的复数

  

>>>complex()#当两个参数都不提供时,返回复数0j。

  0j

  >>>complex('1+2j')#传入字符串创建复数

  (1+2j)

  >>>complex(1,2)#传入数值创建复数

  (1+2j)

str:返回一个对象的字符串表现形式(给用户)

  

>>>str()

  ''

  >>>str(None)

  'None'

  >>>str('abc')

  'abc'

  >>>str(123)

  '123'

bytearray:根据传入的参数创建一个新的字节数组

  

>>>bytearray('中文','utf-8')

  bytearray(b'\xe4\xb8\xad\xe6\x96\x87')

bytes:根据传入的参数创建一个新的不可变字节数组

  

>>>bytes('中文','utf-8')

  b'\xe4\xb8\xad\xe6\x96\x87'

memoryview:根据传入的参数创建一个新的内存查看对象

  

>>>v=memoryview(b'abcefg')

  >>>v[1]

  98

  >>>v[-1]

  103

ord:返回Unicode字符对应的整数

  

>>>ord('a')

  97

chr:返回整数所对应的Unicode字符

  

>>>chr(97)#参数类型为整数

  'a'

bin:将整数转换成2进制字符串

  

>>>bin(3)

  '0b11'

oct:将整数转化成8进制数字符串

  

>>>oct(10)

  '0o12'

hex:将整数转换成16进制字符串

  

>>>hex(15)

  '0xf'

tuple:根据传入的参数创建一个新的元组

  

>>>tuple()#不传入参数,创建空元组

  ()

  >>>tuple('121')#传入可迭代对象。使用其元素创建新的元组

  ('1','2','1')

list:根据传入的参数创建一个新的列表

  

>>>list()#不传入参数,创建空列表

  []

  >>>list('abcd')#传入可迭代对象,使用其元素创建新的列表

  ['a','b','c','d']

dict:根据传入的参数创建一个新的字典

  

>>>dict()#不传入任何参数时,返回空字典。

  {}

  >>>dict(a=1,b=2)#可以传入键值对创建字典。

  {'b':2,'a':1}

  >>>dict(zip(['a','b'],[1,2]))#可以传入映射函数创建字典。

  {'b':2,'a':1}

  >>>dict((('a',1),('b',2)))#可以传入可迭代对象创建字典。

  {'b':2,'a':1}

set:根据传入的参数创建一个新的集合

  

>>>set()#不传入参数,创建空集合

  set()

  >>>a=set(range(10))#传入可迭代对象,创建集合

  >>>a

  {0,1,2,3,4,5,6,7,8,9}

frozenset:根据传入的参数创建一个新的不可变集合

  

>>>a=frozenset(range(10))

  >>>a

  frozenset({0,1,2,3,4,5,6,7,8,9})

enumerate:根据可迭代对象创建枚举对象

  

>>>seasons=['Spring','Summer','Fall','Winter']

  >>>list(enumerate(seasons))

  [(0,'Spring'),(1,'Summer'),(2,'Fall'),(3,'Winter')]

  >>>list(enumerate(seasons,start=1))#指定起始值

  [(1,'Spring'),(2,'Summer'),(3,'Fall'),(4,'Winter')]

range:根据传入的参数创建一个新的range对象

  

>>>a=range(10)

  >>>b=range(1,10)

  >>>c=range(1,10,3)

  >>>a,b,c#分别输出a,b,c

  (range(0,10),range(1,10),range(1,10,3))

  >>>list(a),list(b),list(c)#分别输出a,b,c的元素

  ([0,1,2,3,4,5,6,7,8,9],[1,2,3,4,5,6,7,8,9],[1,4,7])

  >>>

iter:根据传入的参数创建一个新的可迭代对象

  

>>>a=iter('abcd')#字符串序列

  >>>a

  <str_iteratorobjectat0x03FB4FB0>

  >>>next(a)

  'a'

  >>>next(a)

  'b'

  >>>next(a)

  'c'

  >>>next(a)

  'd'

  >>>next(a)

  Traceback(mostrecentcalllast):

  File"<pyshell#29>",line1,in<module>

  next(a)

  StopIteration

slice:根据传入的参数创建一个新的切片对象

  

>>>c1=slice(5)#定义c1

  >>>c1

  slice(None,5,None)

  >>>c2=slice(2,5)#定义c2

  >>>c2

  slice(2,5,None)

  >>>c3=slice(1,10,3)#定义c3

  >>>c3

  slice(1,10,3)

super:根据传入的参数创建一个新的子类和父类关系的代理对象

  

#定义父类A

  >>>classA(object):

  def__init__(self):

  print('A.__init__')

  #定义子类B,继承A

  >>>classB(A):

  def__init__(self):

  print('B.__init__')

  super().__init__()

  #super调用父类方法

  >>>b=B()

  B.__init__

  A.__init__

object:创建一个新的object对象

  

>>>a=object()

  >>>a.name='kim'#不能设置属性

  Traceback(mostrecentcalllast):

  File"<pyshell#9>",line1,in<module>

  a.name='kim'

  AttributeError:'object'objecthasnoattribute'name'

序列操作

  all:判断可迭代对象的每个元素是否都为True值

  

>>>all([1,2])#列表中每个元素逻辑值均为True,返回True

  True

  >>>all([0,1,2])#列表中0的逻辑值为False,返回False

  False

  >>>all(())#空元组

  True

  >>>all({})#空字典

  True

any:判断可迭代对象的元素是否有为True值的元素

  

>>>any([0,1,2])#列表元素有一个为True,则返回True

  True

  >>>any([0,0])#列表元素全部为False,则返回False

  False

  >>>any([])#空列表

  False

  >>>any({})#空字典

  False

filter:使用指定方法过滤可迭代对象的元素

  

>>>a=list(range(1,10))#定义序列

  >>>a

  [1,2,3,4,5,6,7,8,9]

  >>>defif_odd(x):#定义奇数判断函数

  returnx%2==1

  >>>list(filter(if_odd,a))#筛选序列中的奇数

  [1,3,5,7,9]

map:使用指定方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象

  

>>>a=map(ord,'abcd')

  >>>a

  <mapobjectat0x03994E50>

  >>>list(a)

  [97,98,99,100]

next:返回可迭代对象中的下一个元素值

  

>>>a=iter('abcd')

  >>>next(a)

  'a'

  >>>next(a)

  'b'

  >>>next(a)

  'c'

  >>>next(a)

  'd'

  >>>next(a)

  Traceback(mostrecentcalllast):

  File"<pyshell#18>",line1,in<module>

  next(a)

  StopIteration

  #传入default参数后,如果可迭代对象还有元素没有返回,则依次返回其元素值,如果所有元素已经返回,则返回default指定的默认

  值而不抛出StopIteration异常

  >>>next(a,'e')

  'e'

  >>>next(a,'e')

  'e'

reversed:反转序列生成新的可迭代对象

  

>>>a=reversed(range(10))#传入range对象

  >>>a#类型变成迭代器

  <range_iteratorobjectat0x035634E8>

  >>>list(a)

  [9,8,7,6,5,4,3,2,1,0]

sorted:对可迭代对象进行排序,返回一个新的列表

  

>>>a=['a','b','d','c','B','A']

  >>>a

  ['a','b','d','c','B','A']

  >>>sorted(a)#默认按字符ascii码排序

  ['A','B','a','b','c','d']

  >>>sorted(a,key=str.lower)#转换成小写后再排序,'a'和'A'值一样,'b'和'B'值一样

  ['a','A','b','B','c','d']

zip:聚合传入的每个迭代器中相同位置的元素,返回一个新的元组类型迭代器

  

>>>x=[1,2,3]#长度3

  >>>y=[4,5,6,7,8]#长度5

  >>>list(zip(x,y))#取最小长度3

  [(1,4),(2,5),(3,6)]

对象操作

  help:返回对象的帮助信息

  

>>>help(str)

  Helponclassstrinmodulebuiltins:

  classstr(object)

  str(object='')->str

  str(bytes_or_buffer[,encoding[,errors]])->str

  

  Createanewstringobjectfromthegivenobject.Ifencodingor

  errorsisspecified,thentheobjectmustexposeadatabuffer

  thatwillbedecodedusingthegivenencodinganderrorhandler.

  Otherwise,returnstheresultofobject.__str__()(ifdefined)

  orrepr(object).

  encodingdefaultstosys.getdefaultencoding().

  errorsdefaultsto'strict'.

  

  Methodsdefinedhere:

  

  __add__(self,value,/)

  Returnself+value.

  

  ***************************

dir:返回对象或者当前作用域内的属性列表

  

>>>importmath

  >>>math

  <module'math'(built-in)>

  >>>dir(math)

  ['__doc__','__loader__','__name__','__package__','__spec__','acos','acosh','asin','asinh','atan','atan2',

  'atanh','ceil','copysign','cos','cosh','degrees','e','erf','erfc','exp','expm1','fabs','factorial',

  'floor','fmod','frexp','fsum','gamma','gcd','hypot','inf','isclose','isfinite','isinf','isnan','ldexp',

  'lgamma','log','log10','log1p','log2','modf','nan','pi','pow','radians','sin','sinh','sqrt','tan',

  'tanh','trunc']

id:返回对象的唯一标识符

  

>>>a='sometext'

  >>>id(a)

  69228568

hash:获取对象的哈希值

  

>>>hash('goodgoodstudy')

  1032709256

type:返回对象的类型,或者根据传入的参数创建一个新的类型

  

>>>type(1)#返回对象的类型

  <class'int'>

  #使用type函数创建类型D,含有属性InfoD

  >>>D=type('D',(A,B),dict(InfoD='somethingdefinedinD'))

  >>>d=D()

  >>>d.InfoD

  'somethingdefinedinD'

len:返回对象的长度

  

>>>len('abcd')#字符串

  >>>len(bytes('abcd','utf-8'))#字节数组

  >>>len((1,2,3,4))#元组

  >>>len([1,2,3,4])#列表

  >>>len(range(1,5))#range对象

  >>>len({'a':1,'b':2,'c':3,'d':4})#字典

  >>>len({'a','b','c','d'})#集合

  >>>len(frozenset('abcd'))#不可变集合

ascii:返回对象的可打印表字符串表现方式

  

>>>ascii(1)

  '1'

  >>>ascii('&')

  "'&'"

  >>>ascii(9000000)

  '9000000'

  >>>ascii('中文')#非ascii字符

  "'\\u4e2d\\u6587'"

format:格式化显示值

  

#字符串可以提供的参数's'None

  >>>format('somestring','s')

  'somestring'

  >>>format('somestring')

  'somestring'

  #整形数值可以提供的参数有'b''c''d''o''x''X''n'None

  >>>format(3,'b')#转换成二进制

  '11'

  >>>format(97,'c')#转换unicode成字符

  'a'

  >>>format(11,'d')#转换成10进制

  '11'

  >>>format(11,'o')#转换成8进制

  '13'

  >>>format(11,'x')#转换成16进制小写字母表示

  'b'

  >>>format(11,'X')#转换成16进制大写字母表示

  'B'

  >>>format(11,'n')#和d一样

  '11'

  >>>format(11)#默认和d一样

  '11'

  #浮点数可以提供的参数有'e''E''f''F''g''G''n''%'None

  >>>format(314159267,'e')#科学计数法,默认保留6位小数

  '3.141593e+08'

  >>>format(314159267,'0.2e')#科学计数法,指定保留2位小数

  '3.14e+08'

  >>>format(314159267,'0.2E')#科学计数法,指定保留2位小数,采用大写E表示

  '3.14E+08'

  >>>format(314159267,'f')#小数点计数法,默认保留6位小数

  '314159267.000000'

  >>>format(3.14159267000,'f')#小数点计数法,默认保留6位小数

  '3.141593'

  >>>format(3.14159267000,'0.8f')#小数点计数法,指定保留8位小数

  '3.14159267'

  >>>format(3.14159267000,'0.10f')#小数点计数法,指定保留10位小数

  '3.1415926700'

  >>>format(3.14e+1000000,'F')#小数点计数法,无穷大转换成大小字母

  'INF'

  #g的格式化比较特殊,假设p为格式中指定的保留小数位数,先尝试采用科学计数法格式化,得到幂指数exp,如果-4<=exp<p,则采用

  小数计数法,并保留p-1-exp位小数,否则按小数计数法计数,并按p-1保留小数位数

  >>>format(0.00003141566,'.1g')#p=1,exp=-5==》-4<=exp<p不成立,按科学计数法计数,保留0位小数点

  '3e-05'

  >>>format(0.00003141566,'.2g')#p=1,exp=-5==》-4<=exp<p不成立,按科学计数法计数,保留1位小数点

  '3.1e-05'

  >>>format(0.00003141566,'.3g')#p=1,exp=-5==》-4<=exp<p不成立,按科学计数法计数,保留2位小数点

  '3.14e-05'

  >>>format(0.00003141566,'.3G')#p=1,exp=-5==》-4<=exp<p不成立,按科学计数法计数,保留0位小数点,E使用大写

  '3.14E-05'

  >>>format(3.1415926777,'.1g')#p=1,exp=0==》-4<=exp<p成立,按小数计数法计数,保留0位小数点

  '3'

  >>>format(3.1415926777,'.2g')#p=1,exp=0==》-4<=exp<p成立,按小数计数法计数,保留1位小数点

  '3.1'

  >>>format(3.1415926777,'.3g')#p=1,exp=0==》-4<=exp<p成立,按小数计数法计数,保留2位小数点

  '3.14'

  >>>format(0.00003141566,'.1n')#和g相同

  '3e-05'

  >>>format(0.00003141566,'.3n')#和g相同

  '3.14e-05'

  >>>format(0.00003141566)#和g相同

  '3.141566e-05'

vars:返回当前作用域内的局部变量和其值组成的字典,或者返回对象的属性列表

  

#作用于类实例

  >>>classA(object):

  pass

  >>>a.__dict__

  {}

  >>>vars(a)

  {}

  >>>a.name='Kim'

  >>>a.__dict__

  {'name':'Kim'}

  >>>vars(a)

  {'name':'Kim'}

反射操作

  __import__:动态导入模块

  

index=__import__('index')

  index.sayHello()

isinstance:判断对象是否是类或者类型元组中任意类元素的实例

  

>>>isinstance(1,int)

  True

  >>>isinstance(1,str)

  False

  >>>isinstance(1,(int,str))

  True

issubclass:判断类是否是另外一个类或者类型元组中任意类元素的子类

  

>>>issubclass(bool,int)

  True

  >>>issubclass(bool,str)

  False

  >>>issubclass(bool,(str,int))

  True

hasattr:检查对象是否含有属性

  

#定义类A

  >>>classStudent:

  def__init__(self,name):

  self.name=name

  

  >>>s=Student('Aim')

  >>>hasattr(s,'name')#a含有name属性

  True

  >>>hasattr(s,'age')#a不含有age属性

  False

getattr:获取对象的属性值

  

#定义类Student

  >>>classStudent:

  def__init__(self,name):

  self.name=name

  >>>getattr(s,'name')#存在属性name

  'Aim'

  >>>getattr(s,'age',6)#不存在属性age,但提供了默认值,返回默认值

  >>>getattr(s,'age')#不存在属性age,未提供默认值,调用报错

  Traceback(mostrecentcalllast):

  File"<pyshell#17>",line1,in<module>

  getattr(s,'age')

  AttributeError:'Stduent'objecthasnoattribute'age'

setattr:设置对象的属性值

  

>>>classStudent:

  def__init__(self,name):

  self.name=name

  

  >>>a=Student('Kim')

  >>>a.name

  'Kim'

  >>>setattr(a,'name','Bob')

  >>>a.name

  'Bob'

delattr:删除对象的属性

  

#定义类A

  >>>classA:

  def__init__(self,name):

  self.name=name

  defsayHello(self):

  print('hello',self.name)

  #测试属性和方法

  >>>a.name

  '小麦'

  >>>a.sayHello()

  hello小麦

  #删除属性

  >>>delattr(a,'name')

  >>>a.name

  Traceback(mostrecentcalllast):

  File"<pyshell#47>",line1,in<module>

  a.name

  AttributeError:'A'objecthasnoattribute'name'

callable:检测对象是否可被调用

  

>>>classB:#定义类B

  def__call__(self):

  print('instancesarecallablenow.')

  

  >>>callable(B)#类B是可调用对象

  True

  >>>b=B()#调用类B

  >>>callable(b)#实例b是可调用对象

  True

  >>>b()#调用实例b成功

  instancesarecallablenow.

变量操作

  globals:返回当前作用域内的全局变量和其值组成的字典

  

>>>globals()

  {'__spec__':None,'__package__':None,'__builtins__':<module'builtins'(built-in)>,'__name__':'__main__',

  '__doc__':None,'__loader__':<class'_frozen_importlib.BuiltinImporter'>}

  >>>a=1

  >>>globals()#多了一个a

  {'__spec__':None,'__package__':None,'__builtins__':<module'builtins'(built-in)>,'a':1,'__name__':

  '__main__','__doc__':None,'__loader__':<class'_frozen_importlib.BuiltinImporter'>}

locals:返回当前作用域内的局部变量和其值组成的字典

  

>>>deff():

  print('beforedefinea')

  print(locals())#作用域内无变量

  a=1

  print('afterdefinea')

  print(locals())#作用域内有一个a变量,值为1

  

  >>>f

  <functionfat0x03D40588>

  >>>f()

  beforedefinea

  {}

  afterdefinea

  {'a':1}

交互操作

  print:向标准输出对象打印输出

  

>>>print(1,2,3)

  123

  >>>print(1,2,3,sep='+')

  1+2+3

  >>>print(1,2,3,sep='+',end='=?')

  1+2+3=?

input:读取用户输入值

  

>>>s=input('pleaseinputyourname:')

  pleaseinputyourname:Ain

  >>>s

  'Ain'

文件操作

  open:使用指定的模式和编码打开文件,返回文件读写对象

  

#t为文本读写,b为二进制读写

  >>>a=open('test.txt','rt')

  >>>a.read()

  'sometext'

  >>>a.close()

编译执行

  compile:将字符串编译为代码或者AST对象,使之能够通过exec语句来执行或者eval进行求值

  

>>>#流程语句使用exec

  >>>code1='foriinrange(0,10):print(i)'

  >>>compile1=compile(code1,'','exec')

  >>>exec(compile1)

  0

  1

  2

  3

  4

  5

  6

  7

  8

  9

  >>>#简单求值表达式用eval

  >>>code2='1+2+3+4'

  >>>compile2=compile(code2,'','eval')

  >>>eval(compile2)

  10

eval:执行动态表达式求值

  

>>>eval('1+2+3+4')

  10

exec:执行动态语句块

  

>>>exec('a=1+2')#执行语句

  >>>a

  3

repr:返回一个对象的字符串表现形式(给解释器)

  

>>>a='sometext'

  >>>str(a)

  'sometext'

  >>>repr(a)

  "'sometext'"

装饰器

  property:标示属性的装饰器

  

>>>classC:

  def__init__(self):

  self._name=''

  @property

  defname(self):

  """i'mthe'name'property."""

  returnself._name

  @name.setter

  defname(self,value):

  ifvalueisNone:

  raiseRuntimeError('namecannotbeNone')

  else:

  self._name=value

  

  >>>c=C()

  >>>c.name#访问属性

  ''

  >>>c.name=None#设置属性时进行验证

  Traceback(mostrecentcalllast):

  File"<pyshell#84>",line1,in<module>

  c.name=None

  File"<pyshell#81>",line11,inname

  raiseRuntimeError('namecannotbeNone')

  RuntimeError:namecannotbeNone

  >>>c.name='Kim'#设置属性

  >>>c.name#访问属性

  'Kim'

  >>>delc.name#删除属性,不提供deleter则不能删除

  Traceback(mostrecentcalllast):

  File"<pyshell#87>",line1,in<module>

  delc.name

  AttributeError:can'tdeleteattribute

  >>>c.name

  'Kim'

classmethod:标示方法为类方法的装饰器

  

>>>classC:

  @classmethod

  deff(cls,arg1):

  print(cls)

  print(arg1)

  

  >>>C.f('类对象调用类方法')

  <class'__main__.C'>

  类对象调用类方法

  >>>c=C()

  >>>c.f('类实例对象调用类方法')

  <class'__main__.C'>

  类实例对象调用类方法

staticmethod:标示方法为静态方法的装饰器

  

#使用装饰器定义静态方法

  >>>classStudent(object):

  def__init__(self,name):

  self.name=name

  @staticmethod

  defsayHello(lang):

  print(lang)

  iflang=='en':

  print('Welcome!')

  else:

  print('你好!')

  

  >>>Student.sayHello('en')#类调用,'en'传给了lang参数

  en

  Welcome!

  >>>b=Student('Kim')

  >>>b.sayHello('zh')#类实例对象调用,'zh'传给了lang参数

  zh

  你好

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python基本数据类型详细介绍怎么写,python基本数据类型详细介绍图
  • python基本数据类型详细介绍怎么写,python基本数据类型详细介绍图,Python基本数据类型详细介绍
  • 简述python的输入和输出函数,Python基本输入输出通过哪些语句来实现
  • python基本统计值计算总结,python基本统计值计算代码
  • python的模块和包,python基本模块中的对象
  • python基本的内置函数,说明python中内置函数的运用
  • 什么是Python基本数据类型-基本数据类型有几种-,python里你常用的基本数据类型有哪些-
  • python怎么实现链表,单链表python基本操作
  • 单链表python基本操作,python顺序表和链表
  • Python基本输入输出,python中输入和输出的用法
  • python基本变量类型,简单介绍python中的数据类型
  • python基本语句有哪些,python最基本的语法
  • python的基本数据类型,Python基本数据类型
  • python的数字有几种类型,python基本数据类型
  • python基本输入和输出,在Python中常用输入输出语句分别是
  • 留言与评论(共有 条评论)
       
    验证码: