为什么python for函数的第一个变量不用事先定义变量就可以用?
听起来你之前应该有学习一些静态编程语言,比如C, 所有会有些先入为主的理解。
创新互联秉承实现全网价值营销的理念,以专业定制企业官网,成都做网站、成都网站制作,微信平台小程序开发,网页设计制作,手机网站开发,成都营销网站建设帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
为什么“i”好像可以不用定义就能使用?这是语法规定 没什么好说。
“i”的值从0开始?因为rang(5)会生成了一个类似[0,1,2,3,4]的序列,而for语句会迭代这个序列并把它的值依次赋给变量“i”,第一次赋值的时候就是0。
至于“i”为什么是inti型,Python是动态类型语言并且它足够聪明 会自动推断合适的数据类型给变量,不用我们指定数据类型。
关于for语句和range()函数的解释
Python 的 for 语句与 C 或 Pascal 中的不同。Python 的 for 语句不迭代算术递增数值(如 Pascal),或是给予用户定义迭代步骤和暂停条件的能力(如 C),而是迭代列表或字符串等任意序列,元素的迭代顺序与在序列中出现的顺序一致。
内置函数 range() 可以生成算术级数,生成的序列不包含给定的终止数值:
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)
python中怎么用for
import random
import math
maxpoints=100
count=0
for i in xrange(maxpoints):
posx=random.random()
posy=random.random()
if math.sqrt(posx*posx+posy*posy)=1:
count+=1
print '%.2f%%' % float(count*100.0/maxpoints)
python关于for循环的几个函数
for ... in ...
// for ... in 字符串
for i in 'abc':
print(i)
'''
a
b
c
'''
// for ... in 数组
for i in ['a', 'b', 'c']:
print(i)
'''
a
b
c
'''
// for ... in 元组
for i in ('a', 'b', 'c'):
print(i)
'''
a
b
c
'''
// for ... in 字典(得到的是字典的key)
for k in {'学号':30,'姓名':'小明'}:
print(k)
'''
姓名
学号
'''
// for ... in 字典.items()(得到的是字典的key, value)
for k, v in {'学号':30,'姓名':'小明'}.items():
print(k, v)
'''
姓名 小明
学号 30
'''
for ... in range(...)
// for ... in range(num)
for i in range(3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2)
for i in range(1, 3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2, num3)
for i in range(3, 1, -1):
print(i)
'''
3
2
'''
for i in range(1, 5, 2):
print(i)
'''
1
3
'''
倒叙
for i in reversed([1,2,3,4]):
print(i)
’‘’
4
3
2
1
‘’‘
又想得到遍历次数,又想得到数组值
for i,e in enumerate(array):
for i,e in enumerate(['21dw', 55, 22, 'rw']):
print(i, e)
'''
0 21dw
1 55
2 22
3 rw
'''
列表生成式
[...for ... in array]]
print([x * x for x in [2, 34, 324, 43]])
'''
[4, 1156, 104976, 1849]
'''
//相当于
list = []
for x in [2, 34, 324, 43]:
list.append(x * x)
print(list)
当前名称:python中for函数 python for 函数
新闻来源:http://lswzjz.com/article/hicesd.html