第四章 Python外壳:代码结构

Python的独特语法:

  • 不使用分号结束语句,而是回车;
  • 通过代码缩进来区分代码块;
  • if、while、for等,都不用括号,但不能没有冒号(:)。

如何将一行命令分为多行?

>>> myNameIs = "LiZhiXin."
>>> myNameIs
‘LiZhiXin.‘

4.1 条件语句和循环语句

如何使用if、elif和else进行比较?

>>> a = 1
>>> if a < 2:
    print ("yes")
elif a > 2:
    print ("no")
else:
    print ("chaos")

yes

如何连接条件表达式?

python中没有!、&& 和 || 运算符,分别用 not、and 和 or代替。

>>> not 1
False
>>> 5 < 6 and 1 < 2
True
>>> 5 < 6 or 1 > 2
True

python中有哪些假值?

>>> False
False
>>> None
>>> 0
0
>>> 0.0
0.0
>>> ‘‘
‘‘
>>> []
[]
>>> ()
()
>>> {}
{}
>>> set()
set()

如何使用while进行循环?

>>> count = 1
>>> while count <= 5:
    print(count)
    count += 1

1
2
3
4
5

如何跳出循环?

>>> while True:
    stuff = input("string to calpitalize [type q to quit]:")
    if stuff == ‘q‘:
        break
    print(stuff.capitalize())

string to calpitalize [type q to quit]:li zhi xin
Li zhi xin
string to calpitalize [type q to quit]:q
>>>

如何跳到循环开始(用于跳过特定条件的循环)?

>>> while True:
    value = input("Interger, please [q to quit]: ")
    if value == ‘q‘:
        break
    number = int(value)
    if number % 2 == 0:
        continue
    print(number, "squared is ", number*number)

Interger, please [q to quit]: 1
1 squared is  1
Interger, please [q to quit]: 2
Interger, please [q to quit]: 3
3 squared is  9
Interger, please [q to quit]: 4
Interger, please [q to quit]: q

循环外的else是如何使用的?

>>> numbers = [1,3,5]
>>> position = 0
>>> while position < len(numbers):
    number = numbers[position]
    if number % 2 == 0:
        print(‘Found even number‘, number)
        break
    position += 1
else:
    print("No even number found.")

No even number found.

*如何使用for进行迭代(很独特)?

python中的for很牛逼,可以在数据结构和具体实现未知的情况下,遍历整个数据结构:

>>> rabbits = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> current = 0
>>> while current < len(rabbits):
    print(rabbits[current])
    current += 1

a
b
c
d
>>> for rabbit in rabbits:
    print(rabbit)

a
b
c
d
>>> word = ‘cat‘
>>> for letter in word:
    print(letter)

c
a
t
>>> a = {‘a‘:‘b‘, ‘c‘:‘d‘, ‘e‘:‘f‘}
>>> for key in a:
    print(key)

a
c
e
>>> for value in a.values():
    print(value)

b
d
f
>>> for item in a.items():
    print(item)

(‘a‘, ‘b‘)
(‘c‘, ‘d‘)
(‘e‘, ‘f‘)
>>> for key, value in a.items():
    print(key, value)

a b
c d
e f

如何用zip()函数进行迭代?

对多个序列使用并行迭代,就是一起迭代,等价于将多个序列有序合并了。

>>> c = 0.1, 0.2, 0.3
>>> a = (1, 2, 3)
>>> b = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> c = 0.1, 0.2, 0.3, 0.4, 0.5,
>>> for e, f, g in zip(a, b, c):
    print(e, ‘ ‘, f, ‘ ‘, g)

1   a   0.1
2   b   0.2
3   c   0.3

list()、zip()和 dict()可以灵活运用。

如何生成特定区间的自然数序列?

range()的使用方法类似切片,但是却是使用‘,’分隔,而不是‘:’。

>>> for x in range(0,3):
    print(x)

0
1
2
>>> list(range(0,3))
[0, 1, 2]

 

4.2 推导式(python特有)

从一个或多个迭代器创建数据结构,可以将循环和条件结合。

列表推导式

>>> number_list = [number for number in range(1,6)]
>>> number_list
[1, 2, 3, 4, 5]
>>> a_list = [number for number in range(1,6) if number % 2 ==1]
>>> a_list
[1, 3, 5]
>>> rows = range(1,4)
>>> cols = range(1,3)
>>> cells = [(row, col) for row in rows for col in cols]
>>> for cell in cells:
    print(cell)

(1, 1)
(1, 2)
(2, 1)
(2, 2)
(3, 1)
(3, 2)

字典推导式

>>> word = ‘letters‘
>>> letter_counts = {letter:word.count(letter) for letter in word}
>>> letter_counts
{‘l‘: 1, ‘t‘: 2, ‘r‘: 1, ‘s‘: 1, ‘e‘: 2}

 

函数

python中参数有哪几种使用方法?

