python笔记--语句

python语句特点:

1.条件后面都以分号结尾

2.缩进问题:缩进是python表示语句块的唯一方法,一个语句快中的所有语句必须使用相同的缩进。关于缩进风格,标准python风格是每个缩进级别使用4个空格,最好不要使用Tab制表符,因为不同的编辑器处理制表符的方式不同。

条件判断

1.单分支if语句

if <条件判断>:
     <执行>

如果if语句判断是True,就把缩进的语句执行了,否则,什么也不做。也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了。

例如:

a=10
if a>20:
    print "more than 20"
else:
    print "less than 20"

很明显,执行程序后,在屏幕打印出了”less than 20”,有一种“三目表达式”可以简写if语句,例如:

a=10
result=("more than 20" if a>20 else "less than 20")
print (result)

注意:如果我们把判断语句的小括号换成方括号,那么输出结果就是一个列表,即[‘less than 20‘]。

2.多分支if语句

if <条件判断1>:
    <执行1>
elif 
    <执行2>
elif 
    <执行3>
else:
     <执行4>

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。

补充:

1.条件为True的情况,除了条件成立,还有就是:

if x:
      print(‘True‘)

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

2.input问题

执行程序后需要用户手动输入,这就需要使用”input”。在python3.5中,input会把所有输入的字符转为”str”数据类型吗,例如:

>>> a=input("number:")
number:5
>>> type(a)
<class ‘str‘>
>>> b=int(input("number:"))
number:10
>>> type(b)
<class ‘int‘>

3.pass

pass语句作用是不执行当前代码块,例如:

a=10
if a>20:
    print "more than 20"
else:
    pass

执行程序后,返回结果为空。

循环语句

1.for循环

(1)迭代对象

遍历字符串,每个字符当做单个遍历:

>>> for i in "abc":
...     print i
...
a
b
c

使用 range()函数生成一个数字序列列表,并遍历:

>>> for i in range(1,5): 
...     print i
...
1
2
3
4
#range()只有一个元素,从0开始遍历:
>>> range(5)
[0, 1, 2, 3, 4]

2)嵌套循环

逐个循环判断外层列表里元素是否存在内层列表:

>>> for i in range(1,6):
...     for x in range(3,8):
...        if i == x:
...           print i
...
3
4
5

3)简写语句

简写 for 语句:

>>> result = (x for x in range(5))
>>> result
<generator object <genexpr> at 0x030A4FD0>
>>> type(result)
<type ‘generator‘>

# 同样用中括号会以列表存储

>>> result = [ x for x in range(5)]
>>> type(result)
<type ‘list‘>
>>> result
[0, 1, 2, 3, 4]

for 和 if 语句写一行:

>>> result = [ x for x in range(5) if x % 2 == 0]
>>> result
[0, 2, 4]

这种使用中括号括起来的表达式称为列表解析表达式,每一次迭代,都会把迭代对象放到 x 变量中,最后表达式计算值生成一个列表。

2.while循环

1)输出序列

当条件不满足时,停止循环:

>>> count = 0
>>> while count < 5:
...     print count    
...     count += 1    
...
0
1
2
3
4

2)死循环

>>> import time
>>> i = 1
>>> while True:       
...     print i          
...     i += 1             
...     time.sleep(0.5)
...
1
2
3
......

注意:当表达式值为 true 或者非零时,都会一直循环。

补充:

break

在循环中,break语句可以提前退出循环。

continue

在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

编写python脚本时,有时候需要将输出的内容不换行,按一行输出,可以在语句末尾添加一个逗号,例如:

>>> for i in range(5):
	print i,

0 1 2 3 4

练习:

执行程序后,要求用户输入姓名和密码,正确则返回欢迎信息,错误返回提示信息,三次错误后退出程序。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a={‘zhangsan‘:‘123abc‘,‘lisi‘:‘2‘,‘wangwu‘:‘3‘}
b=a.keys()
for i in range(3):
    name=raw_input("please enter your name:")
    password=raw_input("please enter your password:")
    if name in b:
        if password==a[name]:
            print ("welcome!")
            break
        else:
            print ("your password is false!")
    else:
        print ("no this user!")
else:
    print ("too much retry!")
时间: 2024-10-14 03:40:08

python笔记--语句的相关文章

Python笔记:替代case语句的字典和匿名函数(lambda)

在linux的shell中我们习惯使用case语句来做分支处理,然而Python中却省略了这个函数,经过多方查找,发现其实case语句在C语言中是通过查对应的hash表,来进行跳转的.在Python中我们可以通过三种方法来实现这种功能.1.字典:2.lambda:3.switch类. 1.字典 dictCase={'case1':func1,'case2':func2....'caseN':funcN} #注意字典中对应的是函数名,不要圆括号. 在调用的时候使用字典的get函数来实现defaul

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

Python笔记之不可不练

如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知>中,尽管本文是自己学习Python过程中的总结,在大神看来,或许略欠火候,希望批评指正,万分感谢! 本文是作者学习成绩的见证,请尊重劳动成果!版权归作者和博客园共有,欢迎转载,但请保留本文出处http://www.cnblogs.com/itred/p/4687287.html ,  作者:itRed

python笔记之列表和元组

pyhton的列表和元组,说白了其实就是一种数据结构,只是在python当中更加方便的去操作而已.. 1.序列 其实字符串就是采取序列的方式的: string = "hello" print string[0] 结果为:h 对比其他编程语言,python还有一个负值索引的概念: 序列的分片: first = [0,1,2,3,4,5,6,7,9] print first[1:6:2] 针对first[1:6:2]这条语句: 1代表的起始索引,不写,默认为0 6代表结束索引,不写默认为所

Python笔记——类定义

Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象 类的私有属性: __private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问 在类内部的方法中使用时 self.__private_attrs 类的方法 在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须

Python条件语句

1) if 语句 #格式if (条件):    语句块 2) if else 语句 #格式if (条件):    语句块1else:    语句块2 3) if-elif-else 语句 #格式if (条件1):    语句块1elif (条件2):    语句块2--else:    语句块n 4) if嵌套 #格式if (条件1):    if (条件2):        语句块1    elif (条件2):        语句块2--elif (条件n):    语句块n--else: 

Python循环语句

Python语言中的循环结构包含两种语句,分别是while语句和for语句. 1. while语句 while(表达式): -- else: -- 执行过程:当循环表达式为True时,依次执行while中的语句.直到循环表达式的值为False时,才执行else语句或退出循环.其中else子句可以省略,表达式两端的等号也可以省略. 2. for语句 for循环用于遍历一个集合,依次访问集合中的每个项目.格式如下: for 变量 in 集合: -- else: -- 执行过程:每次循环从集合中取出一

Python笔记_01列表 和元祖

Python笔记 第一章 列表和元祖 1.通用序列操作 所有序列都可以进行某些特定操作,包括:索引(indexing).分片(slicing).加(adding).乘(multiplying)以及检查某元素是否属于列表成员. 迭代:依次对序列中的每个元素重复执行某些操作. 序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素.也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list

Python 条件语句day05

Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件:     执行语句-- else:     执行语句-- 其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下: # coding=utf8 # 例1:if