python内置函数

Python06

python内置函数,第1张

math模块

在使用前导入math模块 import math

常用方法

math.pow()方法

math.pow(x,y) 返回x的y次方

math.sqrt()方法

math.sqrt(x) 返回x的平方根

math,factorial()方法

math.factorial(x) 返回x的阶乘

什么是阶乘 5! 5 4 3 2 1=120

高级内置函数即方法(常用)

1--map()函数

1--实例解释

2--reduce()函数

2--实例解释

3--filter()函数 (俗称过滤器)

3--实例解释

4--zip()函数

4--实例解释

5--sorted()函数和当中的key

5--实例解释

6--enumerate()函数

6--实例解释

7--sum()函数

7--实例解释

8--set()函数

8--实例解释

9--join()方法

9--实例解释

10--split()方法

10--实例解释

11--replace()方法

11--实例解释

12--format()方法

12--实例解释

13--eval()函数

13--实例解释

map() 函数接受两个参数,一个是函数,一个是可迭代对象(Iterable), map 将传入的函数依次作用到可迭代对象的每一个元素,并把结果作为迭代器(Iterator)返回。

举例说明,有一个函数 f(x)=x^2 ,要把这个函数作用到一个list [1,2,3,4,5,6,7,8,9] 上:

运用简单的循环可以实现:

运用高阶函数 map() :

结果 r 是一个迭代器,迭代器是惰性序列,通过 list() 函数让它把整个序列都计算出来并返回一个 list 。

如果要把这个list所有数字转为字符串利用 map() 就简单了:

小练习:利用 map() 函数,把用户输入的不规范的英文名字变为首字母大写其他小写的规范名字。输入 ['adam', 'LISA', 'barT'] ,输出 ['Adam', 'Lisa', 'Bart']

reduce() 函数也是接受两个参数,一个是函数,一个是可迭代对象, reduce 将传入的函数作用到可迭代对象的每个元素的结果做累计计算。然后将最终结果返回。

效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

举例说明,将序列 [1,2,3,4,5] 变换成整数 12345 :

小练习:编写一个 prod() 函数,可以接受一个 list 并利用 reduce 求积:

map() 和 reduce() 综合练习:编写 str2float 函数,把字符串 '123.456' 转换成浮点型 123.456

filter() 函数用于过滤序列, filter() 也接受一个函数和一个序列, filter() 把传入的函数依次作用于每个元素,然后根据返回值是 True 还是 False 决定保留还是丢弃该元素。

举例说明,删除list中的偶数:

小练习:用 filter() 求素数

定义一个筛选函数:

定义一个生成器不断返回下一个素数:

打印100以内素数:

python内置的 sorted() 函数可以对list进行排序:

sorted() 函数也是一个高阶函数,还可以接受一个 key 函数来实现自定义排序:

key 指定的函数将作用于list的每一个元素上,并根据 key 函数返回的结果进行排序.

默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' <'a',结果,大写字母Z会排在小写字母a的前面。如果想忽略大小写可都转换成小写来比较:

要进行反向排序,不必改动key函数,可以传入第三个参数 reverse=True :

小练习:假设我们用一组tuple表示学生名字和成绩: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()对上述列表分别按c成绩从高到低排序:

运用匿名函数更简洁:

python的常用内置函数

1.abs() 函数返回数字的绝对值

abs(-40)=40

2. dict() 函数用于创建一个字典

>>dict()

>>{}      #创建一个空字典类似于u={},字典的存取方式一般为key->value

例如u = {"username":"tom",  "age":18}

3. help() 函数用于查看函数或模块用途的详细说明

>>help('math')查看math模块的用处

>>a=[1,2,3,4]

>>help(a)查看列表list帮助信息

4.dir()获得当前模块的属性列表

>>dir(help)

