python核心语法

news/2024/11/18 19:04:07/

目录

    • 核⼼语法
      • 第⼀节 变量
        • 0.变量名规则
        • 1.下⾯这些都是不合法的变量名
        • 2.关键字
        • 3.变量赋值
        • 4.变量的销毁
      • 第⼆节 数据类型
        • 0.数值
        • 1.字符串
        • 2.布尔值(boolean, bool)
        • 3.空值 None

核⼼语法

第⼀节 变量

变量的定义变量就是可变的量,对于⼀些有可能会经常变化的数据,我们需要使⽤⼀个符号,这样才能计算中使⽤它x = "world"
这样我们就新定义了⼀个变量,它的值是"world", 修改⼀下Hello world的例⼦,这次我们使⽤变量x。print("Hello", x)

对于变量,我们可以往⾥任何我们想放的东⻄,⽽这个抓⼿,就是变量名,提着这个抓⼿,我们可以更⽅便的使⽤容器⾥的东⻄。

0.变量名规则

Python变量名遵循以下的规则:

  • 变量名由字⺟、数字和下划线组成,也就是a-z, A-Z, 0-9和_
  • 变量名不能以数字开头。
  • 变量名是区分⼤⼩写的。
1.下⾯这些都是不合法的变量名

1abc|123 # 不能以数字开头
abc- # 注意这是横杠符号,不是下划线

2.关键字

以下的这些单词都是Python的关键字,每个编程语⾔都有各⾃的关键字,它们组成了编程语⾔基本的语法规则。

False   await       else        import       pass
None    break       except      in           raise
True    class       finally     is           return
and     continue    for         lambda       try
as      def        from        nonlocal      while
assert  del        global       not          with
async   elif       if           or          yield

定义了⼀个与关键字相同的变量,代码会在运⾏的时候报错.

3.变量赋值

变量是可以重复使⽤,并且是可以修改的,由于Python的变量不需要先声明,所以变量的声明和赋值是在同⼀⾏代码完成的,⽐如我们上⾯声明的name变量。

name = "how are you "

在这⼀⾏⾥,我们先定义了⼀个名为"name"的变量,然后给它赋值为"Smith",这样,我们就有了⼀个变量"name",它的值是"Smith"。变量必须要先声明,才能使⽤。如果使⽤了⼀个从未定义过的变量xxx,Python解释器会抛给你⼀个这样的错误:

NameError: name 'xxx' is not defined

在变量定义完成后,我们可以随意读取、修改它的值,⽐如:

# 定义name变量,赋值为"John"
name = "john"
print("Mr", name)
# 修改变量的值为"Jones"
name = "wones"
print("Mr", name)

这上⾯这个例⼦中,我们使⽤了同⼀个变量"name",但它的值发⽣了变化,导致程序中两次输出的结果也发⽣了相应的变化。
有时候,我们需要定义好⼏个变量,以进⾏计算。⽐如现在我想要定义三个变量,并把它们的值都设为1,可以这样写:

a = b = c = 1

这样就定义三个变量,且它们的初始值都是1,那如果我想定义的三个变量值都不⼀样呢?

a, b, c = 1, 2, 3

这样写其实就相当于是:

a = 1
b = 2
c = 3

既然可以同时给多个变量赋予不同的值,可以直接交换变量的值

# 定义两个变量,其中a=1, b=2
a, b = 1, 2
# 进⾏交换,现在a=2, b=1
a, b = b, a
4.变量的销毁

在Python中,我们⼀般⽆需⼿动的去销毁变量,Python的垃圾回收机制会帮我们处理掉那些不再使⽤的变量,如果我们想刻意销毁删除某个变量,可以使⽤del关键字,像这样
del name
销毁后,这个变量就像没有定义过⼀样,再使⽤它的话就会产⽣异常。

第⼆节 数据类型

三种基本的数据类型:

  • 数值,包括整数和浮点数
  • 字符串
  • 布尔值
0.数值

Python中数值有两种类型,整形(int)和浮点型(float),通俗⼀点的讲,⼀个是不带⼩数点的,⼀个带⼩数点的。

# 这是⼀个整形
a = 100
# 这是⼀个浮点型变量
b = 3.14

整形和浮点形数值可以相互运算,⽐如

# c 是⼀个浮点型变量
c = a + b

这个很容易理解,⼀个整数加上⼀个⼩数,得到的肯定还是⼀个⼩数。我们再看另⼀个例⼦,可以先猜猜是什么类型。

a = 0.14
b = 3.14
c = b - a # c=3.0

这⾥⾯变量c还是⼀个浮点型,它的值是3.0,可以得出⼀个结论,只要有浮点数参与的运算,它的结果肯定也是浮点数。

