Python基础学习导引--条件,循环和其它语句(读书笔记)
一,打印
Print语句可以用来打印由逗号隔开的多个值。如果语句以逗号结尾,后面的语句会在同一行内被继续打印,这一点和VB的语法有点像
name = 'this'
name_1 = 'is'
name_2 = 2
print name,name_1,'not',name_2
输出:
this is not 2
二,导入
有些时候,你可以将import ….as….语句进行函数的局部重命名,和.net 的using ….. as 一样 重命名包。
三,赋值。
通过序列解包链式赋值功能,多个变量赋值可以一次性赋值,通过增量赋值可以改变原地改变变量。
#like list
name_list = 'bruce','Jim','Kay'
print name_list
#
name_1,name_2 = 1,2
print name_1,name_2
#simply do the swap value
name_1,name_2 = name_2,name_1
print name_1,name_2
结果:
('bruce', 'Jim', 'Kay')
1 2
2 1
[Finished in 0.0s]
这种赋值的方式优雅而简洁,比如第三种的赋值方式,对于交换变量来看,方便而简单。
四,块(代码缩进),块是通过缩排语句组成的一种方法。它们可以在条件以及循环语句中使用,以块来分割代码段,和C#或者JAva的{}一样
五,条件 。条件语句可以根据条件(或者bool表达式)执行或者不执行一个语句块。几个条件可以串联if/elif/else.这里有一些有意思的点
1.下面的一些值作为布尔表达式的时候,会被解释器看作假(值为0):
False None 0 "" () [] {}
以后得到对象,直接用
if 变量名 就可以直接判断了,这点比C# 下的string.IsNullOrEmpty()方法要方便的多。
便进一步,如果某个表达式的值计算为0或1,它实际的意思是返回True or False。
2.断言
assert 关键字,这个关键字就 可以类比C# 下的 Throw Exception 抛出异常。
用法:assert 0<age<11
判断整个条件表达式是否为真。
3.列表推导式 。
在列表中进行进一步的操作,这个比相当的方便。
print [x*2 for x in xrange(10)]
输出:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
4.pass ,del,exec 和eval语句。
pass语句什么也不作,完全可以当作是一个占位符使用。
del语句用来删除变量,或者数据结构的一部分,但是不能用来删除值。
exec语句用来执行python程序相同的方式执行字符串。内建的eval函数对写在字符串的表达式计算并且返回结果。
相信用过sql或者javascript的同学都exec和eval都不会陌生
5.逻辑短路和条件表达式
我们知道Javascrpt里面有这样的表达式
a = 1 ; a== 1 && alert(1);
>> 弹出窗口1
a= 1; b = a==1 || 2 ; console.log(b)
>> true
a= 2; b = a==1 || 2 ; console.log(b)
>> 2
这个和JavaScript类似,就是给懒人准备的,少写代码,不过在正式的项目中不建议这样写,代码的可读性太差了(当然给值赋上默认值的时候相当有用)
a = 1
b = a==2 or 2
print b
b = a ==2 and 1
print b
输出结果:
2
False
[Finished in 0.0s]
- 原文作者:大鱼
- 原文链接:https://brucedone.com/archives/120/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。