python学习笔记——控制流

目录

1. 控制流****

1.1. if-elif-else语句****

1.2. 循环结构****

1.2.1. for循环****

1.2.2. While循环****

1.2.3. 嵌套循环****

1.2.4. 循环的控制****

1.2.4.1. Break****

1.2.4.2. Continue****

1.2.5. 遍历****

1.2.5.1. dict****

1.2.5.1.1. 遍历key:****

1.2.5.1.2. 遍历values****

1.2.5.1.3. 遍历items****

2. 函数****

2.1. 定义****

2.2. 语法****

2.3. 调用****

2.4. 参数****

2.4.1. 顺序传参 必传****

2.4.2. 关键字参数 - 必传****

2.4.3. 不定长参数 必传****

2.4.3.1.  args***

2.4.3.2.  kwargs**

2.4.3.3.  args,kwargs*

2.4.4. 默认参数****

2.4.5. 拆包****

2.5. return返回值****

2.6. 变量的作用域****

2.6.1. 局部变量****

2.6.2. 全局变量****

2.6.3. Global(了解)****

2.7. 常用函数****

2.7.1. range()****

2.7.3. Zip()****


1. 控制流****

1.1. if-elif-else语句****

用户输入的数据默认都是str类型,跟数值进行比较一定要记得做类型转换

num = int(input('请输入:'))
if num > 0:
print('num > 0')
elif num == 0:
print('num == 0')
else:
print('num < 0')

1.2. 循环结构****

循环的概念:重复做一件事情

可迭代对象:字符串、列表、元组、字典

1.2.1. for循环****

使用场景:明确循环的次数

I:代词:可迭代对象中的元素轮流赋值给i

list_1 = ['a', 'b', 'c', 'd']
for i in list_1:
print(i)abcd

1.2.2. While循环****

使用场景:不明确循环次数

num = 0
while num <= 5:
print('num=', num)
num += 1num= 0num= 1num= 2num= 3num= 4num= 5

1.2.3. 嵌套循环****

循环里面还有循环,第一层循环跑完1次,第二层循环跑n次

for i in range(2):
print('--' * 50)
for k in range(4):
print('第二层循环')第二层循环第二层循环第二层循环第二层循环第二层循环第二层循环第二层循环第二层循环

1.2.4. 循环的控制****

1.2.4.1. Break****

结束整个循环语句

1.2.4.2. Continue****

跳过本次循环,开始下一次循环

1.2.5. 遍历****

1.2.5.1. dict****

使用

dict.keys/values()
1.2.5.1.1. 遍历key:****
dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.keys():
print(i)nameAge
1.2.5.1.2. 遍历values****
dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.values():
print(i)Alison25
1.2.5.1.3. 遍历items****

返回元组,不可修改,安全性更高****

dict_1 = {'name':'Alison','age':'25'}
for i in dict_1.items():
print(i)('name', 'Alison')('age', '25')

2. 函数****

2.1. 定义****

一段可以被另外一段代码执行的程序

2.2. 语法****

def 函数名():函数体--语法return 需要的返回值

2.3. 调用****

函数名()# 定义函数*
def test_function():
print('我是一个测试函数')
# 调用函数*if name == 'main':
test_function()我是一个测试函数

2.4. 参数****

不传会报错

2.4.1. 顺序传参 必传****

def 函数名(参数1,参数2...)函数体函数名(传参1,传参2)def test_function(name, age):
print('我是一个测试函数')*
*if name == 'main':
test_function('Alison', '25')

2.4.2. 关键字参数 - 必传****

def 函数名(参数1,参数2...)函数体函数名(参数1=传参1,参数2=传参2)def test_function(name, age):
print('我是一个测试函数')
if name == 'main':
test_function(name='Alison', age='25')

2.4.3. 不定长参数 必传****

2.4.3.1.  args***

可以传任意多个参数进来

并以tuple接收

def test_function(*args):
print(args)
if name == 'main':
test_function('name','age','test')('name', 'age', 'test')
2.4.3.2.  kwargs**

不确定需要传递多少个参数的时候,使用关键字参数的形式传递

并以dict接收

def test_function(**kwargs):
print(kwargs)
if name == 'main':
test_function(name='Alison', age=25, sex='女'){'name': 'Alison', 'age': 25, 'sex': '女'}
2.4.3.3.  args,kwargs*

位置必须args在前,kwargs在后

分别以tuple、dict接收

def test_function(*args,**kwargs):
print(args)
print(kwargs)
if name == 'main':
test_function(1,2,3,4,5,name='Alison', age=25)(1, 2, 3, 4, 5){'name': 'Alison', 'age': 25}

2.4.4. 默认参数****

函数定义的时候就给一个默认值

如果函数调用的时候传入了参数,就是用传入的参数;反之,则使用默认参数

默认参数可以不传递

def test_function(name='Alison',age=25):
print(name,age)
if name == 'main':
test_function('Taylor')Taylor 25

2.4.5. 拆包****

用于参数传递

1. *

2. **

*argsdef test_function(*args):
print(args)
list = [1,2,3,4]
test_function(*list)(1, 2, 3, 4)**kwargsdef test_function(**kwargs):
print(kwargs)dict = {'key1':'val1','key2':'val2'}
test_function(dict) #相当于('key1'='val1','key2'='val2'){'key1': 'val1', 'key2': 'val2'}

2.5. return返回值****

如果需要返回值,就写return返回内容

反之,就不写,默认返回none

Return是函数执行结束的标识,函数执行遇到return语句,就会结束执行

def test_function(name):
return name
if name == 'main':
result =test_function('张三')
print(result)张三 def test_function():
for i in range(10): #0~9*
***print(i)
if i == 3:
return 0
elif i == 4:
print('test')test_function()0123

2.6. 变量的作用域****

2.6.1. 局部变量****

定义在函数里面,仅限包含的函数可以使用

2.6.2. 全局变量****

定义在函数外面,供全局函数使用

num = '全局变量'
def test_function1():
num = '局部变量'
print(num)
def test_function2():
print(num)test_function1()
test_function2()

局部变量

全局变量

2.6.3. Global(了解)****

(更好用的方法是 类:类属性)

将局部变量设置成全局变量

语法:global 变量名

注意:只能定义,不能直接赋值,否则会报错

def function():
global test_str
test_str = 'test'
print(test_str)def function2():
function() #只有在函数运行起来才会在内存中去创建变量,否则代码没运行,直接调用会出错
print(test_str)function2()testtest

2.7. 常用函数****

2.7.1. range()****

生成一个从0到x的序列对象,左闭右开

参数:[0、4,1]

1. start:默认为0

2. Stop:必传参

3. step:默认为1,同切片

用途:利用下标操作list

list_1 = ['a', 'b', 'c', 'd']
for k in range(len(list_1)):   # k: 下标,通过下标打印*
***print(list_1[k])2.7.2. Isinstance()****
判断一个函数对象是否是一个已知类型,返回布尔值num = 1
res = isinstance(num,int)
print(res)True

2.7.3. Zip()****

Zip(列表1,列表2)****

def test():
list1 = ['name', 'sex', 'age']
list2 = ['Alison', 'F', '25']
key_val = zip(list1, list2)
print(list(key_val))
if name == 'main':
test()[('name', 'Alison'), ('sex', 'F'), ('age', '25')]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/300400.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三分钟带你了解,可重构柔性装配生产线

产品个性化时代&#xff0c;产品小批量、多批次&#xff0c;行业常用高柔性的人-机混合装配线实现跨品类产品装配&#xff0c;但产品的装配质量一致性差、效率低成为行业痛点。富唯智能联合清华大学提出了可重构柔性装配方法和技术&#xff0c;实现跨品类产品的数控自动化装配。…

京东云轻量云主机8核16G配置租用价格1198元1年、4688元三年

京东云轻量云主机8核16G服务器租用优惠价格1198元1年、4688元三年&#xff0c;配置为8C16G-270G SSD系统盘-5M带宽-500G月流量&#xff0c;华北-北京地域。京东云8核16G服务器活动页面 yunfuwuqiba.com/go/jd 活动链接打开如下图&#xff1a; 京东云8核16G服务器优惠价格 京东云…

原型变量、原子操作、原子性、内存序

一、原子变量、原子操作 锁竞争&#xff1a;互斥锁、条件变量、原子变量、信号量、读写锁、自旋锁。在高性能基础组件优化的时候&#xff0c;为了进一步提高并发性能&#xff0c;可以使用原子变量。性能&#xff1a;原子变量 > 自旋锁 > 互斥锁。 操作临界资源的时间较长…

7 个 iMessage 恢复应用程序/软件可轻松恢复文本

由于误操作、iOS 升级中断、越狱失败、设备损坏等原因&#xff0c;您可能会丢失 iPhone/iPad 上的 iMessages。意外删除很大程度上增加了这种可能性。更糟糕的是&#xff0c;这种情况经常发生在 iDevice 缺乏备份的情况下。 &#xff08;iPhone消息消失还占用空间&#xff1f;&…

如何利用HubSpot 出海CRM实现精准海外客户定位与拓展?

在当今全球化的商业环境中&#xff0c;企业寻求海外市场的拓展已成为增长的重要策略。然而&#xff0c;海外市场的复杂性和多样性为企业带来了巨大的挑战。为了有效地定位和拓展海外客户&#xff0c;许多企业选择了HubSpot 出海CRM作为他们的营销和销售管理工具。今天运营坛将带…

Web题记

反序列化补充知识&#xff1a; private变量会被序列化为&#xff1a;\x00类名\x00变量名 protected变量会被序列化为: \x00\*\x00变量名 public变量会被序列化为&#xff1a;变量名web254 这个逻辑不难&#xff0c;自己刚看的时候还奇怪是不是自己哪里想错了&#xff0c;因为…

java云his系统源码 B/S版+saas智慧医院云his系统源码 二甲医院应用多年 运行稳定

java云his系统源码 B/S版saas智慧医院云his系统源码 二甲医院应用多年 运行稳定 医院云HIS系统简介&#xff1a; SaaS模式Java版云HIS系统&#xff0c;在公立二甲医院应用三年&#xff0c;经过多年持续优化和打磨&#xff0c;系统运行稳定、功能齐全&#xff0c;界面布局合理…

mac电脑安装redis教程

1、下载地址 Download | RedisRedisYou can download the last Redis source files here. For additional options, see the Redis downloads section below.Stable (7.2)Redis 7.2 …https://redis.io/download/#redis-downloads 2、安装 2.1 解压下载后的压缩文件 2.2 进入…

【C++】类和对象(中篇)

目录 1、类中的6个默认成员函数 2、构造函数 2.1 概念 2.2 特性 3、析构函数 3.1 概念 3.2 特性 4、拷贝构造函数 4.1 概念 4.2 特征 5、赋值运算符重载 5.1 运算符重载 5.1.1 全局的operator ​编辑 5.1.2 成员函数的operator 5.2 赋值运算符重载 6、创建Date类…

ffmpeg 将多个视频片段合成一个视频

ffmpeg 将多个视频片段合成一个视频 References 网络视频 6 分钟的诅咒。 新建文本文件 filelist.txt filelist.txtfile output_train_video_0.mp4 file output_train_video_1.mp4 file output_train_video_2.mp4 file output_train_video_3.mp4 file output_train_video_4.m…

android 资源文件混淆

AGP7.0以上引用AndResGuard有坑 记录下 在项目的build.gradle中添加如下 buildscript {ext.kotlin_version "1.4.31"repositories {google()jcenter()maven {url "https://s01.oss.sonatype.org/content/repositories/snapshots/"}}dependencies {class…

2023护网行动经验分享(2024护网招人)

今年的护网又开始摇人了&#xff0c;不知道大家有想法没&#xff1f; 去年的护网结束之后&#xff0c;朋友圈感觉是在过年&#xff0c;到处是倒计时和庆祝声。 看得出来防守方们7*24小时的看监控还是比较无奈的。 本次复盘基于我对整个护网行动的观察总结而来&#xff0c;仅…

C语言分支语句

一、什么是语句 C语句可分为以下五类&#xff1a; 表达式语句 函数调用语句 控制语句 复合语句 空语句 本周后面介绍的是控制语句。 控制语句用于控制程序的执行流程&#xff0c;以实现程序的各种结构方式&#xff0c;它们由特定的语句定义符组成&#xff0c;C语 言有…

建筑节能遮阳物件类网站织梦模板 节能建筑类网站源码下载(带手机版数据同步)

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 模板名称&#xff1a;(带手机版数据同步)建筑节能遮阳物件类网站织梦模板 节能建筑类网站源码下载 本套织梦模板采用织梦最新内核开发的模板&#xff0c;这款模板使用范围广&#xf…

RUST Rover 条件编译 异常处理

按官方处理发现异常 会报异常 error: failed to parse manifest at C:\Users\topma\RustroverProjects\untitled2\Cargo.toml 修改模式如下才能正常编译 网上说明 这样处理 https://course.rs/cargo/reference/features/intro.html RUST 圣经里描述 [features] print-a []…

JQuery(二)---【使用JQuery对HTML、CSS进行操作】

零.前言 JQuery(一)---【JQuery简介、安装、初步使用、各种事件】-CSDN博客 一.使用JQuery对HTML操作 1.1获取元素内容、属性 使用JQ可以操作元素的“内容” text()&#xff1a;设置或返回元素的文本内容html()&#xff1a;设置或返回元素的内容(包括HTML标记)val()&#…

Win UI3开发笔记(九)关于图标Win10乱码问题

1、最开始的问题&#xff0c;winui3 gallery软件的左侧全是乱码&#xff0c;使用icon的时候&#xff0c;设置name属性出现的全是乱码&#xff0c;所以开发涉及到这部分使用Text.Glyph属性。 2、后来出现的问题&#xff0c;靠 textbox右键有各种操作&#xff0c;前面的图标乱码…

卷积神经网络-批量归一化

卷积神经网络-批量归一化 批量归一化的原理批量归一化的优点批量归一化的应用批量归一化的实现TensorFlow实现&#xff1a;PyTorch实现&#xff1a; 总结 批量归一化&#xff08;Batch Normalization&#xff0c;简称BN&#xff09;是一种用于提高深度神经网络训练速度和稳定性…

深入浅出 -- 系统架构之分布式系统底层的一致性

在分布式领域里&#xff0c;一致性成为了炙手可热的名词&#xff0c;缓存、数据库、消息中间件、文件系统、业务系统……&#xff0c;各类分布式场景中都有它的身影&#xff0c;因此&#xff0c;想要更好的理解分布式系统&#xff0c;必须要理解“一致性”这个概念。 其实关于…

《QT实用小工具·十二》邮件批量发送工具

1、概述 源码放在文章末尾 该项目实现了邮件的批量发送&#xff0c;如下图所示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef SMTPCLIENT_H #define SMTPCLIENT_H#include <QtGui> #include <QtNetwork> #if (QT_VERSION > QT_VERSION_CHECK(5,0,…