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最基础语法,包含:数据类型、注释、变量、类型转换、命名规范、运算符、字符串拼接、字符串格式化、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 朋友们,大家好!近年来&…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...