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