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 …...

【Android】Activity子类之间的区别
从底层往顶层的继承顺序依次是: Activity,最原始的Activity androidx.core.app.ComponentActivity,仅仅优化了一个关于KeyEvent的拦截问题,一般不继承这个类 androidx.activity.ComponentActivity,支持和Android Arc…...

在 Mac 上使用 MLX 微调微软 phi3 模型
微调大语言模型是常见的需求,由于模型参数量大,即使用 Lora/Qlora 进行微调也需要 GPU 显卡,Mac M系是苹果自己的 GPU,目前主流的框架还在建立在 CUDA 的显卡架构,也就是主要的卡还是来自英伟达。如果要用 Mac 来做训练…...

【JavaEE】多线程代码案例(2)
🎏🎏🎏个人主页🎏🎏🎏 🎏🎏🎏JavaEE专栏🎏🎏🎏 🎏🎏🎏上一篇文章:多线程代码案例(1)&a…...

Halcon支持向量机
一 支持向量机 1 支持向量机介绍: 支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别表现出许多特有的优势。 2 支持向量机原理: 在n维空间中找到一个分类超平面…...
【Python机器学习】模型评估与改进——在模型选择中使用评估指标
我们通常希望,在使用GridSearchCV或cross_val_score进行模型选择时能够使用AUC等指标。scikit-learn提供了一种非常简单的实现方法,那就是scoring参数,它可以同时用于GridSearchCV和cross_val_score。你只需要提供一个字符串,用于…...

【C语言】union 关键字
在C语言中,union关键字用于定义联合体。联合体是一种特殊的数据结构,它允许不同的数据类型共享同一段内存。所有联合体成员共享同一个内存位置,因此联合体的大小取决于其最大成员的大小。 定义和使用联合体 基本定义 定义一个联合体类型时…...

电脑回收站删除的文件怎么恢复?5个恢复方法详解汇总!
电脑回收站删除的文件怎么恢复?在我们日常使用电脑的过程中,难免会遇到误删文件的情况。一旦发现自己误删文件了,先不要着急,还是有很多方法可以找回的。市面上还是有很多好用的文件恢复软件可以使用,具体介绍如下。 本…...

mac 安装cnpm 淘宝镜像记录
mac 安装cnpm 淘宝镜像记录 本文介绍了在安装cnpm时遇到权限问题的解决方案,包括使用sudo,处理SSL证书过期,以及因版本不一致导致的错误处理方法,步骤包括设置npm配置、卸载和重新安装cnpm到特定版本。 安装 npm install cnpm …...

ArcGIS Pro SDK (七)编辑 11 撤销重做
ArcGIS Pro SDK (七)编辑 11 撤销&重做 文章目录 ArcGIS Pro SDK (七)编辑 11 撤销&重做1 撤消/重做最近的操作 环境:Visual Studio 2022 .NET6 ArcGIS Pro SDK 3.0 1 撤消/重做最近的操作 //撤销 if (MapV…...

Excel 中的元素定位:相对定位、绝对定位和混合定位
在Excel中,单元格引用有三种主要类型:相对定位、绝对定位和混合定位。 这些类型主要用于公式和函数中,决定在复制或拖动公式时引用如何变化。 1. 相对定位 相对定位指的是不带“$”符号的单元格引用,例如 A1。 这种引用方式在…...