内置属性
init
name
它存储模块的名称。
python的模块既可以被调用,也可以独立运行。而被调用时name存储的是py文件名(模块名称),独立运行时存储的是”main“。那么它的作用主要就是用来区分,当前模块是独立运行还是被调用。
- 独立运行
- 被调用
file
filetest.py
import os
print(__file__) #打印文件当前的位置
在终端运行结果如下。在pycharm中运行,会显示绝对路径
带上路劲执行,结果显示当前文件的绝对路劲(也就是说我提供了路径,所以file能找到我执行的路劲)
内置函数
range()
range(101)
:[0,101),从0开始range(1, 101)
:[1,101)。range(1, 101, 2)
:可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
range(100, 0, -2)
:可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。
super()
高阶函数
map()
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回
def f(x):
return x * x
print(list(map(f, [1,2,3,4])))
print(list(map(lambda x:x*x, [1,2,3,4])))
reduce()
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579
filter()
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素
# 在一个list中,删掉偶数,只保留奇数
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])) # 结果: [1, 5, 9, 15]
list(filter(lambda x: x%2==1, [1,2,4,5,6,9,10,15]))
sorted()
sorted([36, 5, -12, 9, -21]) # [-21, -12, 5, 9, 36]
#
sorted([36, 5, -12, 9, -21], key=abs) #[5, 9, -12, -21, 36]
# 反向排序
sorted([36, 5, -12, 9, -21], reverse=True) # [36, 9, 5, -12, -21]
sorted([36, 5, -12, 9, -21], key=abs, reverse=True) #[36, -21, -12, 9, 5]