range()
range()是一个函数,可以用来生成一个自然数的序列
r = range(5) # 生成一个这样的序列[0,1,2,3,4]
r = range(0,10,2) #隔一个输出一个 [0,2,4,6,8]
r = range(10,0,-1)
print(list(r))
该函数需要三个参数
1.起始位置(可以省略,默认是0)
2.结束位置
3.步长(可以省略,默认是1)
通过range()可以创建一个执行指定次数的for循环
for()循环除了创建方式以外,其余的都和while一样,
包括else、包括break continue都可以在for循环中使用
并且for循环使用也更加简单
# 将之前使用while循环做的练习,再使用for循环完成一次!
for i in range(30):
print(i)
# for s in 'hello':
# print(s)
可变对象
- 每个对象中都保存了三个数据:
id(标识)
type(类型)
value(值)
- 列表就是一个可变对象
a = [1,2,3]
- a[0] = 10 (改对象)
- 这个操作是在通过变量去修改对象的值
- 这种操作不会改变变量所指向的对象
- 当我们去修改对象时,如果有其他变量也指向了该对象,则修改也会在其他的变量中体现
- a = [4,5,6] (改变量)
- 这个操作是在给变量重新赋值
- 这种操作会改变变量所指向的对象
- 为一个变量重新赋值时,不会影响其他的变量
- 一般只有在为变量赋值时才是修改变量,其余的都是修改对象
# # 可变对象
# a = [1,2,3]
# print('修改前:', a , id(a))
通过索引修改列表
a[0] = 10
print('修改后:', a , id(a))
为变量重新赋值
a = [4,5,6]
print('修改后:', a , id(a))
a = [1,2,3]
b = a
# b[0] = 10
b = [10,2,3]
# print("a",a,id(a))
# print("b",b,id(b))
== 、 != 、 is 、 is not
== 和 != 比较的是对象的值是否相等
is 和 is not 比较的是对象的id是否相等(比较两个对象是否是同一个对象)
a = [1,2,3]
b = [1,2,3]
print(a,b)
print(id(a),id(b))
print(a == b) # a和b的值相等,使用==会返回True
print(a is b) # a和b不是同一个对象,内存地址不同,使用is会返回False