简写 If
如果只有一条语句要执行,则可以将其与 if 语句放在同一行。
实例
单行 if 语句:
a = 200 b = 66 if a > b: print("a is greater than b")
简写 If ... Else
如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:
实例
单行 if else 语句:
a = 200 b = 66 print("A") if a > b else print("B")
And
and
关键字是一个逻辑运算符,用于组合条件语句:
实例
测试 a 是否大于 b,且 c 是否大于 a:
a = 200 b = 66 c = 500 if a > b and c > a: print("Both conditions are True")
Or
or
关键字也是逻辑运算符,用于组合条件语句:
实例
测试 a 是否大于 b,或者 a 是否大于 c:
a = 200 b = 66 c = 500 if a > b or a > c: print("At least one of the conditions is True")
嵌套 If
您可以在 if 语句中包含 if 语句,这称为嵌套 if 语句。
x = 52 if x > 10: print("Above ten,") if x > 20: print("and also above 20!") else: print("but not above 20.")
pass 语句
if 语句不能为空,但是如果您处于某种原因写了无内容的 if 语句,请使用 pass 语句来避免错误。
实例
a = 66 b = 200 if b > a: pass
Python While 循环
Python 循环
Python 有两个原始的循环命令:
while
循环for
循环
while 循环
如果使用 while
循环,只要条件为真,我们就可以执行一组语句。
实例
只要 i 小于 7,打印 i:
i = 1 while i < 7: print(i) i += 1
注释:请记得递增 i,否则循环会永远继续。
while 循环需要准备好相关的变量。在这个实例中,我们需要定义一个索引变量 i,我们将其设置为 1。
break 语句
如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:
实例
在 i 等于 3 时退出循环:
i = 1 while i < 7: print(i) if i == 3: break i += 1
continue 语句
如果使用 continue
语句,我们可以停止当前的迭代,并继续下一个:
实例
如果 i 等于 3,则继续下一个迭代:
i = 0 while i < 7: i += 1 if i == 3: continue print(i)
else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
实例
条件为假时打印一条消息:
i = 1 while i < 6: print(i) i += 1 else: print("i is no longer less than 6")
Python For 循环
Python For 循环
for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。
这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
实例
打印 fruits 列表中的每种水果:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x)
提示:for
循环不需要预先设置索引变量。
循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:
实例
循环遍历单词 "banana" 中的字母:
for x in "banana": print(x)
break 语句
通过使用 break
语句,我们可以在循环遍历所有项目之前停止循环:
实例
如果 x 是 "banana",则退出循环:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x) if x == "banana": break
实例
当 x 为 "banana" 时退出循环,但这次在打印之前中断:
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": break print(x)
continue 语句
通过使用 continue
语句,我们可以停止循环的当前迭代,并继续下一个:
实例
不打印香蕉:
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": continue print(x)
range() 函数
如需循环一组代码指定的次数,我们可以使用 range()
函数,
range()
函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
实例
使用 range()
函数:
for x in range(10): print(x)
注意:range(10)
不是 0 到 10 的值,而是值 0 到 9。
range()
函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10)
,这意味着值为 3 到 10(但不包括 10):
实例
使用起始参数:
for x in range(3, 10): print(x)
range()
函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3)
:
实例
使用 3 递增序列(默认值为 1):
for x in range(3, 50, 6): print(x)
For 循环中的 Else
for 循环中的 else
关键字指定循环结束时要执行的代码块:
实例
打印 0 到 9 的所有数字,并在循环结束时打印一条消息:
for x in range(10): print(x) else: print("Finally finished!")
嵌套循环
嵌套循环是循环内的循环。
“外循环”每迭代一次,“内循环”将执行一次:
实例
打印每个水果的每个形容词:
adj = ["red", "big", "tasty"] fruits = ["apple", "banana", "cherry"] for x in adj: for y in fruits: print(x, y)
pass 语句
for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。
实例
for x in [0, 1, 2]: pass
Python 函数
函数是一种仅在调用时运行的代码块。
您可以将数据(称为参数)传递到函数中。
函数可以把数据作为结果返回。
创建函数
在 Python 中,使用 def
关键字定义函数:
实例
def my_function(): print("Hello from a function")
调用函数
如需调用函数,请使用函数名称后跟括号:
实例
def my_function(): print("Hello from a function") my_function()
参数
信息可以作为参数传递给函数。
参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。
下面的例子有一个带参数(fname)的函数。当调用此函数时,我们传递一个名字,在函数内部使用它来打印全名:
实例
def my_function(fname): print(fname + " Gates") my_function("Bill") my_function("Steve") my_function("Elon")
默认参数值
下面的例子展示如何使用默认参数值。
如果我们调用了不带参数的函数,则使用默认值:
实例
def my_function(country = "China"): print("I am from " + country) my_function("Sweden") my_function("India") my_function() my_function("Brazil")
以 List 传参
您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
例如,如果您将 List 作为参数发送,它到达函数时仍将是 List(列表):
实例
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
返回值
如需使函数返回值,请使用 return
语句:
实例
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
关键字参数
您还可以使用 key = value 语法发送参数。
参数的顺序无关紧要。
实例
def my_function(child3, child2, child1): print("The youngest child is " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
任意参数
如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。
这样,函数将接收一个参数元组,并可以相应地访问各项:
实例
如果参数数目未知,请在参数名称前添加 *:
def my_function(*kids): print("The youngest child is " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
pass 语句
函数定义不能为空,但是如果您出于某种原因写了无内容的函数定义,请使用 pass 语句来避免错误。
实例
def myfunction: pass
递归
Python 也接受函数递归,这意味着定义的函数能够调用自身。
递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。
开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。
在这个例子中,tri_recursion() 是我们定义为调用自身 ("recurse") 的函数。我们使用 k 变量作为数据,每次递归时递减(-1)。当条件不大于 0 时(比如当它为 0 时),递归结束。
对于新的开发人员来说,可能需要一些时间来搞清楚其工作原理,最好的方法是测试并修改它。
实例
递归的例子:
def tri_recursion(k): if(k>0): result = k+tri_recursion(k-1) print(result) else: result = 0 return result print("\n\nRecursion Example Results") tri_recursion(6)
Python 模块
什么是模块?
请思考与代码库类似的模块。
模块是包含一组函数的文件,希望在应用程序中引用。
创建模块
如需创建模块,只需将所需代码保存在文件扩展名为 .py
的文件中:
实例
在名为 mymodule.py
的文件中保存代码:
def greeting(name): print("Hello, " + name)
使用模块
现在,我们就可以用 import
语句来使用我们刚刚创建的模块:
实例
导入名为 mymodule
的模块,并调用 greeting
函数:
import mymodule mymodule.greeting("Bill")
注释:如果使用模块中的函数时,请使用以下语法:
module_name.function_name
模块中的变量
模块可以包含已经描述的函数,但也可以包含各种类型的变量(数组、字典、对象等):
实例
在文件 mymodule.py
中保存代码:
person1 = { "name": "Bill", "age": 63, "country": "USA" }
实例
导入名为 mymodule
的模块,并访问 person1 字典:
import mymodule a = mymodule.person1["age"] print(a)
为模块命名
您可以随意对模块文件命名,但是文件扩展名必须是 .py
。
重命名模块
您可以在导入模块时使用 as
关键字创建别名:
实例
为 mymodule 创建别名 mx:
import mymodule as mx a = mx.person1["age"] print(a)
内建模块
Python 中有几个内建模块,您可以随时导入。
实例
导入并使用 platform
模块:
import platform x = platform.system() print(x)
使用 dir() 函数
有一个内置函数可以列出模块中的所有函数名(或变量名)。dir()
函数:
实例
列出属于 platform 模块的所有已定义名称:
import platform x = dir(platform) print(x)
注释:dir() 函数可用于所有模块,也可用于您自己创建的模块。
从模块导入
您可以使用 from 关键字选择仅从模块导入部件。
实例
名为 mymodule 的模块拥有一个函数和一个字典:
def greeting(name): print("Hello, " + name) person1 = { "name": "Bill", "age": 63, "country": "USA" }
实例
仅从模块导入 person1 字典:
from mymodule import person1 print (person1["age"])
提示:在使用 from 关键字导入时,请勿在引用模块中的元素时使用模块名称。示例:person1["age"],而不是 mymodule.person1["age"]。
本篇python基础语法就到这了