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 += 19.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最基础语法,包含:数据类型、注释、变量、类型转换、命名规范、运算符、字符串拼接、字符串格式化、if条件判断、while循环、for循环、函数、读取文件、写入文件、异常捕获、包导入等。通过讲解语法注意事项实例代码详解࿰…...
ETH RPC搭建
配置选择先是看了aws、谷歌云、阿里云这个配置都要1-2wrmb一个月,太贵了问了很多朋友,打算用hetzner,50欧一个月足以我选的配置:64gb,2tb ssd开好后在邮箱收到信息链接后按以下步骤安装系统:https://0o0.me…...
南京邮电大学数据库第一次课后作业
1.单选题 (5分) (B)是存储在计算机内有结构的数据的集合。 (A)数据库系统 (B)数据库 (C)数据库管理系统 (D)数据结构 2.单选题 (5分) 数据库的特点之一是数据的共享,严格的讲,这里的…...
近期投简历、找日常实习的一些碎碎念(大二---测试岗)
嘿嘿嘿,我又回来了,相信不少兄弟已经发现我似乎已经断更了好久,哈哈,我是尝试去找实习,投简历面试去了。 先说一下背景。 目录 背景 求职进行中 简历 投递和沟通 收获和感受 背景 博主,大二软件工程…...
ThreadLocal的使用
1. ThreadLocal介绍 ThreadLocal顾名思义,就是线程的本地变量,只有当前线程可见,对其他线程来说是封闭且隔离的。每一个线程为自己本身创建ThreadLocal变量,只有当前线程可以访问,其他的线程不可以,从根源…...
Java ~ Reference【总结】
一 概述 简介 在JDK1.2之前,Java中引用的定义是十分传统的:如果引用类型的变量中存储的数值代表的是另一块内存的起始地址,就称这块内存代表着一个引用。在这种定义之下,一个对象只有被引用和没有被引用两种状态。 实际上…...
最快方法求最长上升子序列(LIS)+最长公共子序列(LCS)模板(C/C++)
目录 1 LIS算法(最长上升子序列) 1.1 简介 1.2 代码 1.3 相关解释 2 LCS算法(最长公共子序列) 2.1 简介 2.2 代码(动态规划,时间复杂度O(nlogn)) 2.3 特殊…...
012+limou+C语言深入知识——(4)“结构体”与“枚举体”与“联合体”
一、结构体 1、结构体基础 (1)结构体完全声明 struct tag {member-list; }variable-list;//描述一个人 struct people {char name[10];//人名int age;//年龄int idnumber;//身份证 };(2)结构体不完全声明(匿名结构体…...
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; }初始化画笔…...
详解分库分表设计
详解分库分表设计 背景 在传统的单机数据库架构中,所有数据都存储在同一个数据库中,随着业务规模的不断扩大,数据量和并发量也会越来越大,这会给数据库的性能和可用性带来挑战。此外,当单机数据库的容量达到瓶颈时…...
动态规划-基础(斐波那契数、爬楼梯、使用最小花费爬楼梯、不同路径、不同路径II、整数拆分、不同的二叉搜索树)
动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。动态规划问题,五步走:状态定义&am…...
深入理解WebSocket协议
“ 一直以来对WebSocket仅停留在使用阶段,也没有深入理解其背后的原理。当看到 x x x was not upgraded to websocket,我是彻底蒙了,等我镇定下来,打开百度输入这行报错信息,随即看到的就是大家说的跨域,或…...
Vector的扩容机制
到需要扩容的时候,Vector会根据需要的大小,创建一个新数组,然后把旧数组的元素复制进新数组。 我们可以看到,扩容后,其实是一个新数组,内部元素的地址已经改变了。所以扩容之后,原先的迭代器会…...
22讲MySQL有哪些“饮鸩止渴”提高性能的方法
短连接风暴 是指数据库有很多链接之后只执行了几个语句就断开的客户端,然后我们知道数据库客户端和数据库每次连接不仅需要tcp的三次握手,而且还有mysql的鉴权操作都要占用很多服务器的资源。话虽如此但是如果连接的不多的话其实这点资源无所谓的。 但是…...
10.0自定义SystemUI下拉状态栏和通知栏视图(六)之监听系统通知
1.前言 在进行rom产品定制化开发中,在10.0中针对systemui下拉状态栏和通知栏的定制UI的工作开发中,原生系统的下拉状态栏和通知栏的视图UI在产品开发中会不太满足功能, 所以根据产品需要来自定义SystemUI的下拉状态栏和通知栏功能,首选实现的就是下拉通知栏左滑删除通知的部…...
怎样在外网登录访问CRM管理系统?
一、什么是CRM管理系统? Customer Relationship Management,简称CRM,指客户关系管理,是企业利用信息互联网技术,协调企业、顾客和服务上的交互,提升管理服务。为了企业信息安全以及使用方便,企…...
Activity工作流(三):Service服务
3. Service服务 所有的Service都通过流程引擎获得。 3.1 RepositoryService 仓库服务是存储相关的服务,一般用来部署流程文件,获取流程文件(bpmn和图片),查询流程定义信息等操作,是引擎中的一个重要的服务。…...
算法--最长回文子串--java--python
这个算法题里面总是有 暴力解法 把所有字串都拿出来判断一下 这里有小小的优化: 就是当判断的字串小于等于我们自己求得的最长回文子串的长度,那么我们就不需要在进行对这个的判断这里的begin,还可以用来取得最小回文子串是什么 java // 暴…...
ElasticSearch-第二天
目录 文档批量操作 批量获取文档数据 批量操作文档数据 DSL语言高级查询 DSL概述 无查询条件 叶子条件查询 模糊匹配 match的复杂用法 精确匹配 组合条件查询(多条件查询) 连接查询(多文档合并查询) 查询DSL和过滤DSL 区别 query DSL filter DSL Query方式查…...
【AI大比拼】文心一言 VS ChatGPT-4
摘要:本文将对比分析两款知名的 AI 对话引擎:文心一言和 OpenAI 的 ChatGPT,通过实际案例让大家对这两款对话引擎有更深入的了解,以便大家选择合适的 AI 对话引擎。 亲爱的 CSDN 朋友们,大家好!近年来&…...
iOS内购避坑指南:从沙盒测试到正式上线的完整流程(附常见错误解决方案)
iOS内购全流程实战:从沙盒测试到生产环境的避坑手册 当你第一次集成iOS内购(IAP)时,是否遇到过这些场景?用户付款后商品迟迟未到账、沙盒测试时收据验证总是失败、审核阶段一切正常但上线后出现大量丢单...这些问题往往…...
Android Studio 高版本兼容低版本项目配置
AndroidStudio开发工具高版本兼容低版本项目配置:1、 JDK 配置:gradle.properties 文件中指定jdk 版本:org.gradle.java.homeD\:\\ProgramFiles\\JDK\\jdk-11.0.262 配置Gradle 编译版本:3. 显示所有Gradle task 列表设置完成后&a…...
ESP32-S3 开发实战:从问题排查到功能优化
1. ESP32-S3开发环境搭建与常见问题 刚拿到ESP32-S3开发板时,我最先遇到的就是环境配置问题。这里分享几个新手容易踩的坑:首先是开发工具链的选择,官方推荐使用ESP-IDF或Arduino IDE。我建议初学者先用Arduino IDE上手,因为它的库…...
如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南
如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南 在3D点云分割领域,ScanNetv2数据集已成为评估算法性能的黄金标准。对于想要复现Stratified Transformer或SWIN3D这类前沿论文的研究者来说,数据集的正确配置往往是第一个…...
音频处理避坑指南:二进制编码转换中的常见问题与解决方案
音频处理避坑指南:二进制编码转换中的常见问题与解决方案 音频处理在现代多媒体应用中扮演着重要角色,从语音识别到音乐制作,从流媒体传输到嵌入式设备音频播放,二进制编码转换都是核心技术环节。对于有一定经验的开发者而言&…...
突破网盘限制的高效工具:解锁全速下载与无缝分享的实战指南
突破网盘限制的高效工具:解锁全速下载与无缝分享的实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
ComfyUI翻译节点终极指南:如何选择最适合你的AI创作翻译工具
ComfyUI翻译节点终极指南:如何选择最适合你的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时间类型转换实战:从踩坑到优雅解决 最近在升级技术栈到SpringBoot3.3.1时,发现与Elasticsearch8.13.4的集成出现了一个棘手的问题:LocalDateTime类型在保存和查询时表现异常。这让我花了整整两天时间排…...
Cosmos-Reason1-7B部署教程:Docker镜像免配置+7860端口快速启用
Cosmos-Reason1-7B部署教程:Docker镜像免配置7860端口快速启用 1. 项目概述 Cosmos-Reason1-7B是NVIDIA推出的7B参数多模态视觉语言模型(VLM),专注于物理理解和思维链推理能力。作为Cosmos世界基础模型平台的核心组件,它能够处理图像和视频…...
3个步骤掌握Markmap:将Markdown转换为交互式思维导图完全指南
3个步骤掌握Markmap:将Markdown转换为交互式思维导图完全指南 【免费下载链接】markmap Build mindmaps with plain text 项目地址: https://gitcode.com/gh_mirrors/ma/markmap Markmap作为一款强大的开源工具,能够将普通的Markdown文本转换为直…...
