当前位置: 首页 > 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;近年来&…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作&#xff1a; 压缩包下载&#xff1a;http://download.redis.io/releases 1. 上传压缩包&#xff0c;并进入压缩包所在目录&#xff0c;解压到目标…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...