一、变量
1、声明变量
#!/usr/bin/env python
# -*- coding: utf-8 -*-
num = 100
上述代码声明了一个变量,变量名为:num,变量num的值为:100
变量的作用:昵称,其代指内存里某个地址中保存的内容;
变量名的定义规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
2、变量的赋值
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name1 = 'user1'
name2 = 'user2'
3、变量的多重赋值
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name1 = 'user1'
name2 = name1
二、输入
通过raw_input函数,来读取控制台的输入与用户实现交互;
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 将用户输入的内容赋值给name变量
name = raw_input('请输入用户名:')
# 打印输入的内容
print name
执行结果如下:
如果输入交付涉及输入密码时,如果想要使输入的密码不可见,可利用getpass模块中的getpass方法,如:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass
# 将用户输入的内容赋值给passwd变量
passwd = getpass.getpass('请输入密码:')
# 打印输入的内容
print passwd
执行结果如下:
三、条件语句
条件语句指要求代码指定一个或多个条件,通过对条件进行评估计算,如果条件被确定为真实的,则执行对应的语句;如果条件被确定为假,则执行其他可选的语句。
在Python程序语言中,指定任何非0和非空(null)值为true,0 或者null为false。
Python编程语言提供了以下几种类型的条件语句。
语句 | 描述 |
if语句 | if语句由一个布尔表达式后跟一个或多个语句组成 |
if...else语句 | if语句后面可以跟一个可选的else语句,当布尔表达式为假时,由els语句执行代码 |
if...elif...else语句 | if语句后可以跟多个elif语句,用于检查多个布尔表达式,当其中一个布尔表达式为真时,则执行对应的代码 |
内嵌if语句 | 在一个if、if... else或if...elif...else语句中,声明另一个if、if... else或if...elif...else语句 |
1、if语句
Python中的if语句与其它语言相类似,通过if语句中包含数据进行比较,并根据比较的结果做出了决定的逻辑表达式。
if语句的语法是:
if 判断条件: 执行语句……
可以通过下图来简单了解if语句的执行过程:
if语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- var1 = 100 if var1 > 0: print '1 - Got a true expression value' print var1 var2 = 1 if var2 < 0: print '2 - Got a true expression value' print var2 print 'Good bye!'
执行结果如下:
2、if ... else语句
else语句可以与if语句结合起来使用。当if语句中的需要的条件不成立时,则由else语句来其他语句代码;
else语句是可选语句,并if语句下面最多只有一个else语句;
if ... else语句的语法是: if 判断条件: 执行语句…… else: 执行语句……
可以通过下图来简单了解if ... else语句的执行过程:
if ... else语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- var1 = 100 if var1 > 1: print '1 - Got a true expression value' print var1 else: print '1 - Got a false expression value' print var1 var2 = 0 if var2 > 1: print '2 - Got a true expression value' print var2 else: print '2 - Got a false expression value' print var2 print 'Good bye!'
执行结果如下:
3、if...elif...else语句
Python核心不提供其他语言中的switch或case语句,但当判断条件涉及多个值时,可以通过elif语句与if ... else语句的结合,来模拟switch case;
elif语句是可选的,不像else语句只能唯一,if语句下边可以有任意数量elif语句;
if...elif...else语句的语法是:
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
可以通过下图来简单了解if...elif...else语句的执行过程:
if...elif...else语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- var = 100 if var == 200: print '1 - Got a true expression value' print var elif var == 150: print '2 - Got a true expression value' print var elif var == 100: print '3 - Got a true expression value' print var else: print '4 - Got a false expression value' print var print 'Good bye!'
执行结果如下:
4、嵌套if语句
可能存在一种情况,当某检查条件为真时,如果还想在对这个检查结果做进行进一步的检查,可以使用嵌套的if语句;
嵌套if语句指,在一个if、if...elif...else或if...else语句里面包含另外一个if、if...elif...else或if...else语句;
嵌套if语句的语法是:
if 判断条件1: if 内嵌判断条件1: 执行语句1…… elif 内嵌判断条件2: 执行语句2…… else: 执行语句3…… elif 判断条件2: if 内嵌判断条件3: 执行语句4…… elif 内嵌判断条件4: 执行语句5…… else: 执行语句6…… else: if 内嵌判断条件5: 执行语句7…… elif 内嵌判断条件6: 执行语句8…… else: 执行语句9……
可以通过下图来简单了解嵌套if语句的执行过程:
嵌套if语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- var = 100 if var < 200: print 'Expression value is less than 200' if var == 150: print 'Which is 150' elif var == 100: print 'Which is 100' elif var == 50: print 'Which is 50' elif var < 50: print 'Expression value is less than 50' else: print 'Could not find true expression' print 'Good bye!'
执行结果如下:
四、循环语句
在一般情况下程序都是顺序执行的,但编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句就是允许我们多次执行一个语句或语句组的方法;
Python编程语言提供了以下几种类型的循环处理循环。
循环类型 | 描述 |
while循环 | 在给定的判断条件为true时执行循环体,否则退出循环体 |
for循环 | 重复执行语句 |
嵌套循环 | 可以在while循环体中嵌套for循环 |
1、while循环语句
while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务;
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true,当判断条件假false时,循环结束;
while循环语句的语法是:
while 判断条件: 执行语句……
可以通过下图来简单了解while语句的执行过程:
Gif演示while语句执行过程
while语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- count = 0 while (count < 9): print 'The count is:', count count = count + 1 print 'Good bye!'
执行结果如下:
2、while的无限循环
在while循环语句中,如果条件判断语句永远为 true,循环将会无限的执行下去;
while无限循环示例如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- var = 1 #该条件永远为true,循环将无限执行下去 while var == 1 : num = raw_input('Enter a number :') print 'You entered: ', num print 'Good bye!'
执行结果如下:
注:以上的无限循环可以使用 CTRL+C 来中断循环
3、for循环语句
for循环可以遍历任何序列的项目,如一个列表或者一个字符串;
如果一个序列包含一个表达式列表,计算第一个。然后,在序列中的第一项被分配给迭代变量iterating_var。接着,语句块被执行。列表中的每个项目分配给iterating_var,并且statement块被执行,直到整个序列完成(到尾部)。
for循环语句的语法是:
for 迭代变量 in 序列: 执行语句……
可以通过下图来简单了解for语句的执行过程:
for语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- #第一个实例 for letter in 'Python': print '当前字母 :', letter #第二个实例 fruits = ['banana', 'apple', 'mango'] for fruit in fruits: print '当前字母 :', fruit print 'Good bye!'
执行结果如下:
4、通过序列索引迭代
for语句的另外一种执行循环的遍历方式是通过索引进行循环;
通过序列索引迭代的for语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- fruits = ['banana', 'apple', 'mango'] for index in range(len(fruits)): print '当前水果 :', fruits[index] print 'Good bye!'
执行结果如下:
5、嵌套循环
Python语言允许在一个循环体里面嵌入另一个循环;
for循环嵌套语法是:
for 迭代变量 in 序列: for 迭代变量 in 序列: 执行语句…… 执行语句……
while循环嵌套语法是:
while 判断条件: while 判断条件: 执行语句…… 执行语句……
在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环;
while嵌套循环示例:(输出2~100之间的素数)
#!/usr/bin/env python # -*- coding: UTF-8 -*- i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, '是素数' i = i + 1 print 'Good bye!'
执行结果如下:
for嵌套循环示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- for i in xrange(2, 100): for j in xrange(2, i): if i % j == 0: break else: print i,'是素数' print 'Good bye!'
执行结果如下:
五、循环使用else语句
1、while循环使用else语句
while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行;也就是说,如果循环不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行;
while...else语句示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- count = 0 while count < 5: print count, 'is less than 5' count = count + 1 else: print count, 'is not less than 5'
执行结果如下:
2、for循环使用else语句
for....else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过 break跳出而中断的)的情况下执行,while...else也是一样;
for...else语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- #迭代10到20之间的数字 for num in range(10,20): #根据因子迭代 for i in range(2,num): #确定第一个因子 if num%i == 0: #计算第二个因子 j = num/i print '%d 等于 %d * %d' %(num,i,j) #跳出当前循环 break #循环的else部分 else: print num,'是一个质数'
执行结果如下:
六、循环控制语句
循环语句可通过控制语句改变其正常的顺序执行;
Python支持以下控制语句;
控制语句 | 描述 |
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性 |
1、break语句
Python的break语句,就像在C语言中,打破了最小封闭for或while循环;break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句;
如果在嵌套循环中,break语句将停止执行最深层的循环,并开始执行下一行代码。
break语句语法:
break
可以通过下图来简单了解break语句的执行过程:
break语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- #第一个示例 for letter in 'Python': if letter == 'h': break print 'Current Letter :', letter #第二个示例 var = 10 while var > 0: print 'Current variable value :', var var = var -1 if var == 5: break print 'Good bye!'
执行结果如下:
2、continue语句
Python的continue语句与break的主要区别是,break是跳出整个循环,而continue只跳出本次循环;
continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环;
continue语句语法:
continue
可以通过下图来简单了解continue语句的执行过程:
continue语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- #第一个实例 for letter in 'Python': if letter == 'h': continue print '当前字母 :', letter #第二个实例 var = 10 while var > 0: var = var -1 if var == 5: continue print '当前变量值 :', var print 'Good bye!'
执行结果如下:
3、pass语句
Python的pass是空语句,是为了保持程序结构的完整性;pass不做任何事情,一般用做占位语句;
pass语句语法:
pass
pass语句示例:
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 输出 Python 的每个字母 for letter in 'Python': if letter == 'h': pass print '这是 pass 块' print '当前字母 :', letter print 'Good bye!'
执行结果如下: