python基础语法2

python基础语法2

了解整体内容可以从基础语法1开始,第2天了,开始上代码片段。
本篇主要内容:控制流语句if、for、match等。


  1. 打印及main方法
# 注释使用#号
#打印hello
def print_hello(name):#这里加上f是打印变量内容,不加f打印的是{name}print(f'hello, {name}')# 启动方法,要写到函数方法的下面
if __name__ == '__main__':print_hello('PyCharm')打印效果:hello, PyCharm
  1. if语句
def if_statement():x=1if x<1:print('x<1')elif x==1:print('x==1')else:print('x>1')打印效果:x==1
  1. for循环
def for_statement():#列表循环输出fruits=["apple","banana",'watermelon']for item in fruits:print(item,len(item),'水果')#集合循环控制fruitsKeyValue = {"apple":"red", "banana":'yellow', 'watermelon':'green'}#尝试修改fruits里的内容,可以copy副本for fruit, status in fruitsKeyValue.copy().items():if status == 'green':#删除西瓜del fruitsKeyValue[fruit]print(fruitsKeyValue)#再加回西瓜fruitsKeyValue.update({'watermelon':'green'})print(fruitsKeyValue)#尝试修改fruits里的内容,创新的集合active_fruits = {}for fruit, status in fruitsKeyValue.items():if status == 'yellow':active_fruits[fruit] = statusprint(active_fruits)打印效果:
apple 5 水果
banana 6 水果
watermelon 10 水果
{'apple': 'red', 'banana': 'yellow'}
{'apple': 'red', 'banana': 'yellow', 'watermelon': 'green'}
{'banana': 'yellow'}
  1. range函数,range迭代效果类似list,实际存储并不是列表,所以节省空间。
def range_function():#从0--5for i in range(5):print(i)#5--10,步长1print(list(range(5, 10)))#0--10,步长3print(list(range(0, 10, 3)))打印效果:
0
1
2
3
4
[5, 6, 7, 8, 9]
[0, 3, 6, 9]
  1. break、continue、else子句
    break 语句将跳出最近的一层 for 或 while 循环;
    continue 语句,跳出本次循环,进入下一循环;
    在 for 循环中,else 子句会在循环成功结束最后一次迭代之后执行;
    在 while 循环中,else 子句会在循环条件变为假值后执行;
    无论哪种循环,如果因为 break 而结束,那么 else 子句就不会执行。
