python核心语法

目录

    • 核⼼语法
      • 第⼀节 变量
        • 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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/918008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用,职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室,为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台,以促进云计算技术…

信号保存和信号处理

目录 信号保存中重要的概念 内核中信号的保存 对sigset_t操作的函数 对block,pendding,handler三张表的操作 sigpromask ​编辑 sigpending 是否有sighandler函数呢? 案例 信号处理 操作系统是如何运行的? 硬件中断 …

用vscode编写verilog时,如何有信号定义提示、信号定义跳转(go to definition)、模块跳转(跨文件跳转)这些功能

(一)方法一:安装插件SystemVerilog - Language Support 安装一个vscode插件即可,插件叫SystemVerilog - Language Support。虽然说另一个插件“Verilog-HDL/SystemVerilog/Bluespec SystemVerilog”也有信号提示及定义跳转功能&am…

初识算法 · 模拟(1)

目录 前言: 替换所有的问号 题目解析 算法原理 算法编写 提莫攻击 题目解析 算法原理 算法编写 外观数列 题目解析 算法原理 算法编写 前言: ​本文的主题是模拟,通过三道题目讲解,一道是提莫攻击,一道是…

〔 MySQL 〕数据类型

目录 1.数据类型分类 2 数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float 2.3.2 decimal 3 字符串类型 3.1 char 3.2 varchar 3.3 char和varchar比较 4 日期和时间类型 5 enum和set mysql表中建立属性列: 列名称,类型在后 n…

数据结构王道P234第二题

#include<iostream> using namespace std; int visit[MAxsize]; int color[MaxSize];//1表示红&#xff0c;2表示白&#xff1b; bool dfs(Graph G, int i){visit[i]1;ArcNode *p;bool flag1;for(pG.vertices[i].firsrarc; p ; pp->next){int jp->adjvex;if(!visi…

算法——两两交换链表中的节点(leetcode24)

这是一道对于链表节点进行操作的题目非常考验对于链表操作的基本功&#xff1b; 解法: 本题的解法结合下图来进一步解释 创建一个虚拟节点指向头结点以便使代码逻辑看起来更为简便且操作节点容易,定义cur是为了方便找到cur之后的两个节点进行交换操作定义pre和aft是为了保存执…

【AI图像生成网站Golang】项目架构

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与调试(等待更新) 四、项目架构 本项目的后端基于Golang和Gin框架开发&#xff0c;主要包括的模块有&#xff1a; backend/ ├── …

翼鸥教育:从OceanBase V3.1.4 到 V4.2.1,8套核心集群升级实践

引言&#xff1a;自2021年起&#xff0c;翼鸥教育便开始应用OceanBase社区版&#xff0c;两年间&#xff0c;先后部署了总计12套生产集群&#xff0c;其中核心集群占比超过四分之三&#xff0c;所承载的数据量已突破30TB。自2022年10月&#xff0c;OceanBase 社区发布了4.2.x 版…

ESP32-S3模组上跑通esp32-camera(19)

接前一篇文章&#xff1a;ESP32-S3模组上跑通esp32-camera&#xff08;18&#xff09; 本文内容参考&#xff1a; esp32-camera入门&#xff08;基于ESP-IDF&#xff09;_esp32 camera-CSDN博客 OV5640手册解读-CSDN博客 ESP32_CAM CameraWebServer例程源码解析笔记&#xf…

vmWare虚拟环境centos7安装Hadoop 伪分布式实践

背景&#xff1a;近期在研发大数据中台&#xff0c;需要研究Hadoop hive 的各种特性&#xff0c;需要搭建一个Hadoop的虚拟环境&#xff0c;本来想着使用dock &#xff0c;但突然发现docker 公共仓库的镜像 被XX 了&#xff0c;无奈重新使用vm 搭建虚拟机。 大概经历了6个小时完…

ARM(安谋) China处理器

0 Preface/Foreword 0.1 参考博客 Cortex-M23/M33与STAR-MC1星辰处理器 ARM China&#xff0c;2018年4月established&#xff0c;独立运行。 1 处理器类型 1.1 周易AIPU 1.2 STAR-MC1&#xff08;星辰处理器&#xff09; STAT-MC1&#xff0c;主要为满足AIOT应用性能、功…

c++--------《set 和 map》

c--------《set 和 map》 1 set系列的使⽤1.1 set类的介绍1.2 set的构造和迭代器1.3 set重要接口 2 实现样例2.1: insert和迭代器遍历使⽤样例&#xff1a;2.2: find和erase使⽤样例&#xff1a; 练习3.map系列的使用3.1 map类的介绍3.1.1 pair类型介绍 3.2 map的数据修改3.3mu…

MySQL面试之底层架构与库表设计

华子目录 mysql的底层架构客户端连接服务端连接的本质&#xff0c;连接用完会立马丢弃吗解析器和优化器的作用sql执行前会发生什么客户端的连接池和服务端的连接池数据库的三范式 mysql的底层架构 客户端连接服务端 连接的本质&#xff0c;连接用完会立马丢弃吗 解析器和优化器…

vscode vite+vue3项目启动调试

1、经常我们在普通的项目中&#xff0c;如果算法并不复杂&#xff0c;那么基本上console.log就可以搞定&#xff0c;当然也可以直接alert&#xff0c;打包的时候如果不去掉&#xff0c;还会在发版中上接弹出&#xff0c;给你个惊喜。 2、碰到了有些算法过程比较复杂的情况下&a…

详解八大排序(一)------(插入排序,选择排序,冒泡排序,希尔排序)

文章目录 前言1.插入排序&#xff08;InsertSort&#xff09;1.1 核心思路1.2 实现代码 2.选择排序&#xff08;SelectSort&#xff09;2.1 核心思路2.2 实现代码 3.冒泡排序&#xff08;BubbleSort&#xff09;3.1 核心思路3.2 实现代码 4.希尔排序&#xff08;ShellSort&…

IPv6 NDP 记录

NDP&#xff08;Neighbor Discovery Protocol&#xff0c;邻居发现协议&#xff09; 是 IPv6 的一个关键协议&#xff0c;它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议&#xff0c;并对它们作出了改进。该协议使用 ICMPv6 协议实现&#xff0c;作为 IPv6 的基…

【包教包会】CocosCreator3.x框架——带翻页特效的场景切换

一、效果演示 二、如何获取 1、https://gitee.com/szrpf/TurnPage 2、解压&#xff0c;导入cocos creator&#xff08;版本3.8.2&#xff09;&#xff0c;可以直接运行Demo演示 三、算法思路 1、单场景 页面预制体 通过loadScene来切换页面&#xff0c;无法实现页面特效。…

拉取docker镜像应急方法

发现许多docker hub镜像网址速度也慢得发指啦&#xff0c;如果想速度快点&#xff0c;可以考虑买个按量计费的公有云服务器&#xff0c;用他们的内网镜像&#xff0c;然后再导出&#xff0c;然后传到本地。 开通服务器 可以考虑个开通最低配的&#xff0c;这里我用的是腾讯的…

Cyberchef配合Wireshark提取并解析HTTP/TLS流量数据包中的文件

本文将介绍一种手动的轻量级的方式&#xff0c;还原HTTP/TLS协议中传输的文件&#xff0c;为流量数据包中的文件分析提供帮助。 如果捕获的数据包中存在非文本类文件&#xff0c;例如png,jpg等图片文件&#xff0c;或者word&#xff0c;Excel等office文件异或是其他类型的二进…