当前位置: 首页 > news >正文

Python基础语法、注意点加实例全解

本篇文章我们讲解Python最基础语法,包含:数据类型、注释、变量、类型转换、命名规范、运算符、字符串拼接、字符串格式化、if条件判断、while循环、for循环、函数、读取文件、写入文件、异常捕获、包导入等。通过讲解语法+注意事项+实例代码详解,希望能帮到大家。

1、Python中6种常用的数据类型

实例代码:

# 整数
num1 = 10
num2: int = 20
print(num1)
print(num2)# float
float1 = 10.0
float2: float = 11.0
print(float1)
print(float2)# boolean
bo1 = True
bo2: bool = False
print(bo1)
print(bo2)# 字符串
str1 = "字符串"
str2 = '字符串2'
str3: str = '字符串3'
print(str1)
print(str2)
print(str3)# List
list_1 = [1, 2, 3, 4, 5]
print(type(list_1))
list_2: list = [1, 2, 3, 4]
print(list_1)
print(list_2)# tuple
t_1 = (1, 2, 3, 4, 5)
print(type(t_1))
t_2: tuple = (1, 2, 3, 4)
print(t_1)
print(t_2)# set
s_1 = {1, 2, 3, 4}
print(type(s_1))
s_2: set = {1, 2, 34}
print(s_1)
print(s_2)# dict
d_1 = {"key": 1, "name": "张三"}
print(type(d_1))
d_2: dict = {"key": 2, "name": "李四"}

2、Python中的注释使用

代码实例:

# 单行注释
"""
多行注释
多行注释
"""

3、Python中查看变量类型

python中使用type()查询变量类型

实例:

# dict
d_1 = {"key": 1, "name": "张三"}
print(type(d_1))
d_2: dict = {"key": 2, "name": "李四"}

效果

4、Python中常用类型转换

实例:

str: str = "1"
print(type(str))
# 将字符串str转换为int类型
num: int = int(str)
print(type(num))

5、Python中命名规范

6、Python中的运算符

7、Python中字符串拼接、格式化

注意:Python非字符串类型不能和字符串一起拼接

name = "张三"
age = 23
print("这个人名字叫:" + name + ",年龄是:" + age)

报错:

7.1、字符串格式化的两种方式

name = "张三"
age = 23
# print("这个人名字叫:" + name + ",年龄是:" + age)"""方式一
"""# 单条变量
print("这个人的名字叫:%s" % name)# 多条变量
print("这个人的名字叫:%s,年龄是:%s" % (name, age))"""方式二 格式: f"xxx{变量},xxx{变量2},xxx{变量3}"
"""
print(f"这个人的名字叫:{name},年龄是:{age}")

执行效果

8、Python中的if语句

格式:

实例代码:

age = 20# if
if age > 20:print("你已经成年了")# if else
if age > 20:print("成年了烦恼多")
else:print("儿童的时光让人怀念")# if elif else
if age > 20:print("成年了烦恼多")
elif age == 5:print("马上要上幼儿园了")
else:print("不知道怎么说了")

9、Python中的循环

9.1、While

实例:


i = 10
while i > 1:i -= 1print(f"当前I值是:{i}")# 九九乘法表y = 1
while y <= 9:x = 1while x <= y:print(f"{x}*{y}={x * y}", end=' ')x += 1print("")y += 1

9.2、For

实例:


name = "abcdef"
for c in name:print(c)# range(num) 获取一个从0开始,到num结束的数字序列(不含num本身)
# 例如 range(5)取得的数据是:[0, 1, 2, 3, 4]
for i in range(5):print(i)# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]
for i in range(5, 10):print(i)# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 数字之间的步长,以step为准(step默认为1)
# 如,range(5, 10, 2)取得的数据是:[5, 7, 9]
for i in range(5, 10, 2):print(i)# for 打印九九乘法表
for y in range(1, 9):for x in range(1, y):print(f"{x}*{y}={x * y}", end=' ')print('')

9.3、break、continue


# breaky = 1
while True:if y > 10:breakprint(f"当前Y值:{y}")y += 1# continuefor c in ["a", "b", "c", "d"]:if c == 'c':print("不打印c")continueprint(c)# 综合练习money = 10000
for num in range(1, 20):tempNum = random.randint(1, 10)if tempNum < 5:print(f"员工:{num},绩效分:{tempNum},低于5,不发工资")continueif money <= 0:print(f"账户没钱了,下次再发")breakmoney -= 1000print(f"向员工:{num},发工资:{1000},账户余额:{money}")

10、函数

"""无参 无返回值数函数
"""def no_arg_fun():print("我是无参数函数")no_arg_fun()"""有参 无返回值数函数
"""def had_arg_fun(msg):print(f"hello:{msg}")had_arg_fun("world")"""有参数有返回值 函数
"""def had_arg_and_return_fun(msg):return f"hello:{msg}"print(had_arg_and_return_fun("有参有返回值"))"""多参数
"""def mul_arg_fun(num1: int, num2: int) -> int:return num1 + num2# 传参数方式1,多参数必须按顺序传入
print(mul_arg_fun(1, 2))
# 传参数方式2 ,多参数之间不需要舒心
print(mul_arg_fun(num2=4, num1=3))"""不定长参数 不定长参数一定是最后一个参数nums 被作为一个元组(tuple)传入
"""def mul_arg_fun_3(num1: int, *nums: int) -> int:print(type(nums))for i in nums:num1 = num1 + ireturn num1print(mul_arg_fun_3(2, 3, 4, 5, 6, 7))"""不定长参数2 不定长参数一定是最后一个参数keyMaps 被作为一个字典
"""def mul_arg_fun_4(**key_maps) -> int:print(type(key_maps))print(key_maps)print(mul_arg_fun_4(age=4, name='张三'))"""函数嵌套使用
"""def fun_a():print("函数A")def fun_b():print("调用函数A之前")fun_a()print("调用函数A之后")fun_b()"""函数作为参数传递
"""def test_fun(compute):result = compute(1, 2)print(result)def compute(x, y):return x + y# 正常函数传入
test_fun(compute)
# 匿名函数传入
test_fun(lambda x, y: x + y)

11、Phton中文件操作

11.1、读取文件

实例:

"""读文件
"""f = open("1.txt", "r", encoding="UTF-8")
print(f.readlines())
f.close()print("===========我是分隔符1================")f = open("1.txt", "r", encoding="UTF-8")
print(f.read())
f.close()print("===========我是分隔符2================")f = open("1.txt", "r", encoding="UTF-8")
print(f.readline())
f.close()print("===========我是分隔符3================")
# 此操作未关闭文件对象
for line in open("1.txt", "r", encoding="UTF-8"):print(line, end="")print("")
print("===========我是分隔符 没打印================")
with open("1.txt", "r", encoding="UTF-8") as f:f.readlines()
print("===========结束================")

效果

11.2、写入文件

写入实例:文件内容被替换

"""写入操作
"""# 写入之前看看文件内容
f = open("1.txt", "r", encoding="UTF-8")
print(f.readlines())
f.close()print("=========我是分隔符1=========")f = open("1.txt", "w", encoding="UTF-8")
f.write("新写入一行")
f.flush()# 写入之后看看文件内容
f = open("1.txt", "r", encoding="UTF-8")
print(f.readlines())
f.close()print("=========我是分隔符1=========")

追加实例

"""写入操作
"""# 写入之前看看文件内容
f = open("1.txt", "r", encoding="UTF-8")
print(f.readlines())
f.close()print("=========我是分隔符1=========")f = open("1.txt", "a", encoding="UTF-8")
f.write("新写入二行")
f.flush()# 写入之后看看文件内容
f = open("1.txt", "r", encoding="UTF-8")
print(f.readlines())
f.close()print("=========我是分隔符1=========")

12、Python中异常捕获

13、Python中包模块导入

这篇文章如果是有过Java或者其他开发语言基础的朋友很快就能掌握,无非就是语法不一致,可以将此篇文章作为日记,后续忘记了翻下即可,好了,下篇文章我们实例讲解pyecharts生成可视化图形。

相关文章:

Python基础语法、注意点加实例全解

本篇文章我们讲解Python最基础语法&#xff0c;包含&#xff1a;数据类型、注释、变量、类型转换、命名规范、运算符、字符串拼接、字符串格式化、if条件判断、while循环、for循环、函数、读取文件、写入文件、异常捕获、包导入等。通过讲解语法注意事项实例代码详解&#xff0…...

ETH RPC搭建

配置选择先是看了aws、谷歌云、阿里云这个配置都要1-2wrmb一个月&#xff0c;太贵了问了很多朋友&#xff0c;打算用hetzner&#xff0c;50欧一个月足以我选的配置&#xff1a;64gb&#xff0c;2tb ssd开好后在邮箱收到信息链接后按以下步骤安装系统&#xff1a;https://0o0.me…...

南京邮电大学数据库第一次课后作业

1.单选题 (5分) (B)是存储在计算机内有结构的数据的集合。 &#xff08;A&#xff09;数据库系统 &#xff08;B&#xff09;数据库 &#xff08;C&#xff09;数据库管理系统 &#xff08;D&#xff09;数据结构 2.单选题 (5分) 数据库的特点之一是数据的共享,严格的讲,这里的…...

近期投简历、找日常实习的一些碎碎念(大二---测试岗)

嘿嘿嘿&#xff0c;我又回来了&#xff0c;相信不少兄弟已经发现我似乎已经断更了好久&#xff0c;哈哈&#xff0c;我是尝试去找实习&#xff0c;投简历面试去了。 先说一下背景。 目录 背景 求职进行中 简历 投递和沟通 收获和感受 背景 博主&#xff0c;大二软件工程…...

ThreadLocal的使用

1. ThreadLocal介绍 ThreadLocal顾名思义&#xff0c;就是线程的本地变量&#xff0c;只有当前线程可见&#xff0c;对其他线程来说是封闭且隔离的。每一个线程为自己本身创建ThreadLocal变量&#xff0c;只有当前线程可以访问&#xff0c;其他的线程不可以&#xff0c;从根源…...

Java ~ Reference【总结】

一 概述 简介 在JDK1.2之前&#xff0c;Java中引用的定义是十分传统的&#xff1a;如果引用类型的变量中存储的数值代表的是另一块内存的起始地址&#xff0c;就称这块内存代表着一个引用。在这种定义之下&#xff0c;一个对象只有被引用和没有被引用两种状态。 实际上&#xf…...

最快方法求最长上升子序列(LIS)+最长公共子序列(LCS)模板(C/C++)

目录 1 LIS算法&#xff08;最长上升子序列&#xff09; 1.1 简介 1.2 代码 1.3 相关解释 2 LCS算法&#xff08;最长公共子序列&#xff09; 2.1 简介 2.2 代码&#xff08;动态规划&#xff0c;时间复杂度O&#xff08;nlogn&#xff09;&#xff09; 2.3 特殊…...

012+limou+C语言深入知识——(4)“结构体”与“枚举体”与“联合体”

一、结构体 1、结构体基础 &#xff08;1&#xff09;结构体完全声明 struct tag {member-list; }variable-list;//描述一个人 struct people {char name[10];//人名int age;//年龄int idnumber;//身份证 };&#xff08;2&#xff09;结构体不完全声明&#xff08;匿名结构体…...

Canvas百战成神-圆(1)

Canvas百战成神-圆 初始化容器 <canvas id"canvas"></canvas>canvas{border: 1px solid black; }让页面占满屏幕 *{margin: 0;padding: 0; } html,body{width: 100%;height: 100%;overflow: hidden; } ::-webkit-scrollbar{display: none; }初始化画笔…...

详解分库分表设计

详解分库分表设计 背景 ​ 在传统的单机数据库架构中&#xff0c;所有数据都存储在同一个数据库中&#xff0c;随着业务规模的不断扩大&#xff0c;数据量和并发量也会越来越大&#xff0c;这会给数据库的性能和可用性带来挑战。此外&#xff0c;当单机数据库的容量达到瓶颈时…...

动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)

动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。动态规划问题&#xff0c;五步走&#xff1a;状态定义&am…...

深入理解WebSocket协议

“ 一直以来对WebSocket仅停留在使用阶段&#xff0c;也没有深入理解其背后的原理。当看到 x x x was not upgraded to websocket&#xff0c;我是彻底蒙了&#xff0c;等我镇定下来&#xff0c;打开百度输入这行报错信息&#xff0c;随即看到的就是大家说的跨域&#xff0c;或…...

Vector的扩容机制

到需要扩容的时候&#xff0c;Vector会根据需要的大小&#xff0c;创建一个新数组&#xff0c;然后把旧数组的元素复制进新数组。 我们可以看到&#xff0c;扩容后&#xff0c;其实是一个新数组&#xff0c;内部元素的地址已经改变了。所以扩容之后&#xff0c;原先的迭代器会…...

22讲MySQL有哪些“饮鸩止渴”提高性能的方法

短连接风暴 是指数据库有很多链接之后只执行了几个语句就断开的客户端&#xff0c;然后我们知道数据库客户端和数据库每次连接不仅需要tcp的三次握手&#xff0c;而且还有mysql的鉴权操作都要占用很多服务器的资源。话虽如此但是如果连接的不多的话其实这点资源无所谓的。 但是…...

10.0自定义SystemUI下拉状态栏和通知栏视图(六)之监听系统通知

1.前言 在进行rom产品定制化开发中,在10.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中,原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能, 所以根据产品需要来自定义SystemUI的下拉状态栏和通知栏功能,首选实现的就是下拉通知栏左滑删除通知的部…...

怎样在外网登录访问CRM管理系统?

一、什么是CRM管理系统&#xff1f; Customer Relationship Management&#xff0c;简称CRM&#xff0c;指客户关系管理&#xff0c;是企业利用信息互联网技术&#xff0c;协调企业、顾客和服务上的交互&#xff0c;提升管理服务。为了企业信息安全以及使用方便&#xff0c;企…...

Activity工作流(三):Service服务

3. Service服务 所有的Service都通过流程引擎获得。 3.1 RepositoryService 仓库服务是存储相关的服务&#xff0c;一般用来部署流程文件&#xff0c;获取流程文件&#xff08;bpmn和图片&#xff09;&#xff0c;查询流程定义信息等操作&#xff0c;是引擎中的一个重要的服务。…...

算法--最长回文子串--java--python

这个算法题里面总是有 暴力解法 把所有字串都拿出来判断一下 这里有小小的优化&#xff1a; 就是当判断的字串小于等于我们自己求得的最长回文子串的长度&#xff0c;那么我们就不需要在进行对这个的判断这里的begin&#xff0c;还可以用来取得最小回文子串是什么 java // 暴…...

ElasticSearch-第二天

目录 文档批量操作 批量获取文档数据 批量操作文档数据 DSL语言高级查询 DSL概述 无查询条件 叶子条件查询 模糊匹配 match的复杂用法 精确匹配 组合条件查询(多条件查询) 连接查询(多文档合并查询) 查询DSL和过滤DSL 区别 query DSL filter DSL Query方式查…...

【AI大比拼】文心一言 VS ChatGPT-4

摘要&#xff1a;本文将对比分析两款知名的 AI 对话引擎&#xff1a;文心一言和 OpenAI 的 ChatGPT&#xff0c;通过实际案例让大家对这两款对话引擎有更深入的了解&#xff0c;以便大家选择合适的 AI 对话引擎。 亲爱的 CSDN 朋友们&#xff0c;大家好&#xff01;近年来&…...

iOS内购避坑指南:从沙盒测试到正式上线的完整流程(附常见错误解决方案)

iOS内购全流程实战&#xff1a;从沙盒测试到生产环境的避坑手册 当你第一次集成iOS内购&#xff08;IAP&#xff09;时&#xff0c;是否遇到过这些场景&#xff1f;用户付款后商品迟迟未到账、沙盒测试时收据验证总是失败、审核阶段一切正常但上线后出现大量丢单...这些问题往往…...

Android Studio 高版本兼容低版本项目配置

AndroidStudio开发工具高版本兼容低版本项目配置&#xff1a;1、 JDK 配置&#xff1a;gradle.properties 文件中指定jdk 版本&#xff1a;org.gradle.java.homeD\:\\ProgramFiles\\JDK\\jdk-11.0.262 配置Gradle 编译版本&#xff1a;3. 显示所有Gradle task 列表设置完成后&a…...

ESP32-S3 开发实战:从问题排查到功能优化

1. ESP32-S3开发环境搭建与常见问题 刚拿到ESP32-S3开发板时&#xff0c;我最先遇到的就是环境配置问题。这里分享几个新手容易踩的坑&#xff1a;首先是开发工具链的选择&#xff0c;官方推荐使用ESP-IDF或Arduino IDE。我建议初学者先用Arduino IDE上手&#xff0c;因为它的库…...

如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南

如何用ScanNetv2复现Stratified和SWIN3D论文实验&#xff1f;完整数据集配置指南 在3D点云分割领域&#xff0c;ScanNetv2数据集已成为评估算法性能的黄金标准。对于想要复现Stratified Transformer或SWIN3D这类前沿论文的研究者来说&#xff0c;数据集的正确配置往往是第一个…...

音频处理避坑指南:二进制编码转换中的常见问题与解决方案

音频处理避坑指南&#xff1a;二进制编码转换中的常见问题与解决方案 音频处理在现代多媒体应用中扮演着重要角色&#xff0c;从语音识别到音乐制作&#xff0c;从流媒体传输到嵌入式设备音频播放&#xff0c;二进制编码转换都是核心技术环节。对于有一定经验的开发者而言&…...

突破网盘限制的高效工具:解锁全速下载与无缝分享的实战指南

突破网盘限制的高效工具&#xff1a;解锁全速下载与无缝分享的实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

ComfyUI翻译节点终极指南:如何选择最适合你的AI创作翻译工具

ComfyUI翻译节点终极指南&#xff1a;如何选择最适合你的AI创作翻译工具 【免费下载链接】ComfyUI_Custom_Nodes_AlekPet Custom nodes that extend the capabilities of Comfyui 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI_Custom_Nodes_AlekPet 在AI图像生…...

SpringBoot3.3.1+Elasticsearch8.13.4日期转换踩坑实录:LocalDateTime保存为时间戳的完整方案

SpringBoot3.3.1与Elasticsearch8.13.4时间类型转换实战&#xff1a;从踩坑到优雅解决 最近在升级技术栈到SpringBoot3.3.1时&#xff0c;发现与Elasticsearch8.13.4的集成出现了一个棘手的问题&#xff1a;LocalDateTime类型在保存和查询时表现异常。这让我花了整整两天时间排…...

Cosmos-Reason1-7B部署教程:Docker镜像免配置+7860端口快速启用

Cosmos-Reason1-7B部署教程&#xff1a;Docker镜像免配置7860端口快速启用 1. 项目概述 Cosmos-Reason1-7B是NVIDIA推出的7B参数多模态视觉语言模型(VLM)&#xff0c;专注于物理理解和思维链推理能力。作为Cosmos世界基础模型平台的核心组件&#xff0c;它能够处理图像和视频…...

3个步骤掌握Markmap:将Markdown转换为交互式思维导图完全指南

3个步骤掌握Markmap&#xff1a;将Markdown转换为交互式思维导图完全指南 【免费下载链接】markmap Build mindmaps with plain text 项目地址: https://gitcode.com/gh_mirrors/ma/markmap Markmap作为一款强大的开源工具&#xff0c;能够将普通的Markdown文本转换为直…...