Python学习篇:Python基础知识(三)
目录
1 Python保留字
2 注释
3 行与缩进
编辑4 多行语句
5 输入和输出
6 变量
7 数据类型
8 类型转换
9 表达式
10 运算符
1 Python保留字
Python保留字(也称为关键字)是Python编程语言中预定义的、具有特殊含义的标识符。这些保留字不能用作变量名、函数名或其他标识符的名称。以下是Python 3中的保留字列表:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
请注意,保留字列表可能会随着Python版本的更新而发生变化,因此Python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字,运行下列代码即可。
# 导入Python的keyword模块
import keyword # keyword.kwlist是一个列表,包含了所有的Python保留字,print函数会输出这个列表的内容到控制台
print(keyword.kwlist)

2 注释
单行注释以 # 开头,示例如下:
# 第一个注释
print("Hello Word!!!") # 第二个注释
多行注释可以用多个 # 号,一行一行进行注释,也可以用 ''' 和 """,示例如下:
ps:注释用到''' 和 """是英文字符!!!
# 第一个注释
# 第二个注释'''
第三个注释
第四个注释
'''"""
第五个注释
第六个注释
"""
print("Hello Word!!!")
执行以上代码,输出结果均为:Hello Word!!!(注释不影响)
ps:注释对代码执行没有任何直接影响。注释是代码中的解释性文本,用于为代码提供额外的信息,帮助开发者和其他读者理解代码的功能、逻辑和目的。注释不会被Python解释器或编译器执行,它们仅作为代码的一部分存在,用于提高代码的可读性和可维护性!!!
3 行与缩进
在Python中,缩进是非常重要的,因为它用于定义代码块的结构。Python没有像其他语言(如C、Java等)中的大括号 { } 来明确标记代码块的开始和结束,而是依赖于缩进来表示代码块,示例如下:
if True:# 这个条件语句下的代码块应该缩进print("Condition is True")
if False:# 这个条件语句下的代码块应该缩进print("Condition is False")
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误,执行后会出现类似以下错误:
IndentationError: unindent does not match any outer indentation level

4 多行语句
在Python中,你可以在行的末尾使用反斜杠 (\) 来指示语句将在下一行继续。但是,这种方式并不常用,因为它可能会降低代码的可读性。它主要用于那些Python解释器无法自动识别为跨越多行的语句,比如字符串或长表达式,示例如下:
s = "这是一个很长的字符串,\
它跨越了多行"
当你在括号(圆括号 (), 方括号 [], 花括号 {})中编写代码时,Python会自动将多行视为一个单一的语句,而无需使用反斜杠。这是处理长列表、元组、字典和函数调用时常用的方法,示例如下:
my_list = ["apple","banana","cherry",
]my_func(arg1,arg2,arg3,
)
5 输入和输出
输出函数print(),在前面我们已经用过来输出Hello World,语法就是:
print(要输出的内容)
输入函数是 input(),功能是接收用户输入的内容,语法是:
input(输出的内容)
举例:接收用户输入的姓名,随之打印欢迎用户
n = input("请输入姓名:") #把输入内容赋给n,用 n 接收一下
print("欢迎" + n + "!") #打印n
上面章节也讲到过,在Python里,“#” 表示注释,“#”后面的东西不会被执行。代码运行之后首先出现了“请输入姓名:”,然后随意输入,比如输入Michael Lee,执行结果:

成功接收用户输入的内容并打印出来。
6 变量
变量可以理解为一个名字,在Python中,变量是用于存储数据值的标识符(名称)。变量允许我们存储和操作数据,而不必每次都直接引用数据本身。Python是一种动态类型的语言,这意味着变量的类型在运行时可以自动改变,取决于我们赋给它的值。
变量命名规则
- 变量名必须是一个有效的标识符:这意味着它必须以字母(a-z, A-Z)或下划线(_)开头,后面可以跟任意数量的字母、数字或下划线。
- 变量名不能是Python的关键字(即Python保留字):例如,class, for, while, if等。
- 变量名应该具有描述性:这样代码的可读性会更好。
- 变量名区分大小写:例如,myVariable和myvariable是两个不同的变量。
- 避免使用内置函数或类的名称作为变量名:这可能会导致意外的行为或错误。
7 数据类型
- 整型(int):正整数、负整数和零,例如:123, -456, 0。
- 浮点型(float):带有小数点的数字,例如:1.23, -0.456。
- 复数(complex):由实部和虚部组成的数,表示为a + bj,其中a和b是浮点数,j(或J)是虚数单位。例如:3+4j。
- 字符串(str):一系列字符组成的文本,用单引号、双引号或三引号括起来。例如:'hello',"world",'''Hello, world!'''。
- 布尔值(bool):只有两个值,True和False,用于表示逻辑条件。
- 列表(list):有序的元素集合,用方括号[]括起来,元素之间用逗号分隔。列表中的元素可以是任何类型,并且同一个列表中可以有不同类型的元素。例如:[1, 2, 3, 'a', 'b']。
- 元组(tuple):与列表类似,但是元组是不可变的,即创建后不能修改其元素。元组用圆括号()括起来。例如:(1, 2, 3)。
- 字典(dict):无序的键值对集合,用花括号{}括起来,每个键值对用冒号:分隔,键值对之间用逗号,分隔。键通常是不可变的类型(如整数、浮点数、字符串或元组),而值可以是任何类型。例如:{'name': 'Alice', 'age': 30}。
- 集合(set):无序且不包含重复元素的集合,用花括号{}或set()函数表示。集合用于去重或检查某个元素是否存在于某个集合中。例如:{1, 2, 3}。
-
NoneType:None是NoneType类型的唯一值,表示空值或没有值。它经常用于表示变量没有设置值或函数没有返回值。
8 类型转换
在Python中,数据类型转换是很常见的操作。Python提供了多种内置函数,用于在数据类型之间进行转换。以下是一些常见的Python数据类型转换的示例:
整数(int)与浮点数(float)之间的转换:
- 使用 int() 函数将浮点数转换为整数(ps:注意这会导致小数部分被丢弃)。
num_float = 3.14
num_int = int(num_float) # 结果为 3
- 使用 float() 函数将整数或字符串转换为浮点数。
num_str = "123"
num_float = float(num_str) # 结果为 123.0
字符串(str)与整数/浮点数之间的转换:
- 如前所述,使用 int() 和 float() 函数可以将字符串转换为整数或浮点数,但前提是字符串表示的是一个有效的数字。
num_str = "123"
num_int = int(num_str) # 结果为 123num_str_float = "3.14"
num_float = float(num_str_float) # 结果为 3.14
列表(list)与元组(tuple)之间的转换:
- 使用 list() 函数可以将元组转换为列表。
my_tuple = (1, 2, 3)
my_list = list(my_tuple) # 结果为 [1, 2, 3]
- 使用 tuple() 函数可以将列表转换为元组。
my_list = [1, 2, 3]
my_tuple = tuple(my_list) # 结果为 (1, 2, 3)
其他类型转换:
- 使用 bool() 函数可以将其他数据类型转换为布尔值(True 或 False)。
# 整数转换为布尔值
num_int = 0
print(bool(num_int)) # False,因为0被视为Falsenum_int = 1
print(bool(num_int)) # True,因为非0整数被视为True# 字符串转换为布尔值
empty_str = ""
print(bool(empty_str)) # False,因为空字符串被视为Falsenon_empty_str = "Hello"
print(bool(non_empty_str)) # True,因为非空字符串被视为True# 列表转换为布尔值
empty_list = []
print(bool(empty_list)) # False,因为空列表被视为Falsenon_empty_list = [1, 2, 3]
print(bool(non_empty_list)) # True,因为非空列表被视为True# 字典转换为布尔值
empty_dict = {}
print(bool(empty_dict)) # False,因为空字典被视为Falsenon_empty_dict = {"key": "value"}
print(bool(non_empty_dict)) # True,因为非空字典被视为True
- 使用 set() 函数可以将列表或元组转换为集合(set)。
# 列表转换为集合
list_to_set = [1, 2, 2, 3, 4]
set_from_list = set(list_to_set)
print(set_from_list) # {1, 2, 3, 4},集合中的元素唯一# 元组转换为集合
tuple_to_set = (1, 2, 3, 3, 4)
set_from_tuple = set(tuple_to_set)
print(set_from_tuple) # {1, 2, 3, 4},集合中的元素唯一
- 使用 dict() 函数或花括号 {} 可以将键值对(通常是元组列表或另一个字典)转换为字典。
# 使用dict()函数
dict_from_tuple_list = dict([(1, 'one'), (2, 'two'), (3, 'three')])
print(dict_from_tuple_list) # {1: 'one', 2: 'two', 3: 'three'}# 使用花括号{}
dict_from_pairs = {1: 'one', 2: 'two', 3: 'three'}
print(dict_from_pairs) # {1: 'one', 2: 'two', 3: 'three'}# 从另一个字典创建字典
another_dict = {'a': 1, 'b': 2}
dict_from_another_dict = dict(another_dict)
print(dict_from_another_dict) # {'a': 1, 'b': 2}
- 使用 complex() 函数可以将两个数字转换为复数。
# 实数部分和虚数部分
real_part = 3
imag_part = 4# 转换为复数
complex_num = complex(real_part, imag_part)
print(complex_num) # (3+4j)# 只有一个参数时,它被视为复数的实数部分,虚数部分为0
complex_num_only_real = complex(real_part)
print(complex_num_only_real) # (3+0j)
这些示例展示了如何使用Python的内置函数来执行不同类型之间的转换。
9 表达式
在Python中,表达式是由运算符和操作数组成的代码片段,它会被Python解释器计算并产生一个值。表达式可以很简单,也可以很复杂,它们可以包含变量、常量、函数调用、运算符等。
以下是一些Python表达式的例子:
- 简单的算术表达式:
2 + 3 # 结果为 5
5 - 2 # 结果为 3
10 * 2 # 结果为 20
10 / 2 # 结果为 5.0(在Python 3中,整数除法返回浮点数)
10 // 3 # 结果为 3(整数除法,只取整数部分)
10 % 3 # 结果为 1(取余数)
- 字符串表达式:
"Hello, " + "World!" # 结果为 "Hello, World!"
"Python is " + str(3.14) + "!" # 结果为 "Python is 3.14!"
- 逻辑表达式:
True and False # 结果为 False
True or False # 结果为 True
not True # 结果为 False
- 比较表达式:
5 > 3 # 结果为 True
10 < 5 # 结果为 False
2 == 2 # 结果为 True
3 != 2 # 结果为 True
10 运算符
Python 中的运算符用于执行各种算术运算、比较运算、逻辑运算、位运算、赋值运算以及身份和成员关系运算。以下是 Python 比较常见基础的运算符及其用法:
1. 算术运算符
# 算术运算符
a = 5
b = 3
print(a + b) # +:加法 结果:8
print(a - b) # -:减法 结果:2
print(a * b) # *:乘法 结果:15
print(a / b) # /:除法(结果总是浮点数) 结果:1.6666666666666667
print(a // b) # //:整除(取整数部分) 结果:1
print(a % b) # %:取模(求余数) 结果:2
print(a ** b) # **:乘方(幂运算) 结果:125
2. 比较运算符
# 比较运算符
a = 5
b = 3
print(a == b) # ==:等于 结果:False
print(a != b) # !=:不等于 结果:True
print(a > b) # >:大于 结果:True
print(a < b) # <:小于 结果:False
print(a >= b) # >=:大于等于 结果:True
print(a <= b) # <=:小于等于 结果:False
3. 逻辑运算符
# 逻辑运算符
print(True and False) # and:逻辑与 结果:False
print(True or False) # or:逻辑或 结果:True
print(not True) # not:逻辑非 结果:False
以上即是博主认为Python比较基础的一下知识,在开始编写Python前务必掌握,如有遗留欢迎补充,抱拳 !!!
ps:博主也是个Python萌新,后续会持续更新Python学习内容,如感兴趣跟着博主从零开始学习关注点一下吧~
有什么问题都可以评论区留言,看见都会回复的!!!
如果你觉得本篇文章对你有所帮助的,多多支持!!!
点赞收藏评论,抱拳了!!
相关文章:
Python学习篇:Python基础知识(三)
目录 1 Python保留字 2 注释 3 行与缩进 编辑4 多行语句 5 输入和输出 6 变量 7 数据类型 8 类型转换 9 表达式 10 运算符 1 Python保留字 Python保留字(也称为关键字)是Python编程语言中预定义的、具有特殊含义的标识符。这些保留字不能用作…...
C++字体库开发之字体回退三
代码片段 class FontCoverage { public: using SP std::shared_ptr<FontCoverage>; virtual ~FontCoverage() default; virtual void set(int index, FontTypes::CoverageLevel level) 0; virtual FontTypes::Coverag…...
python vtk lod 设置
在Python中使用VTK库设置Level of Detail (LOD)可以通过vtkLODProp3D类来实现。这个类允许你为一个模型指定不同级别的细节表示,从而在渲染时根据模型与摄像机的距离自动切换到更适合的表示。 以下是一个简单的例子,展示如何使用vtkLODProp3D来设置LOD&…...
Rhino 犀牛三维建模工具下载安装,Rhino 适用于机械设计广泛领域
Rhinoceros,这款软件小巧而强大,无论是机械设计、科学工业还是三维动画等多元化领域,它都能展现出其惊人的建模能力。 Rhinoceros所包含的NURBS建模功能,堪称业界翘楚。NURBS,即非均匀有理B样条,是计算机图…...
Unleashing Text-to-Image Diffusion Models for Visual Perception
mmcv的环境不好满足,不建议复现...
[2024]docker-compose实战 (1)前言
前言 本文用来记录使用docker-compose来实战搭建一个多项目的测试环境. 环境中包含nodejs, php, html, redis, MongoDB, mysql. 在本次部署流程中, 尽量保证原镜像的"干净简洁", 尽量不会往镜像中加入各种软件和插件, 所有的配置尽可能的在宿主机映射进去. 项目…...
并发编程面试题3
一、CountDownLatch,Semaphore的高频问题: 1.1 CountDownLatch是啥?有啥用?底层咋实现的? CountDownLatch 本质上是一个计数器,用于协调多个线程之间的同步。主要应用场景是在多线程并行处理业务时,需要等待其他线程处理完再进行后续操作,例如合并结果或响应用户请求…...
Movable antenna 早期研究
原英文论文名字Historical Review of Fluid Antenna and Movable Antenna 最近,无线通信研究界对“流体天线”和“可移动天线”两种新兴天线技术的发展引起了极大的关注,这两种技术因其前所未有的灵活性和可重构性而极大地提高了无线应用中的系统性能。…...
Polkadot 安全机制揭秘:保障多链生态的互操作性与安全性
作者:Filippo Franchini,Web3 Foundation 原文:https://x.com/filippoweb3/status/1806318265536242146 编译:OneBlock Polkadot 是一个创新的多链区块链平台,旨在实现不同区块链之间的互操作性和共享安全性。本文将详…...
python将多个文件夹里面的文件拷贝到一个文件夹中
网上可以搜到很多方式,有的好使,有的不好使,亲测如下脚本可用,并可达到我想要的效果,只将多个文件夹里的文件拷贝到一个文件夹中,不拷贝文件夹本身,如果需要文件夹也拷贝打开注释行即可 import…...
docker私有仓库harbor部署
docker私有仓库harbor部署 概述 Docker 官方镜像源被中国大陆政府封锁,导致无法在中国大陆的计算机上直接使用 Docker 拉取镜像,导致使用者一下子手足无措了,的确一开始会有很大的影响,为了应对这种影响我们可以自己构建私有仓库&…...
如何在Java中实现函数式编程
如何在Java中实现函数式编程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java中,函数式编程是一种编程范式,它将计算视为数学函数…...
二叉树与堆相关的时间复杂度问题
目录 满二叉树与完全二叉树高度h和树中节点个数N的关系 向上调整算法: 介绍: 复杂度推导: 向下调整算法: 介绍: 复杂度推导: 向上调整建堆: 介绍: 复杂度推导:…...
goLang小案例-获取从控制台输入的信息
goLang小案例-获取从控制台输入的信息 1. 案例代码展示 package mainimport ("bufio""fmt""log""os" )var pl fmt.Printlnfunc main() {//控制台输出欢迎提示pl("Hello Go")fmt.Print("what is your name? ")…...
1-5题查询 - 高频 SQL 50 题基础版
目录 1. 相关知识点2. 例题2.1.可回收且低脂的产品2.2.寻找用户推荐人2.3.大的国家2.4. 文章浏览 I2.5. 无效的推文 1. 相关知识点 sql判断,不包含null,判断不出来distinct是通过查询的结果来去除重复记录ASC升序计算字符长度 CHAR_LENGTH() 或 LENGTH(…...
Modbus协议转Profinet协议网关模块连智能仪表与PLC通讯
一、现场需求:PLC作为控制器,仪表设备做为执行设备,执行设备能够实时响应PLC传来的指令,并且向PLC回馈数据,从而达到PLC对仪表设备进行控制和监测,实现对生产过程的精准控制。 二、解决方案:通过…...
新手必学:TikTok视频标签的使用方法
想让你的TikTok视频火起来,就得用对标签。标签能帮你的作品被更多人看到,也更有利于推广,可以为品牌增加曝光度、吸引更多观众、提高转化率和借势热门话题。那么应该如何选择标签并使用标签呢,看完这篇分享你或许会有所启发&#…...
AI是在帮助开发者还是取代他们
近年来,AI工具在软件开发和数据分析领域的应用日益广泛,它们对开发者的日常工作产生了深远的影响。AI工具通过自动化处理大量数据、优化代码质量、提高测试效率等方式,极大地提升了开发者的工作效率。然而,这同时也对开发者的传统…...
【后端面试题】【中间件】【NoSQL】MongoDB查询过程、ESR规则、覆盖索引的优化
任何中间件的面试说到底都是以高可用、高性能和高并发为主,而高性能和高并发基本是同时存在的。 性能优化一直被看作一个高级面试点,因为只有对原理了解得很透彻的人,在实践中才能找准性能优化的关键点,从而通过各种优化手段解决性…...
使用c++函数式编程实现Qt信号槽机制
问题背景 在下面的代码中,Input输入器 输入数据,希望A和B 接收数据。但使用的赋值,导致in.a和a只是拷贝数据,而不是同一个对象,使得数据不同步。 #include <iostream> struct A {int age 32; }; struct B {int …...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
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…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
