三种控制流语句:if、for、while,Python用缩进表明成块的代码,以四个空格表示隶属关系,所以语句不能随意缩进。

1 条件语句

(1)简单的if语句

a = 10

if a > 0: #末尾带“:”

print('这是一个整数') #四个空格缩进表示隶属关系

(2)if...else:二选一,适用于“非黑即白”的判断,只有一个输出

person = [1, 0] #0-男性 1-女性

if person[0] ==0:print('这是男性!')else:print('这是女性!')

(3)if...elif...else:多选一,多个条件相互独立,只有一个输出

a, b = 10, 5

if a < b: #首次判断不满足,跳过

print('a 小于 b')elif a == b: #再次判断不满足,跳过

print('a 等于 b')else: #因比较只有:大于、等于、小于三种情况,排除两种后只剩大于,直接输出

print('a 大于 b') #a 大于 b

(4)if的嵌套使用:多用于数值/多条件判断,可有多个输出

a = input('a:')

b= input('b:')

c= input('c:')if a >b:print(a, '大于', b)if a >c:print(a, '大于', c)else:print(a, '小于', c)

2 循环语句

在符合条件的情况下,重复执行一段代码。

2.1 while循环

(1)简单while循环:单线重复

a =0while a < 100:

a+= 1 #改变循环条件

print(a)

(2)嵌套while循环:多线重复,常用于行列输出

i =0while i < 5: #纵向打印

m =0while m < i: #横向打印

print('*', end=' ')

m+= 1 #改变循环条件

i += 1 #改变循环条件

print( )#*#* *#* * *#* * * *

(3)while...else...类似与if...else...实际很少用,了解即可

2.2 for循环

可以循环遍历任何序列项目,如列表或字符串(字典只能遍历keys),不需要判断条件,遍历完序列中的项目即结束

a = [4, 3, 8, 9, 6, 1]for i in a: #打印列表元素

print(i)

注意与while循环的区别

i =0while i < len(a): #必须定义并改变循环条件

print(a[i]) #通过索引下标输出

i += 1

因为迭代(循环)某范围的数字非常常见,所以有个内建的范围函数range( )

for i in range(10):print(i)

轻量级循环(列表生成式):通过简单语句实现

print([x*x for x in range(10)]) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2.3 相关函数

(1)enumerater( ):每次循环中同时得到下标和元素

animal = ['Duck', 'Cat', 'Chicken', 'Dog', 'Bird']for index, num inenumerate(animal):print(index)print(num)#0#Duck#1#Cat#2#Chicken#3#Dog#4#Bird

(2)zip( ):实现每次循环时从多个等长序列中同时取出一个元素

ta = [1, 2, 3]

tb= [7, 8, 9]

tc= ['a', 'b', 'c']for a, b, c inzip(ta, tb, tc):print(a, b, c)#1 7 a#2 8 b#3 9 c

2.4 中断循环

(1)break:退出循环

(2)continue:退出本次循环,直至不满足遍历条件终止循环

name = input('请输入犯人名字:')

person= ['Jack', 'Tom', 'John', 'Susan']for se inperson:if se ==name:print('嫌疑人是:%s' %se)break #退出整个循环,不会输出“end”

#continue

print(se)'''break:运行至找到犯人为止,退出整个循环

请输入犯人名字:Tom

嫌疑人是:Tom

Tom

continue:找到后退出当前循环,从下次继续执行整个循环直至不满足循环条件

请输入犯人名字:Tom

嫌疑人是:Tom

Susan'''

3 深拷贝与浅拷贝

3.1 术语解释

(1)变量:是一个系统表的元素,拥有指向对象的连接空间

(2)对象:被分配的一块内存,存储其所代表的值

(3)引用:是自动形成的从变量到对象的指针

注意:类型(int类型,long类型(Python3已去除long类型,只剩下int类型的数据))属于对象,不是变量

3.2 拷贝方法

在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,Python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。

3.2.1 直接赋值

默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。

alist = [1, 2, 3, ['a', 'b']]

b=alistprint(b) #[1, 2, 3, ['a', 'b']]

alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]

print(b) #[1, 2, 3, ['a', 'b'], 5]

3.2.2 浅拷贝 copy.copy( )

拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制。

importcopy

c=copy.copy(alist)print(c) #[1, 2, 3, ['a', 'b']]

alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]

print(c) #[1, 2, 3, ['a', 'b'], 5]

3.2.3 深拷贝 copy.deepcopy( )

外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。

d =copy.deepcopy(alist)print(d) #[1, 2, 3, ['a', 'b']]