>>> def func(a, b, c):
    print(‘a is ‘, a, ‘b is ‘, b, ‘c is ‘, c)

>>> func(1, 2, 3)
a is  1 b is  2 c is  3
>>> func(c = 1, b = 2, a = 3)
a is  3 b is  2 c is  1
>>> d = [1, 2, 3]
>>> func(*d)
a is  1 b is  2 c is  3
>>> e = {‘c‘:1, ‘b‘:2, ‘a‘:3}
>>> func(**e)
a is  3 b is  2 c is  1

生成器

 

装饰器

 

命名空间和作用域

 

异常

时间: 2024-10-08 10:30:27

第四章 Python外壳:代码结构的相关文章

第四章 Matlab的循环结构

第四章 Matlab的循环结构 4.1 while循环 while expression code_block end 4.2 while循环举例 1) mean(a):均值,其中,a = [1 2 3 4 5 6 7 8 9] 2) std(a):标准差 4.3 for循环 1) 形式 for index=expr code_block end index是循环指数,它读取数组expr的列数,expr有多少列,循环就执行多少次,expr最常见的就是冒号表达式. 如:for ii=1:2:10 

第四章 python中的函数

第一节 函数的介绍 1)函数就是完成特定功能的一个语句组,这组语句作为一个单位使用,并且给它取一个名字. ? 2)可以通过函数名在程序的不同地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句. 3)自定义函数 - 用户自己编写的 4)预定义的python函数 - 系统自带的一些函数,还有一些第三方编写的函数,如其他程序员编写的一些函数,对于这些现成的函数用户可以直接拿来使用. 5)为什么使用函数 6)降低编程的难度 - 通常将一个复杂的大问题分解成一系列更简单的小问题,然后

算法导论 第三章 and 第四章 python

第三章 渐进的基本O().... 常用函数 % 和  // 转换 斯特林近似公式 斐波那契数 第四章 分治策略:分解(递归)--解决(递归触底)--合并 求解递归式的3种方法: 1:代入法(替代法):猜测一个(靠经验)--数学归纳法 ·2:递归树法:画树p31[第3版中文]p51->递归式--证明 3:主方法: 快速,有些地方不能涉及,递归式不易写出 4.1最大数组问题 分治法: 1.A[low ,mid]  2.A[mid+1, high] 3.包含mid中间(想左和右分别遍历组合找出最大)

第四章:重构代码[学习Android Studio汉化教程]

第四章 Refactoring Code The solutions you develop in Android Studio will not always follow a straight path from design to finish. To be an effective Android programmer, you need to be flexible and refactor your code as you develop, debug, and test. In t

第四章 python对象

4.1 Python 对象 所有的Python 对像都拥有三个特性:身份,类型和值.身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址.您极少会用到这个值,也不用太关心它究竟是什么. 类型对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.您可以用内建函数type()查看Python 对象的类型.因为在Python 中类型也是对象(还记得我们提到Python 是面向对象的这句话吗?),所

第四章 函数之基本结构

4.1 基本结构 本质: 将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方式:面向过程----函数式编程(多)----面向对象编程 基本结构 # 函数的定义def 函数名(): 函数内容 pass# 函数的执行函数名() # 示例一 def list_data(): v = [11,54,52] print(v[1]) list_data() # 54 函数如果不被调用,则内部永远不会被执行

python核心编程第四章 python对象

4–1. Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的描述一下.  身份,类型和值. 4–2. 类型.不可更改(immutable)指的是什么?Python 的哪些类型是可更改的 (mutable),哪些不是? 如果对象支持更新操作,那么它的值就可以改变,否则它的值也是只读的.对象的值是否 可以更改被称为对象的可改变性(mutability) 数字 Scalar 不可更改 直接访问 字符串 Scalar 不可更改 顺序访问 列表 Container 可更改 顺序访

第四章 Python 文件处理

第1章 文件处理 1.1 文件操作流程 1. 打开文件,得到文件句柄并赋值给一个变量 2. 通过句柄对文件进行操作 3. 关闭文件 1.2 具体操作 1.打开文件,得到文件句柄并赋值给一个变量 f=open('db.txt','r',encoding='utf-8') 2.通过句柄对文件进行操作 data=f.read() 3. 关闭文件 f.close() #回收操作系统资源 1.3 流程分析 f=open('db.txt','r',encoding='utf-8') 1.由应用程序向操作系统

第四章 python的文件操作

在python里,我们可以通过open()方法打开文件并且用内置方法处理文件内容. 需要注意的是,open() 会默认自动转换为2进制再存储(write方法执行时).所以open命令也是在2进制的基础上进行存储的. 4.1 文件基本操作 obj = open(file='路径',mode='模式',encoding='编码') obj.write() # 可写模式下 obj.read() # 可读模式下 obj.close() 4.2 打开模式 操作字符串 r/w/a r+/w+/a+ 直接操作