首頁 後端開發 Python教學 跟老齐学Python之正规地说一句话

跟老齐学Python之正规地说一句话

Jun 16, 2016 am 08:41 AM
語句

小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说“饺子”,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用“饺饺”来代替,其实就是让孩子学会一个字就能表达。当然,从教育学的角度,有人不赞成这种方法。这个此处不讨论了。如果对比学习编程,就好像是前面已经学习过的那些各种类型的数据(对应这自然语言中的单个字、词),要表达一个完整的意思,或者让计算机完成一个事情(动作),不得不通过一句话,这句话就是语句,它是按照一定规则组织起来的。自然语言中的一句话,按照主谓宾的语法方式组织,计算机编程中的语句,也是按照一定的语法要求进行组织。

虽然在第一部分中,已经零星涉及到语句问题,并且在不同场合也进行了一些应用。毕竟不那么系统。本部分,就比较系统地介绍python中的语句。

为了有总括的印象,先看看python中都包括哪些语句:

赋值语句

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if)配合使用。
for语句,遍列列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
while语句,当条件为真时,循环运行语句块。
try语句。与except, finally, else配合使用处理在程序运行中出现的异常情况。
class语句。用于定义类型。
def语句。用于定义函数和类型的方法。
pass语句。表示此行为空,不运行任何操作。
assert语句。用于程序调适阶段时测试运行条件是否满足。
with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加锁,然后在语句块运行退出后释放锁。
yield语句。在迭代器函数内使用,用于返回一个元素。
raise语句。抛出一个异常。
import语句。导入一个模块或包。常用写法:from module import name, import module as name, from module import name as anothername
特别说明,以上划分也不是很严格,有的内容,有的朋友不认为属于语句。这没关系,反正就是那个东西,在编程中使用。不纠结于名词归类上。总之这些都是要掌握的,才能顺利编程呢。

再谈赋值语句

还记得赋值,简单也不简单那一讲中所提到的赋值语句吗?既然谈语句,就应该从这个开始,一方面复习,另外一方面,希望能够深点,深点的感觉总是很好的(我说的是理解python,思无邪。前面有一个关于list的内容:再深点,更懂list,就有喜欢看玩笑的看官思邪了。哈哈。)

复制代码 代码如下:

>>> qiwsir = 1
>>> python = 2
>>> x, y = qiwsir, python   #相当于x=qiwsir,y=python
>>> x
1
>>> y
2
>>> x, y                    #输出的是tuple
(1, 2)
>>> [x, y]                  #这就是一个list
[1, 2]

>>> [a, b] = [qiwsir, python]
>>> a
1
>>> b
2
>>> a, b
(1, 2)
>>> [a, b]
[1, 2]

换一种方式,以上两种赋值方法交叉组合一下:

复制代码 代码如下:

>>> [c, d] = qiwsir, python
>>> c
1
>>> d
2
>>> c, d
(1, 2)
>>> f, g = [qiwsir, python]
>>> f
1
>>> g
2
>>> f, g
(1, 2)

居然也行。其实,从这里我们就看出来了,赋值,就是对应着将左边的变量和右边的对象关联起来。

有这样一个有趣的问题,如果a=3,b=4,想把这两个变量的值调换一下,也就是a=4,b=3。在有的高级语言中,是要先引入另外一个变量c做为中间中专,就是这样:

复制代码 代码如下:

a = 3
b = 4
c = a   #即c=3
a = b   #a=4
b = c   #b=3

初学者可能有点糊涂。就是我和你两只手都托着一个箱子,现在我们两个要换一下箱子,但是两个手都被占用了,无法换(当然,要求箱子不能落地,也不要放在桌子上之类的)。于是再找一个名曰张三的人来,他空着两只手,那么我先把箱子给张三,我就空出来了,然后接你的箱子,你的箱子就到我手里了。我的那个箱子现在张三手里呢,你接过来,于是我们两个就换了箱子了。

只所以这么啰嗦,就是因为我们两个没有更多的手。但是,这不是python,python有更多的手。她可以这样:

复制代码 代码如下:

>>> qiwsir = 100
>>> python = 200
>>> qiwsir, python = python, qiwsir
>>> qiwsir
200
>>> python
100

有点神奇,python是三头六臂的。

序列赋值

其实上面实验的赋值,本质上就是序列赋值。只不过这里再强化一番罢了。如果左边的变量是序列,右边的对象也是序列,两者将一一对应地进行赋值。

复制代码 代码如下:

>>> [a, b, c] = (1, 2, 3)   #左右序列一一对应,左边是变量,右边是对象
>>> a
1
>>> b
2
>>> c
3
>>> (a,b,c) = [1,2,3]
>>> a
1
>>> b
2
>>> c
3
>>> [a,b,c] = "qiw"     #不要忘记了,str也是序列类型的数据
>>> a
'q'
>>> b
'i'
>>> c
'w'
>>> (a,b,c) = "qiw"
>>> a,c
('q', 'w')
>>> a,b,c = 'qiw'       #与前面等价
>>> a,b
('q', 'i')
>>> a,b = 'qiw'         #报错了,因为左边和右边不是一一对应
Traceback (most recent call last):
  File "", line 1, in
ValueError: too many values to unpack