['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

>>>

5.min() 方法返回给定参数的最小值 /参数可以为序列

>>>a=  min(10,20,30,40)

>>>a

10

6. next() 返回迭代器的下一个项目

>>>it = iter([1, 2, 3, 4, 5])

>>>next(it)

1

>>>

>>>next(it)

2

>>>

7. id() 函数用于获取对象的内存地址

>>>a=12

>>>id(a)

1550569552

8.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>>a=["tom","marry","leblan"]

>>>list(enumerate(a))

[(0, 'tom'), (1, 'marry'), (2, 'leblan')]

>>>

9. oct() 函数将一个整数转换成8进制字符串

>>>oct(15)

'0o17'

>>>oct(10)

'0o12'

>>>

10. bin() 返回一个整数 int 或者长整数 long int 的二进制表示

>>>bin(10)

'0b1010'

>>>bin(15)

'0b1111'

>>>

11.eval() 函数用来执行一个字符串表达式,并返回表达式的值

>>>eval('2+2')

4

12.int() 函数用于将一个字符串会数字转换为整型

>>>int(3)

3

>>>int(3.6)

3

>>>int(3.9)

3

>>>int(4.0)

4

>>>

13.open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写

>>>f=open('test.txt')

14.str() 函数将对象转化为适于人阅读的形式

>>>str(3)

'3'

>>>

15. bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False

>>>bool()

False

>>>bool(1)

True

>>>bool(10)

True

>>>bool(10.0)

True

16.isinstance() 函数来判断一个对象是否是一个已知的类型

>>>a=5

>>>isinstance(a,int)

True

>>>isinstance(a,str)

False

>>>

17. sum() 方法对系列进行求和计算

>>>sum([1,2,3],5)

11

>>>sum([1,2,3])

6

>>>

18. super() 函数用于调用下一个父类(超类)并返回该父类实例的方法。super 是用来解决多重继承问题的,直接用类名调用父类方法

class   User(object):

      def__init__(self):

class Persons(User):

            super(Persons,self).__init__()

19. float() 函数用于将整数和字符串转换成浮点数

>>>float(1)

1.0

>>>float(10)

10.0

>>>

20. iter() 函数用来生成迭代器

>>>a=[1,2,3,4,5,6]

>>>iter(a)

>>>for i in iter(a):

...         print(i)

...

1

2

3

4

5

6

>>>

21.tuple 函数将列表转换为元组

>>>a=[1,2,3,4,5,6]

>>>tuple(a)

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

>>>

22.len() 方法返回对象(字符、列表、元组等)长度或项目个数

>>>s = "playbasketball"

>>>len(s)

14

>>>a=[1,2,3,4,5,6]

>>>len(a)

6

>>>

23. property() 函数的作用是在新式类中返回属性值

class User(object):

     def __init__(self,name):

              self.name = name

    def get_name(self):

              return self.get_name

    @property

     def name(self):

             return self_name

24.type() 函数返回对象的类型

25.list() 方法用于将元组转换为列表

>>>b=(1,2,3,4,5,6)

>>>list(b)

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

>>>

26.range() 函数可创建一个整数列表,一般用在 for 循环中

>>>range(10)

range(0, 10)

>>>range(10,20)

range(10, 20)

>>>

27. getattr() 函数用于返回一个对象属性值

>>>class w(object):

...             s=5

...

>>>a = w()

>>>getattr(a,'s')

5

>>>

28. complex() 函数用于创建一个复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

>>>complex(1,2)

(1+2j)

>>>complex(1)

(1+0j)

>>>complex("1")

(1+0j)

>>>

29.max() 方法返回给定参数的最大值,参数可以为序列

>>>b=(1,2,3,4,5,6)

>>>max(b)

6

>>>

30. round() 方法返回浮点数x的四舍五入值

>>>round(10.56)

11

>>>round(10.45)

10

>>>round(10.45,1)

10.4

>>>round(10.56,1)

10.6

>>>round(10.565,2)

10.56

>>>

31. delattr 函数用于删除属性

>>>class Num(object):

...    a=1

...    b=2

...    c=3.

..>>>print1 = Num()

>>>print('a=',print1.a)

a= 1

>>>print('b=',print1.b)

b= 2

>>>print('c=',print1.c)

c= 3

>>>delattr(Num,'b')

>>>print('b=',print1.b)

Traceback (most recent call last):  File "", line 1, inAttributeError: 'Num' object has no attribute 'b'

>>>

32. hash() 用于获取取一个对象(字符串或者数值等)的哈希值

>>>hash(2)

2

>>>hash("tom")

-1675102375494872622

33. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

>>>a= set("tom")

>>>b = set("marrt")

>>>a,b

({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})

>>>a&b#交集

{'t', 'm'}

>>>a|b#并集

{'t', 'm', 'r', 'o', 'a'}

>>>a-b#差集

{'o'}

>>>