Python学习日志(二)

2.1循环

Python中循环子代码块用缩进表示,不用大括号
2.1.1 if 
特点 :没有SWITCH 和CASE;使用elif代替
elif是else if的缩写,完全可以有多个elif,if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,如下输出的是teenager
age=20
if age>=6:
	print('teenager')
elif age>=18:
	print('adult')
else:
	print('kid')
2.1.2 for
因为我们不能改变 for 循环的行为(迭代一个序列), 我们可以生成一
个数字序列。 这样, 尽管我们确实是在迭代一个序列, 但是它至少展示的是递增计数的效果。
>>> for eachNum in [0, 1, 2]:
... print eachNum
...
0
1
2
在这个循环中, eachNum 包含的整数值可以用于显示, 也可以用于计算。因为我们要使
用的数值范围可能会经常变化,Python 提供了一个 range()内建函数来生成这种列表。它正好
能满足我们的需要, 接受一个数值范围, 生成一个列表。
>>> for eachNum in range(3):
... print eachNum
...
0
1
2


对字符串来说, 很容易迭代每一个字符。
>>> foo = 'abc'
>>> for c in foo:
... print c
...
a
b
c


range()函数经常和 len()函数一起用于字符串索引。 在这里我们要显示每一个元素及其
索引值:
>>> foo = 'abc'
>>> for i in range(len(foo)):
... print foo[i], '(%d)' % i
...
a (0)
b (1)
c (2)


不过, 这些循环有一个约束, 你要么循环索引, 要么循环元素。这导致了 enumerate()
函数的推出(Python2.3 新增)。 它同时做到了这两点:
>>> for i, ch in enumerate(foo):
... print ch, '(%d)' % i
...
a (0)
b (1)
c (2) 
2.13 列表解析
这是一个让人欣喜的术语, 表示你可以在一行中使用一个 for 循环将所有值放到一个列表
当中:
>>> squared = [x ** 2 for x in range(4)]
>>> for i in squared:
... print i
0
1
4
9


列表解析甚至能做更复杂的事情, 比如挑选出符合要求的值放入列表:
>>> sqdEvens = [x ** 2 for x in range(8) if not x % 2]
>>>
>>> for i in sqdEvens:
... print i
0
4
16
36 

2.2 文件

2.2.1 打开文件
	handle = open(file_name, access_mode = 'r')

file_name 变量包含我们希望打开的文件的字符串名字, access_mode 中 'r' 表示读取,
'w' 表示写入, 'a' 表示添加。其它可能用到的标声还有 '+' 表示读写, 'b'表示二进制访
问. 如果未提供 access_mode , 默认值为 'r'。如果 open() 成功, 一个文件对象句柄会被
返回。所有后续的文件操作都必须通过此文件句柄进行。当一个文件对象返回之后, 我们就可
以访问它的一些方法, 比如 readlines() 和 close().文件对象的方法属性也必须通过句点属
性标识法访问

下面有一些代码, 提示用户输入文件名, 然后打开一个文件, 并显示它的内容到屏幕上:
filename = raw_input('Enter file name: ')
fobj = open(filename, 'r')
for eachLine in fobj:
print eachLine,
fobj.close() 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值