• 语句块(嗯……跟C差不多)
    在C语言中,语句块用花括号{}包含起来
    在Python中,语句块以冒号:为起始,随后连续且采用相同缩进的语句即为语句块
    (此处的缩进最好采用空格而不是tab)
  • 真值,又称布尔值,包括False和True两种
    False、None、0、""、()、[]、{}都看作假(False)
    其他值包括True都看作是真(True)

bool函数,将其他类型转换为布尔值

In [1]:
bool("hahahahha")
Out[1]:
True
In [2]:
bool(0)
Out[2]:
False

if语句

  • elif子句和else子句
  • else子句后面记得加上冒号!
In [4]:
name = raw_input("What's your name? ")
What's your name? Zheng Kai

In [5]:
if name.endswith('Kai'):      #endswith方法,判断接受的字符串结尾是否为指定字符串
    print 'Hello, K!'
elif name.endwith("Xi"):
    print 'Hello, X'
else:
    print 'Hello, stranger'
Hello, K!

比较运算符

  • ==、<、>、>=、<=、!=含义和C语言相同
  • 特殊的运算符——
    x is y:x和y是同一个对象
    x is not y:x和y是不同的对象
    x in y:x是y容器的成员
    x not in y:x不是y容器的成员
    ~~我去,这还符合英文语法的,not in和is not~~
    ……………………
    其实!=还可以写成<>,比如x<>y,但不建议这么写!!!
In [6]:
#python的比较运算符可以连接的,哟,好流弊哦!
0<1<2
Out[6]:
True
In [12]:
#is运算符
#避免用is运算符来比较数值、字符串等不可变值,他们的结果是不可预测的
In [8]:
x = y = [1, 2, 3]      #此时,x和y是同一个对象
In [9]:
z = [1, 2, 3]       #虽然值相同,但是是两个不同的对象
In [10]:
x is y
Out[10]:
True
In [11]:
x is z
Out[11]:
False
In [13]:
#字符串比较,类似于C语言的strcmp函数,但是更直观啊哈哈哈
"alpha" < "beta"
Out[13]:
True
In [14]:
#其他序列的比较
[1, 2] < [2, 1]
Out[14]:
True

布尔运算符(逻辑运算符?)

直接用单词and和or
和C语言一样,python内也采用短路逻辑(惰性求值)

条件表达式

a if b else c
如果b为真,则返回a,否则返回c
相当于C语言的b?a:c

assert断言

如果不符合条件,我就终止程序哼!!

In [17]:
age = 10
In [18]:
assert 0 < age < 100
In [19]:
age = -1
In [20]:
assert 0 < age <100
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-20-84c973b9468c> in <module>()
----> 1 assert 0 < age <100

AssertionError: 
In []: