美文网首页Python is Best
Python——控制语句和语法规则

Python——控制语句和语法规则

作者: So_ProbuING | 来源:发表于2017-09-22 16:41 被阅读9次

if语句

Python if语句是选取要执行的操作。

通用格式

if <test1>:
  <statements1>
elif <test2>:
  <statements2>
else:
  <statements3>

Python语法规则

Python语法特性

  • 语句是逐个运行的
  • 块和语句的边界会自动检测。
  • 复合语句=首行+“:”+缩进语句。Python中所有复合语句都遵循相同格式:首行会以冒号终止,再接一个或多个嵌套语句。通常都是在首行下缩进的。
  • 空白行、空格以及注释通常都会忽略。
  • 文档字符串会被忽略

代码块分隔符

Python会自动以行缩进检测块的边界,也就是程序代码左侧的空白空间。缩进至右侧相同距离的所有语句属于同一块的代码。块内的代码会垂直对齐。更深层的嵌套块就是比所在块的语句进一步向右缩进

代码结构

在Python中尽管可以使用空格或制表符来缩进,在一段代码块中混合使用这两者通常不是好主意。

if/else三元表达式

在Python2.5中引入了新的表达式格式

A= Y of X else Z
只有当X为真才会执行表达式Y,当X为假,才会执行表达式Z

循环计数器range

range函数是通用的工具,可用在各种环境下,range可以产生一个固定顺序的索引

>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list(range(2,5))
[2, 3, 4]
>>> list(range(0,10,2))
[0, 2, 4, 6, 8]
  • range中有一个参数时range会产生从零算起的整数列表,其中不包括该参数的值
  • range中有两个参数时,第一个参数将视为下边界。
  • range中有三个参数时,Python会对每个连续整数加上步进值从而得到结果
    range()常用来间接的迭代一个序列。与for循环结合后的执行速度是十分快的
>>> for i in range(3):
...     print(i,'pythons')
... 
0 pythons
1 pythons
2 pythons

并行遍历语句:zip

  • zip会取得一个或多个序列为参数,然后返回元组的列表。将这些序列中的并排的元素配成对
>>> L1=[1,2,3,4,5]
>>> L2=[2,3,4,5,6]
>>> print(zip(L1,L2))
<zip object at 0x10228e208>
>>> print(list(zip(L1,L2)))
[(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
>>> L2=[2,3,4,5]
>>> print(list(zip(L1,L2)))
[(1, 2), (2, 3), (3, 4), (4, 5)]
>>> print(tuple(zip(L1,L2)))
((1, 2), (2, 3), (3, 4), (4, 5))
  • zip返回的是一个元组对象
  • zip接收任何类型的序列(可迭代对象,可以是文件)
  • zip可以有两个以上的参数
  • 在参数长度不同时,zip会以最短序列的长度为准来截断所得到的元组
>>> S1='abc'
>>> S2='xyz123'
>>> tuple(zip(S1,S2))
(('a', 'x'), ('b', 'y'), ('c', 'z'))

使用zip构造字典

  • Python2.2之前的版本
>>> keys=['a','b','c','d']
>>> vals=[1,3,5,7]
>>> dict_a = {}
>>> for k,v in zip(keys,vals):
...     dict_a[k]=v
... 
>>> print(dict_a)
{'a': 1, 'b': 3, 'c': 5, 'd': 7}
  • Python2.2后可以直接使用字典的构造函数dict
>>> keys=['spam','eggs','toast']
>>> vals=[1,2,3]
>>> D=dict(zip(keys,vals))
>>> D
{'spam': 1, 'eggs': 2, 'toast': 3}

产生偏移元素enumerate

enumerate函数会返回一个生成器对象:这种对象支持迭代协议,可以得到偏移值的计数器

>>> s= 'SPAM'
>>> for (offset,item) in enumerate(s):
...     print(item,offset)
... 
S 0
P 1
A 2
M 3

相关文章

  • Python——控制语句和语法规则

    if语句 Python if语句是选取要执行的操作。 通用格式 Python语法规则 Python语法特性 语句是...

  • Python基础知识

    Python基础 语句和语法 Python语句中有一些基本规则和特殊字符: 井号(#)表示之后的Python字符为...

  • Python学习笔记-第3天: 元祖、字典、集合、控制语句(2

    第三天 语法基础:元祖、字典、集合、控制语句(2) 今天继续学习Python的一些基础数据结构和控制语句的语法。 ...

  • Python——控制语句

    Python控制语句 循环(loop)控制 循环的最基本语法 for循环 语法 rangerange(起始,范围,...

  • Python笔记

    1、Python流程控制结构 1.1Python条件结构 ①if()语法:if():多条语句体注意:if结构的语句...

  • python基础

    主要介绍python的基础语法及编程风格。 1. 语句和语法 基本规则和特殊字符 2. 变量赋值 赋值操作符:= ...

  • Python 菜鸟 ----基础知识

    1.python通过缩进来控制语句块;2.python不需要分号;3.python语法严格 4.f控制小数个数和缩...

  • 三、python if...else语句

    if...else语句即控制流程语句,属于复合语句,也就是说可以包含其他语句。 语法格式python if语句形式...

  • 2018-07-01

    if语句的语法和编写规则:详情见IfTest1~4程序 switch语句的语法和编写规则:见SwitchTest1...

  • Shell流程控制

    Shell流程控制 简单流程控制语句 单分支if语句 语法格式 双分支if语句 语法格式 多分支if语句 语法格式...

网友评论

    本文标题:Python——控制语句和语法规则

    本文链接:https://www.haomeiwen.com/subject/imjfextx.html