>>> (a,b),c = "qi","wei"    #注意观察,这样的像是是如何对应的
>>> a,b,c
('q', 'i', 'wei')
>>> string = "qiwsir"
>>> a,b,c = string[0],string[1],string[2]   #取切片也一样
>>> a,b,c
('q', 'i', 'w')
>>> (a,b),c = string[:2],string[2:]
>>> a,b,c
('q', 'i', 'wsir')

从实验中,可以看出,要搞清楚这种眼花缭乱的赋值,就仅仅扣住“一一对应”这个命脉即可。

如果看官用python3,在赋值上还有更多有意思的东西呢。不过,本讲座用的还是python2。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
PHP8.0中的multi-catch語句 PHP8.0中的multi-catch語句 May 14, 2023 pm 01:51 PM

隨著Web應用程式的發展,PHP語言在Web開發中得到了廣泛應用。而在PHP8.0版本中,一個新的語言特性被引入-multi-catch語句。什麼是multi-catch語句?在先前的PHP版本中,對於多個異常類型的處理,開發人員需要寫多個catch語句。例如,如下程式碼區塊展示了兩種不同異常的處理:try{//Somecodethatmay

如何實作MySQL中插入資料的語句? 如何實作MySQL中插入資料的語句? Nov 08, 2023 am 11:48 AM

如何實作MySQL中插入資料的語句?在使用MySQL資料庫時,插入資料是一項非常基礎且常見的操作。透過插入數據,可以將新的記錄新增到資料庫表中,為業務操作提供支援。本文將介紹如何使用MySQL中的INSERT語句來實作資料插入操作,並提供具體的程式碼範例。 MySQL中的INSERT語句用來向資料庫表中插入新的記錄。其基本語法格式如下:INSERTINTOt

C#的try語句用法 C#的try語句用法 Feb 22, 2024 pm 12:45 PM

C#的try語句用法,需要具體程式碼範例C#是一種物件導向的程式語言,其中的try語句是一種用來擷取和處理例外狀況的結構。透過try語句,我們可以編寫程式碼來處理可能發生的異常情況,從而改善程式的穩定性和可靠性。在本文中,我們將介紹C#中try語句的用法,並提供一些具體的程式碼範例來幫助讀者理解。在C#中,try語句由try區塊、catch區塊和optionalfina

了解Python中的流程控制語句需要掌握幾個情況 了解Python中的流程控制語句需要掌握幾個情況 Jan 20, 2024 am 08:06 AM

Python是一種廣泛使用的高階程式語言,它具有簡單易學、高效靈活的特點,深受開發者的喜愛。在Python中,流程控制語句是實作程式邏輯的重要部分。本文將介紹Python中常用的流程控制語句,並提供程式碼範例加深理解。在Python中,常見的流程控制語句包含條件語句和迴圈語句。條件語句根據條件的真假執行不同的程式碼區塊,用於判斷和選擇執行分支。而循環語句則用於重複

掌握C語言中Go語句的技巧 掌握C語言中Go語句的技巧 Mar 23, 2024 pm 12:39 PM

在C語言中使用Go語句是一種常見、靈活的程式設計技巧,可以實現並發執行的功能。以下將介紹一些掌握C語言中Go語句的技巧,並附有具體的程式碼範例。首先,我們需要了解C語言中如何模擬並發執行。在C語言中,並發操作可以透過建立多個執行緒來實現。而在多執行緒程式設計中,我們可以使用pthread函式庫進行執行緒的建立與管理。接下來是一個簡單的C語言程序,其中創建了兩個線程並使其並發執行

掌握Python流程控制語句的種類,從零開始學習! 掌握Python流程控制語句的種類,從零開始學習! Jan 20, 2024 am 09:02 AM

從零開始學Python,先搞懂流程控制語句有幾種! Python是一門簡潔而強大的程式語言,廣泛用於資料分析、人工智慧、網頁開發以及各種科學計算領域。作為初學者,掌握基本的流程控制語句是非常重要的,因為它們是實現邏輯判斷和控製程式執行流程的基礎。在Python中,主要有三種流程控制語句:順序結構、條件結構、循環結構。以下將具體介紹這三種流程控制語句,並給予相應

如何實現MySQL中解鎖表格的語句? 如何實現MySQL中解鎖表格的語句? Nov 08, 2023 pm 06:28 PM

如何實現MySQL中解鎖表格的語句?在MySQL中,表鎖是一種常用的鎖定機制,用於保護資料的完整性和一致性。當一個事務正在對某個表進行讀寫操作時,其他事務就無法對該表進行修改。這種鎖定機制在一定程度上保證了資料的一致性,但也可能導致其他交易的阻塞。因此,如果一個事務因為某種原因無法繼續執行,我們需要手動解鎖表,以便其他事務可以繼續操作。 MySQL提供了多種

SQL ALTER語句的用途 SQL ALTER語句的用途 Feb 19, 2024 pm 05:01 PM

SQL的ALTER語句作用,需要具體程式碼範例在資料庫管理系統中,ALTER語句是一種用來修改資料庫物件的SQL指令。透過ALTER語句,我們可以對資料表、列、索引、檢視等資料庫物件進行修改,包括新增、刪除、修改等操作。以下將具體介紹ALTER語句的常見用法,並提供相關的程式碼範例。 ALTERTABLE語句用來修改表格的結構。可以透過新增、刪除、修改列、約束、索引等

See all articles