range(n)函数

函数:range(start, stop[, step])

参数说明:

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

返回值

range()的返回值是一个range类对象。

print(type(range(5)))
# 输出:<class 'range'>

该range对象可强制转换为列表:

print(list(range(5)))
#输出:[0, 1, 2, 3, 4]

更多例子:


range(10)            # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11)         # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)      # [0, 5, 10, 15, 20, 25]
range(0, 10, 3)      # [0, 3, 6, 9]
range(0, -10, -1)    #[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)             #[]
range(1, 0)          #[]

字符串格式化中的精确度控制

对比:“精确到小数点后两位”与“精确度为2”的区别:

print("{:.2}".format(12.222)) #1.2e+01
print("{:.2f}".format(12.222)) #12.22
print("{:.2}".format(12.222)) #1.2e+01
print("{:.3}".format(12.222)) #12.2
print("{:.4}".format(12.222)) #12.22
print("{:.5}".format(12.222)) #12.222
print("{:.6}".format(12.222)) #12.222

Python之可变参数,参数,*参数

参数用于接收普通元素,转化成元组类型。
*
参数用于接收字典类型,转化成字典

def func(a, *b, **c):
    print(a)
    print(b)
    print(c)
func(1,2,3,4,score1=4,score2=7)
#1
#(2, 3, 4)
#{'score1': 4, 'score2': 7}

函数的位置传递与名称传递

def func(a, b):
    print(a,end=",")
    print(b)
func(1,2) #1,2
func(b=1,a=2)#2,1

函数中哪些变量是全局变量呢?

1 函数内用global声明的变量

def func():
    global a
    a = 3
a = 4
func()
print(a)#3

注意这里的a是在函数之后声明的。(c++这样操作会报错)

2 未真实创建的列表可作全局变量

def func():
    ls.append("a")
ls = [1,2]
func()
print(ls) # [1, 2, 'a']

lambda函数

>函数名< = lambda>参数<:>表达式<

f = lambda a,b: a+b
print(f("aa","bb"))#aabb

列表间的赋值,传递的是引用!

注意!! =只能传递一个引用,而不是将列表的内容进行赋值
ls = [1,2,3]
lt = ls
ls += [4]
print(lt) # [1, 2, 3, 4]

即便是重新创建列表也不可以!

ls = [1,2,3]
lt = []
lt = ls
ls += [4]
print(lt) # [1, 2, 3, 4]

如何通过复制创建一个列表?可以用.copy()方法

ls = [1,2,3]
lt = []
lt = ls.copy()
ls += [4]
print(lt) # [1, 2, 3]

删除列表中的元素

如何删除列表中下标为2、4、6的元素?

ls = [1,2,3,4,5,6,7]
del ls[2:8:2]#注意,ls[8]不会被删除
print(ls) # [1, 2, 4, 6]

字典类型中相同键的不同值

di = {'a':1, 'b':2, 'b':3}
print(di['b']) #输出是3, 不是2哦

for循环中修改迭代器的值不会对循环产生影响

for i in range(5):
    i = i + 1
    print(i)

输出为1、2、3、4、5

ls = ['a','e','r','f','3','2']
for i in range(len(ls)):
    del ls[-1]
    print(i)

输出结果:
0
1
2
3
4
5
也就是说,len只执行了一次