IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础语法- 4 -> 正文阅读

[Python知识库]Python基础语法- 4

4 控制语句

4.1 选择结构

  1. 条件表达式中,不能出现赋值操作符=

  2. 单分支:if a<10 :

  3. 双分支:if else

  4. 三元条件运算符:

	# 条件为真返回值 if 表达式 else 条件为假返回值
	
	print( num if int(num)<10 else '数字太大' )
  1. 多分支:if - elif

    几个分支间右逻辑关系,不能随便颠倒顺序

	# 显示
	# {}占位符别忘了,python里的表示方法要习惯
	print("分数是{0},等级是{1}" ,format(score,grade) )
	
	print("分数是:" ,score )
  1. 嵌套

控制好缩进量!!不然关系乱套了!!

4.2 循环结构

while

    num = 0
	while num <= 10 :
	    print(num)
	    num += 1

for 循环和可迭代对象遍历

for 循环通常用于可迭代对象的遍历。

for 变量  in  可迭代对象:

    循环体语句

【操作】遍历一个元组或列表

   for x in (10,20,30)
     print(x*3)     # 依次

可迭代对象

Python 包含以下几种可迭代对象:

  1. 序列

  2. 字符串

  3. 列表

  4. 元组

  5. 字典

range 对象

range 对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:

range(start, end [,step])

默认从0 开始。默认为 1。

   for i in range(10)

   for i in range(3,10)

   for i in range(3,10,2)

   # 产生序列:0 1 2 3 4 5 6 7 8 9

   # 产生序列:3 4 5 6 7 8 9
   # 产生序列:3 5 7 9



#   【操作】利用 for 循环,计算 1-100 之间数字的累加和;计算 1-100之间偶数的累加计算 1-100 之间奇数的累加和。

   sum_all = 0   #1-100  所有数的累加和
   sum_even = 0     #1-100 偶数的累加和
   sum_odd = 0      #1-100 奇数的累加和
   
   for num in range(101):
    sum_all += num
  
   d = {'name':'gaoqi','age':18,'address':'西三旗 001 号楼'} 
   for x in d:   \#遍历字典所有的 key
     print(x)

   for x in d.keys():\#遍历字典所有的 key print(x)

   for x in d.values():\#遍历字典所有的 value print(x)

   for x in d.items():\#遍历字典所有的"键值对" print(x)

   for x in "sxt001": print(x)

嵌套循环和综合练习

利用嵌套循环打印九九乘法表

   for m in range(1,10):
   
    for n in range(1,m+1):
     print('{0}*{1}={2}'.foemat(m,n,(m*n)),end='\t')   
     
    print()     # 换行,因为没写end是啥,就默认是换行

    # 编程时出错的地方:
    # 1. range范围包头不包尾,还是1~9 这种;
    # 2. for循环别忘了最后的冒号!

用列表和字典存储下表信息,并打印出表中工资高于 15000 的数据

   # 只写查表的部分
   for x in tb:
    if x.get('salary')>15000:
        print(x)

    # 注意的地方:
    # 1. x为  每行的字典  对象

break 语句

break 语句可用于 while 和 for 循环,用来结束整个循环。
当有嵌套循环时,break语句只能跳出最近一层的循环。

continue 语句

continue 语句用于结束本次循环,继续下一次。
多个循环嵌套时,continue也是应用于最近的一层循环。

else 语句

while、for 循环可以附带一个 else 语句(可选)。
如果 for、while 语句没有被 break 语句结束,则会执行 else 子句,否则不执行。
    while 条件表达式:
        循环体
    else:
        语句块
        
    for 变量 in 可迭代对象:
        循环体
    else:
        语句块  

循环代码优化

虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。
编写循环时,以下规则:
1. 减少循环内不必要的计算;
2. 嵌套循环中,减少内存的计算、向外提;
3. 局部变量查询较快,尽量使用局部变量。
    # 循环代码优化测试

    # import time

   start = time.time() 
   for i in range(1000):
     result = []
     for m in range(10000): \
        result.append(i*1000+m*100)

   end = time.time()

   print("耗时:{0}".format((end-start)))

   start2 = time.time() 
   for i in range(1000):
    result = [] c = i*1000
    for m in range(10000): 
        result.append(c+m*100)

   end2 = time.time()

   print("耗时:{0}".format((end2-start2)))    

其他优化手段

  1. 连接多个字符串,使用 join()而不使用+

  2. 列表进行元素插入和删除,尽量在列表尾部操作

使用 zip()并行迭代

我们可以通过zip()函数对多个序列进行并行迭代,
zip()函数在最短序列“用完”时就会停止。

推导式创建序列

推导式是从一个或者多个迭代器快速创建序列的一种方法。
它可以将循环和条件判断结合,

列表推导式

列表推导式生成列表对象,语法如下:

  [表达式   for item in 可迭代对象 ]
  
  {表达式 for item in 可迭代对象 if 条件判断}

字典推导式

字典的推导式生成字典对象,格式如下   
{key_expression : value_expression for 表达式 in 可迭代对象}

类似于列表推导式,字典推导也可以增加 if 条件判断、多个 for 循环。

集合推导式
集合推导式生成集合,和列表推导式的语法格式类似:

{表达式 for item in 可迭代对象 }

{表达式 for item in 可迭代对象 if 条件判断}
 
{x for x in range(1,100) if x%9==0}

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

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

“都有推导式,元组有没有?”,能不能用小括号呢?

   (x for x in range(1,100) if x%9==0)
    
  #  \<generator object \<genexpr\> at 0x0000000002BD3048\>
    
 我们发现提示的是“一个生成器对象”。
 显然,元组是没有推导式的。
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 00:20:01  更:2021-07-14 00:20:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 20:17:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码