内置属性

init

name

它存储模块的名称。
python的模块既可以被调用,也可以独立运行。而被调用时name存储的是py文件名(模块名称),独立运行时存储的是”main“。那么它的作用主要就是用来区分,当前模块是独立运行还是被调用。

  • 独立运行

image.png

  • 被调用

image.png

file

filetest.py

  1. import os
  2. print(__file__) #打印文件当前的位置

在终端运行结果如下。在pycharm中运行,会显示绝对路径
内置类属性\函数 - 图4
带上路劲执行,结果显示当前文件的绝对路劲(也就是说我提供了路径,所以file能找到我执行的路劲)
内置类属性\函数 - 图5

内置函数

range()

  • range(101):[0,101),从0开始
  • range(1, 101):[1,101)。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。

图片.png

  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

图片.png

super()

高阶函数

一个函数就可以接收另一个函数作为参数

map()

map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回

  1. def f(x):
  2. return x * x
  3. print(list(map(f, [1,2,3,4])))
  4. print(list(map(lambda x:x*x, [1,2,3,4])))

image.png

reduce()

reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算

  1. >>> from functools import reduce
  2. >>> def fn(x, y):
  3. ... return x * 10 + y
  4. ...
  5. >>> reduce(fn, [1, 3, 5, 7, 9])
  6. 13579

filter()

filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素

  1. # 在一个list中,删掉偶数,只保留奇数
  2. def is_odd(n):
  3. return n % 2 == 1
  4. list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])) # 结果: [1, 5, 9, 15]
  5. list(filter(lambda x: x%2==1, [1,2,4,5,6,9,10,15]))

image.png

sorted()

  1. sorted([36, 5, -12, 9, -21]) # [-21, -12, 5, 9, 36]
  2. #
  3. sorted([36, 5, -12, 9, -21], key=abs) #[5, 9, -12, -21, 36]
  4. # 反向排序
  5. sorted([36, 5, -12, 9, -21], reverse=True) # [36, 9, 5, -12, -21]
  6. sorted([36, 5, -12, 9, -21], key=abs, reverse=True) #[36, -21, -12, 9, 5]