alist.append(5)print(alist) #[1, 2, 3, ['a', 'b'], 5]

print(d) #[1, 2, 3, ['a', 'b']]

python语言三大基本控制结构_Python基础(4) 控制结构相关推荐

  1. 88是python语言的整数类型_Python基础数据类型题

    Python基础数据类型 题 考试时间:三个小时 满分100分(80分以上包含80分及格) 1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pyt ...

  2. python语言的数据类型图解_Python基础——数据类型(图解+实例,非常详细!)

    Python基础--数据类型(图解+实例,非常详细!) Python基础--数据类型(图解+实例,非常详细!) 内容及版权声明:笔记是根据开课吧--Python语法爬虫分析课和自己的理解记录,其中包含 ...

  3. python语言表示语句结构_python基础语言以及if/while语句结构

    接下来学会了变量:用简单的变量来代替复杂的字符串 变量首字母不能是数字或者特殊符号~!@#¥等. 字符集的发展: ASCII 255个1个占1bytes------>1980年GB2312支持7 ...

  4. python语言的优缺点论文_Python语言的优缺点是什么呢?

    Python这门语言的魅力和影响力已经远超Java.C.C++等编程语言前辈,主流的十大编程语言中,Python排名第一.被广大使用者誉为"更美好"编程语言.也常常被昵称为&quo ...

  5. python语言三大基本控制结构_Python基础知识之4——三大控制结构

    原博文 2018-12-02 21:38 − 控制结构就是控制程序执行顺序的结构. Python 有三大控制结构,分别是顺序结构.分支结构(选择结构)以及循环结构.任何一个项目或者算法都可以使用这三种 ...

  6. python语言的变量类型_Python语言变量类型基础学习

    本文主要向大家介绍了Python语言变量类型基础学习,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python基本语法1.定义常量: 之前定义变量没有一起介绍定义常量,是因为P ...

  7. python语言三大基本控制结构_【笔记】《python语言程序设计》——程序的控制结构...

    一.前言 学习就是一个不断的自下而上,自上而下的过程. 前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维. 这是需求驱 ...

  8. python中print的本质_Python基础语法全解

    一.Python简介 1. 了解Python Python是一种解释型(这意味着开发过程中没有了编译这个环节).面向对象(支持面向对象的风格或代码封装在对象的编程技术).动态数据类型的交互式(可在命令 ...

  9. python语言程序的特点_Python语言概述及其运行机制详解

    即日起,我们将打开一个新的编程世界的大门--Python语言.Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新 ...

  10. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

最新文章

  1. 转 mac svn用法
  2. tcpdf html 格式重叠,html - tcpdf(html2pdf)无法正确生成表格边框 - 堆栈内存溢出...
  3. 看漫画学python 豆瓣_漫画,小莉要学Python后端,看大牛是怎么教她的!
  4. VS2010 自定义用户控件未出现在工具箱的解决方案
  5. 关于多人操作数据的处理策略
  6. 录音文件下载_苹果手机录音常见问题解答
  7. JAVA四则运算(读写文件)
  8. 计算机模块word2003和2007,以Word2003的名义熟悉Word2007
  9. Spring cloud开发内存占用过高解决方法
  10. 数据分析------数据处理(2)及 AutoML 学习
  11. 配置IIS5.5/6.0 支持 Silverlight
  12. 市区对应的编码获取入库过程
  13. 树莓派运用阿里云API实现语音识别
  14. EOS REX 安全系列之从源码开始玩转 REX(一)
  15. 51单片机通过DHT11温度传感器读取温度(2)
  16. GA001-181-14
  17. mmap函数和munmap函数
  18. [PMLR 2017] On calibration of modern neural networks
  19. 测试点击屏幕次数的软件_变视读为聆听,解决老同志阅读困难的一款实用的文字转语音软件...
  20. 为永嘉路故店合弛的宣扬口号毛病援用“法租界”做替店址的描述

热门文章

  1. oracle光标位置无效,解决在Form表单中光标移动不了问题
  2. cmd执行sql文件路径 oracle_oracle 基础 执行sql文件
  3. python 散点图 分类_Python | 分类图
  4. scala 字符串函数_Scala中的字符串chomp(或chop)函数
  5. observable_Java Observable setChanged()方法与示例
  6. 操作系统大内核和微内核_操作系统中的内核I / O子系统
  7. Java中那些内存泄漏的场景!
  8. jquery的扩展方法介绍
  9. mysql中int、bigint、smallint 和 tinyint的区别与长度
  10. 如何在CDH5.16.2中部署海豚调度器Apache Dolphin Scheduler 1.2.0