def loop_function():for n in range(2, 10):for x in range(2, n):if n % x == 0:print(n, 'equals', x, '*', n // x)breakelse:print(n, '是质数')for num in range(2, 10):if num % 2 == 0:print("偶数", num)continueprint("奇数", num)打印效果:
2 是质数
3 是质数
4 equals 2 * 2
5 是质数
6 equals 2 * 3
7 是质数
8 equals 2 * 4
9 equals 3 * 3
偶数 2
奇数 3
偶数 4
奇数 5
偶数 6
奇数 7
偶数 8
奇数 9
  1. pass语句
    pass 语句不执行任何动作,可占位。
while True:pass
def initlog():pass
  1. match语句
    一个主语值与多个字面比较的例子:
def http_error(status):match status:case 400:return "Bad request"case 404:return "Not found"case 418:return "I'm a teapot"#组合型,|和or都可以case 401 | 403 | 404:return "Not allowed"#_是通配符,必定会匹配成功case _:return "Something's wrong with the internet"打印效果:Something's wrong with the internet

也可以类似于解包赋值的方式:

def match_point():point=(5,5)match point:case (0, 0):print("Origin")case (0, y):print(f"Y={y}")case (x, 0):print(f"X={x}")case (x, y):print(f"X={x}, Y={y}")case _:raise ValueError("Not a point")打印效果:X=5, Y=5

类组织数据的方式:

class Point:def __init__(self, x, y):self.x = xself.y = ydef where_is():point = Point(x=0, y=0)match point:case Point(x=0, y=0):print("Origin")case Point(x=0, y=y):print(f"Y={y}")case Point(x=x, y=0):print(f"X={x}")case Point():print("Somewhere else")case _:print("Not a point")打印效果:Origin

points列表的匹配:

def match_points():points = [Point(0,5),Point(0,7)]match points:case []:print("No points")case [Point(0, 0)]:print("The origin")case [Point(x, y)]:print(f"Single point {x}, {y}")case [Point(0, y1), Point(0, y2)]:print(f"Two on the Y axis at {y1}, {y2}")case _:print("Something else")打印效果:Two on the Y axis at 5, 7

带条件的match:

def match_if():point = Point(x=5, y=5)match point:case Point(x, y) if x == y:print(f"Y=X at {x}")case Point(x, y):print(f"Not on the diagonal")
打印效果:Y=X at 5

枚举match:

from enum import Enum
class Color(Enum):RED = 'red'GREEN = 'green'BLUE = 'blue'def match_enum():color = Color('green')match color:case Color.RED:print("I see red!")case Color.GREEN:print("Grass is green")case Color.BLUE:print("I'm feeling the blues :(")
打印效果:Grass is green

虽然一枚小小码农,不过也在向阳努力着,本人在同步做读书故事的公众号,欢迎大家关注【彩辰故事】,谢谢支持!~

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

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

相关文章

树数据结构(Tree Data Structures)的全面指南:深度解析、算法实战与应用案例

树数据结构&#xff08;Tree Data Structures&#xff09;的全面指南&#xff1a;深度解析、算法实战与应用案例 引言 树数据结构&#xff08;Tree Data Structures&#xff09;作为计算机科学中的基石之一&#xff0c;以其独特的层次结构和分支特性&#xff0c;在众多领域发…

2012-2022年各省新质生产力匹配数字经济数据

2012-2022年各省新质生产力匹配数字经济数据 1、时间&#xff1a;2012-2022年 2、来源&#xff1a;各省年鉴、能源年鉴、工业年鉴、统计年鉴 3、指标&#xff1a;prov、year、gdp亿元、在岗职工工资元、第三产业就业比重、人均受教育平均年限、教育经费强度、在校学生结构、…

【STM32】IWDG独立看门狗与WWDG窗口看门狗

本篇博客重点在于标准库函数的理解与使用&#xff0c;搭建一个框架便于快速开发 目录 WDG简介 IWDG IWDG特性 独立看门狗时钟 键寄存器 超时时间 IWDG代码 WWDG WWDG特性 窗口看门狗时钟 超时时间 WWDG时序 WWDG代码 IWDG和WWDG对比 WDG简介 WDG&#xff08;…

面经:什么是Transformer位置编码?

过去的几年里&#xff0c;Transformer大放异彩&#xff0c;在各个领域疯狂上分。它究竟是做什么&#xff0c;面试常考的Transformer位置编码暗藏什么玄机&#xff1f;本文一次性讲解清楚。 Transformer的结构如下&#xff1a; 可能是NLP界出镜率最高的图 Transformer结构中&a…

最大公约数(欧几里得算法)

欧几里得算法 只需要记住一个公式&#xff08;不需要推导&#xff0c;这就是数论的基础知识&#xff09;&#xff1a; step1&#xff1a; 判断小括号内右边的数字 b 是否为0&#xff0c;如果为0&#xff0c;输出小括号左边的数字 a &#xff0c;就是一开始要求的两个数的最大…

深度学习入门笔记

深度学习入门笔记 感知机逻辑与门与非门或门多层感知机异或门 神经网络激活函数输出层设计损失函数均方误差 MSE交叉熵误差 反向传播算法计算图局部计算计算图反向传播反向传播 参数更新训练过程总结 该篇文章为本人学习笔记的一部分。笔记基于《深度学习入门 基于python理论实…

49-结构化程序设计方法的理解

‌结构化程序设计方法‌是一种以提高程序可读性、易维护性、可调性和可扩充性为目标的程序设计方法。它基于模块化设计原则&#xff0c;将程序划分为多个功能模块&#xff0c;每个模块负责实现特定的功能。这种方法强调使用三种基本控制结构&#xff1a;顺序、选择和循环&#…

在Linux下搭建go环境

下载go go官网&#xff1a;All releases - The Go Programming Language 我们可以吧压缩包下载到Windows上再传到Linux上&#xff0c;也可以直接web下载&#xff1a; wget https://golang.google.cn/dl/go1.23.0.linux-amd64.tar.gz 解压 使用命令解压&#xff1a; tar -x…

关于前端布局的基础知识

float 横向布局 float 实现横向布局&#xff0c;需要向横着布局的元素添加float 其值left right 存在问题 如果使用float 所在父级五高度&#xff0c;会导致下方的元素上移 top的高度被吞了 解决方法&#xff1a; 给父级元素设置高度&#xff1a;不推荐&#xff0c;需要给父级…

专题◉万字长文!盘点过去一年最出圈的Prompt项目教程,有3份在悄悄更新

1. OpenAI 官方出品 | 提示工程最权威的教程 (最新版) 2023年6月&#xff0c;OpenAI 发布了一篇〖*GPT Best Practice (GPT 最佳实践)* 〗教程&#xff0c;详细介绍 ChatGPT Prompt 交互策略&技巧&#xff0c;并且给出了示例说明。 一年时间过去了&#xff0c;OpenAI 不…

Axure RP实战:打造高效文字点选验证码

Axure RP实战&#xff1a;打造高效文字点选验证码 前言 在数字时代&#xff0c;网络安全和用户体验是设计在线表单时的两大关键考量。 验证码作为一种验证用户身份的技术&#xff0c;已经从简单的数字和字母组合&#xff0c;发展到了更为复杂和用户友好的形式。 今天&#…

数量关系:成本售价利润问题

问&#xff1a;某品牌服装&#xff0c;甲店进货价比乙店便宜10%&#xff0c;两店同时按20%的利润定价&#xff0c;这样1件商品乙店比甲店多赚4元&#xff0c;乙店的定价是多少元?() A 200 B 216 C 240【正确答案】 D 300标准答案&#xff1a;设乙店的进货价为x,则甲店的为0.9x…

灵办AI:解锁办公新境界,让工作更智能、更高效!

在这个信息爆炸的时代&#xff0c;我们每个人都在寻找能够提升效率、简化工作流程的工具。如果您正在寻找一个能够全方位提升工作效率的AI助手&#xff0c;那么灵办AI绝对值得您的关注。 为什么选择灵办AI&#xff1f; 在众多AI工具中&#xff0c;灵办AI凭借其卓越的性能和独…

Python数据采集与网络爬虫技术实训室解决方案

在大数据与人工智能时代&#xff0c;数据采集与分析已成为企业决策、市场洞察、产品创新等领域不可或缺的一环。而Python&#xff0c;作为一门高效、易学的编程语言&#xff0c;凭借其强大的库支持和广泛的应用场景&#xff0c;在数据采集与网络爬虫领域展现出了非凡的潜力。唯…

【微信小程序】导入项目

1.在微信开发工具中&#xff0c;点击【导入项目】 2.在打开的界面中执行2个步骤 1.找到要导入项目的路径2.AppID要改成自己的AppID 3.package.json包初始化【装包之前要确保有package.json文件】 1.在【资源管理器】空白处&#xff0c;点击鼠标右键&#xff0c;选择【】&am…

RabbitMQ 是什么?应用场景有哪些?

RabbitMQ 是一个实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件。 一、RabbitMQ 的特点 它具有以下主要特点&#xff1a; 1. 可靠性高&#xff1a;确保消息能够可靠地传输&#xff0c;即使在网络故障或服务器故障的情况下也能保证消息不丢失。 2. …

显示中文字体问题解决:ImportError: The _imagingft C module is not installed

使用opencv写入中文时&#xff0c;用以下代码会导致乱码&#xff1a; cv2.putText(im0, f"{label}:{score}", (xmin, ymin), cv2.FONT_HERSHEY_SIMPLEX, 2, (0,255,0), 3)因此需要借助PIL库写入中文字符&#xff0c;用法如下&#xff1a; import cv2 from PIL impo…

一个简单的springboot项目(有源码)

开发一个springboot项目 代码迭代整合工具 gitee建模意义程序处理方式开发功能的步骤web服务网络状态码 web应用的开发分层springboot的作用 springboot框架搭建框架中各组件作用框架的演变如何提取hive中的表结构创建springboot 工程的引导模版 要选择aliyun &#xff0c;否则…

chrome cookie编辑

Cookie是一种在Web浏览器中存储数据的小型文本文件。它通常用于以下应用场景&#xff1a; 用户身份认证&#xff1a;当用户登录网站时&#xff0c;网站可以在用户浏览器中设置一个cookie来标识用户&#xff0c;并在用户访问其他页面时用来验证用户身份。 个性化设置&#xff1…

回顾MVC

Tomcat是servlet的容器,想用HttpServlet需要导入tomcat jar包 下图是没用springmvc时的场景&#xff0c;首先在web.xml里面配置访问路径为/Hello然后 通过get请求去调用login方法最后重定向到index.jsp中 index.jsp里面的内容 重定向到index.jsp中 在控制台获取到username里面的…