1.字符串

我们在Hello world例⼦中使⽤的就是字符串类型a = "Hello world"
当如果字符串含有特殊字符,⽐如双引号,我们可以加⼀个 \ 反斜杠来进⾏转义。

print("Buddha: \"What we think, we become.\"")
# 输出的结果是:Buddha: "What we think, we become."

定义字符串时使⽤的都是双引号或单引号,其实Python也⽀持。

a = "Hello"
b = 'world'
print(a, b)
# 输出的结果仍然是Hello world

对字符中的字符串进⾏转义了,这样看起来清爽了很多。

print('haha: "how are you"')

定义字符串⽐较⻓,超出了⼀⾏的⻓度,使⽤⼀个反斜杠""来连接多⾏:

msg = "This's a very long long long \
long long story"
print(msg)

上⾯的代码在输出的时候还是会显示为⼀整⾏。如果说还有更⻓的字符串,类似⼀整段话,我们可以使⽤三引号
msg = “”" it a long long long story “”"
print(msg)
当然,上⾯的双引号也可以⽤单引号代替。

2.布尔值(boolean, bool)

布尔值: True 和 False,True-真,False-假,⼀般是⽤来做条件判断。True和False是关键字,看起来,布尔值只有两个

3.空值 None

空值None它代表空值,表示“什么都没有”,None同时也是关键字。None的⽤处有很多,⽐如说你想定义⼀个变量,但⼀时还没想好给它赋什么值,甚⾄连它⽤什么类型也没决定好,可以先⽤None

temp = None
print(temp)

None被输出的时候显示为⼀个字符串"None"


http://www.ppmy.cn/news/1548061.html

相关文章

用 Python 从零开始创建神经网络(五):损失函数(Loss Functions)计算网络误差

用损失函数(Loss Functions)计算网络误差 引言1. 分类交叉熵损失(Categorical Cross-Entropy Loss)2. 分类交叉熵损失类(The Categorical Cross-Entropy Loss Class)展示到目前为止的所有代码3. 准确率计算…

rhcsa笔记二

普通文件的创建 touch命令的使用 touch 文件名 (文件路径) linux不是用后缀区分文件类型的,而是用ll出现的第一个字符区分文件类型的 -:普通文件 d:目录文件 [rootserver ~]# stat /etc/hostname 文件:/etc/hos…

网络基础概念与应用:深入理解计算机网络

引言 计算机网络作为现代信息技术的重要支柱,是连接世界各地的重要纽带。它使得计算机能够相互通信、协同工作,从而极大地提高了我们的工作效率和生活质量。本篇文章将深入探讨计算机网络的基础概念,覆盖网络的分层模型、协议、数据传输原理…

【Linux】内核模版加载modprobe | lsmod

modprobe modprobe 是一个用于加载和卸载 Linux 内核模块的命令。它不仅能够加载单个模块,还能处理模块之间的依赖关系,确保所有依赖的模块都被正确加载。以下是一些关于 modprobe 命令的基本用法和常见选项的详细介绍。 基本语法 modprobe [option…

常用命令之LinuxOracleHivePython

1. 用户改密 passwd app_adm chage -l app_adm passwd -x 90 app_adm -> 执行操作后,app_adm用户的密码时间改为90天有效期--查看该euser用户过期信息使用chage命令 --chage的参数包括 ---m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。 ---M 密码…

Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?

Sql进阶 一、问题描述二、解决思路<一>、拆成多行<二>、拆成多列 三、代码实现 一、问题描述 Oracle数据库中某个字段value是CLOB类型,存的是csv格式的数据,如下所示 classnovalue1name,age,sex,… ‘李世民’,20,‘M’,…’ ‘李治’,18,‘M’,… ‘武则天’,16…

【数据库系列】Spring Data Neo4j Cypher 查询使用进阶指南

在 Neo4j 中&#xff0c;Cypher 查询语句并不像 MySQL 的 mapper XML 那样直接支持拆分和组织。然而&#xff0c;你可以使用一些策略来管理和重用 Cypher 查询&#xff0c;使其更易于维护和组织。以下是几种方法&#xff1a; 1. 使用 Spring Data Neo4j 的 Repository 接口 通…

Android Osmdroid + 天地图 (一)

Osmdroid 天地图 前言正文一、配置build.gradle二、配置AndroidManifest.xml三、获取天地图的API Key① 获取开发版SHA1② 获取发布版SHA1 四、请求权限五、显示地图六、源码 前言 Osmdroid是一款完全开源的地图基本操作SDK&#xff0c;我们可以通过这个SDK去加一些地图API&am…