Python学习-Day5-控制语句(二)、函数(一)

1026-徐同学

发表文章数:41

首页 » Python » 正文

for循环和可迭代对象遍历

for 变量 in 可迭代对象:
循环体语句

for x in (10,20,30):
    print(x*30)

300
600
900

range对象

是一个迭代器对象,用来产生指定范围的数字序列
range(start,end [,step])

sum_all = 0
for x in range(101):
    sum_all += x
print(sum_all)

5050

嵌套循环

一个循环体内可以嵌入另一个循环,成为嵌套循环或多重循环

#打印列表
for x in range(5):
    for y in range(5):
        print(x,end="/t")
    print()

0	0	0	0	0	
1	1	1	1	1	
2	2	2	2	2	
3	3	3	3	3	
4	4	4	4	4	
#打印九九乘法表
for m in range(1,10):
    for n in range(1,m+1):
        print("{0}*{1}={2}".format(m,n,(m*n)),end="/t")
    print() #换行

break语句

用来结束整个循环

while True:
    a = input("请输入一个字符:(Q或者q退出)")
    if a=="q" or a =="Q":
        print("循环结束,退出")
        break
    else:
        print(a)
        
请输入一个字符:(Q或者q退出)e
e
请输入一个字符:(Q或者q退出)q
循环结束,退出

continue语句

用于结束本次循环,继续下一次。
Python学习-Day5-控制语句(二)、函数(一)

else语句

如果for、while语句没有被break语句结束,则会执行else子句,否则不执行。
while 条件表达式:
循环体
else:
语句块
Python学习-Day5-控制语句(二)、函数(一)

循环代码优化

  1. 尽量减少循环内部不必要的计算。
  2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
  3. 局部变量查询较快,尽量使用局部变量。

其他优化手段

  1. 连接多个字符串,使用join()而不使用+
  2. 列表进行元素插入和删除,尽量在列表尾部操作。

使用zip()并行迭代

可以对多个序列进行并行迭代。

names = ("老大","老二","老三")
ages ={20,19,18,17}
jobs ={"老师","程序员","学生"}

for names,ages,jobs in zip(names,ages,jobs):
    print("{0}-{1}-{2}".format(names,ages,jobs))

推导式创建序列

列表推导式

表达式 for item in 可迭代对象

y = [x*2 for x in range(1,5)]
print(y)

y=[]
for x in range(1,5):
    y.append(x*2)
print(y)

[2, 4, 6, 8]
[2, 4, 6, 8]

字典推导式

key_expression : value_expression for 表达式 in 可迭代对象。

my_text = "I love you, I love python."
char_count = {c:my_text.count(c) for c in my_text}
print(char_count)

集合推导式

b = {x for x in range(1,100) if x%9 == 0}
print(b)

{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}

生成器推导式(生成元组)

元组是没有推导式的。
一个生成器只能运行依次,一次迭代可以得到数据。

gnt = (x for x in range(4))
print(tuple(gnt))
print(tuple(gnt))

函数用法和底层分析

函数简介

函数是可充用的程序代码。能实现代码的一致性。

函数的基本概念

  1. 一个程序由一个个任务组成,函数就是代表一个任务或者一个功能。
  2. 函数是代码复用的通用机制。

Python函数的分类

  1. 内置函数
  2. 标准库函数
  3. 第三方库函数
  4. 用户自定义函数

函数的定义和调用

def 函数名(参数列表):
“文档字符串”
函数体/若干语句

def test01():
    print("@")
    print("$")
test01()
test01()

@
$
@
$

要点:

  1. 使用def定义函数,空格和函数名称:
    (1)python执行def时,会创建一个函数对象,并绑定到函数名变量上。
  2. 参数列表
    (1)圆括号内时形式参数列表,由多个参数则使用逗号隔开
    (2)形式参数不需要声明类型,也不需要指定函数返回类型
    (3)无参数,也必须保留空的圆括号
    (4)实参列表必须与形参列表一一对应
  3. return返回值
    (1)如果函数体中包含return语句,则结束函数执行并返回值
    (2)如果函数体中不包含return语句,则返回None值
  4. 调用函数之前,必须要先定义函数,即先调用def创建函数对象
    (1)内置函数对象会自动创建
    (2)标准库和第三方库函数,通过import导入模块时,会执行模块中的def语句

形参和实参

Python学习-Day5-控制语句(二)、函数(一)

文档字符串(函数的注释)

Python学习-Day5-控制语句(二)、函数(一)

返回值

return返回值要点:

  1. 如果函数体包含return语句,则结束函数执行并返回值
  2. 如果函数体不包含return语句,则返回None值
  3. 要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。
def add(a,b):
    print("计算和,{0},{1},{2}".format(a,b,(a+b)))
    return a+b

add(30,40)

计算和,30,40,70

未经允许不得转载:作者:1026-徐同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《Python学习-Day5-控制语句(二)、函数(一)》 发布于2020-04-10

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录