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"
相关文章:
python核心语法
目录 核⼼语法第⼀节 变量0.变量名规则1.下⾯这些都是不合法的变量名2.关键字3.变量赋值4.变量的销毁 第⼆节 数据类型0.数值1.字符串2.布尔值(boolean, bool)3.空值 None 核⼼语法 第⼀节 变量 变量的定义变量就是可变的量,对于⼀些有可能会经常变化的数据&#…...

MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究
全文链接:https://tecdat.cn/?p38258 在语音处理领域,对语音情感的分类是一个重要的研究方向。本文将介绍如何通过结合二维卷积神经网络(2 - D CNN)和长短期记忆网络(LSTM)构建一个用于语音分类任务的网络…...

智能网页内容截图工具:AI助力内容提取与可视化
我们每天都会接触到大量的网页内容。然而,如何从这些内容中快速提取关键信息,并有效地进行整理和分享,一直是困扰我们的问题。本文将介绍一款我近期完成的基于AI技术的智能网页内容截图工具,它能够自动分析网页内容,截…...

Axure设计之文本编辑器制作教程
文本编辑器是一个功能强大的工具,允许用户在图形界面中创建和编辑文本的格式和布局,如字体样式、大小、颜色、对齐方式等,在Web端实际项目中,文本编辑器的使用非常频繁。以下是在Axure中模拟web端富文本编辑器,来制作文…...

【MyBatis源码】深入分析TypeHandler原理和源码
🎮 作者主页:点击 🎁 完整专栏和代码:点击 🏡 博客主页:点击 文章目录 原始 JDBC 存在的问题自定义 TypeHandler 实现TypeHandler详解BaseTypeHandler类TypeReference类型参考器43个类型处理器类型注册表&a…...

号卡分销系统,号卡系统,物联网卡系统源码安装教程
号卡分销系统,号卡系统,物联网卡系统,,实现的高性能(PHP协程、PHP微服务)、高灵活性、前后端分离(后台),PHP 持久化框架,助力管理系统敏捷开发,长期持续更新中。 主要特性 基于Auth验证的权限…...

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

从dos上传shell脚本文件到Linux、麒麟执行报错“/bin/bash^M:解释器错误:没有那个文件或目录”
[rootkylin tmp]#./online_update_wars-1.3.0.sh ba51:./online_update_wars-1.3.0.sh:/bin/bash^M:解释器错误:没有那个文件或目录 使用scp命令上传文件到麒麟系统,执行shell脚本时报错 “/bin/bash^M:解释器错误:没有那个文件或目录” 解决方法: 执行…...

使用 Go 实现将任何网页转化为 PDF
在许多应用场景中,可能需要将网页内容转化为 PDF 格式,比如保存网页内容、生成报告、或者创建网站截图。使用 Go 编程语言,结合一些现有的库,可以非常方便地实现这一功能。本文将带你一步一步地介绍如何使用 Go 语言将任何网页转换…...

文件操作和IO
目录 一. 文件预备知识 1. 硬盘 2. 文件 (1) 概念 (2) 文件路径 (3) 文件类型 二. 文件操作 1. 文件系统操作 [1] File常见的构造方法 [2] File的常用方法 [3] 查看某目录下所有的目录和文件 2. 文件内容操作 (1) 打开文件 (2) 关闭文件 (3) 读文件 (4) 写文件 …...

【C++滑动窗口】1248. 统计「优美子数组」|1623
本文涉及的基础知识点 C算法:滑动窗口及双指针总结 LeetCode1248. 统计「优美子数组」 给你一个整数数组 nums 和一个整数 k。如果某个连续子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中 「优美子数组」 的数…...
C语言导航 4.1语法基础
第四章 顺序结构程序设计 第一节 语法基础 语句概念 语句详解 程序详解 4.1.1语句概念 说明:构成高级语言源程序的基本单位。 特征:在C语言中语句以分号作为结束标志。 分类: (1)简单语句:空语句、…...
使用 Python 和 Py2Neo 构建 Neo4j 管理脚本
Neo4j 是一个强大的图数据库,适合处理复杂的关系型数据。借助 Python 的 py2neo 库,我们可以快速实现对 Neo4j 数据库的管理和操作。本文介绍一个功能丰富的 Python 脚本,帮助用户轻松管理 Neo4j 数据库,包含启动/停止服务、清空数…...

Centos 7 安装wget
Centos 7 安装wget 最小化安装Centos 7 的话需要上传wget rpm包之后再路径下安装一下。rpm包下载地址(http://mirrors.163.com/centos/7/os/x86_64/Packages/) 1、使用X-ftp 或者WinSCP等可以连接上传的软件都可以首先连接服务器,这里我用的…...

定时器的小应用
第一个项目 第一步,RCC开启时钟,这个基本上每个代码都是第一步,不用多想,在这里打开时钟后,定时器的基准时钟和整个外设的工作时钟就都会同时打开了 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);第二步&…...
linux企业中常用NFS、ftp服务
1.静态ip配置 修改ip地址为静态vim /etc/sysconfig/network-scripts/ifcfg-enxxx BOOTPROTO"static" IPADDR192.168.73.10 GATEWAY192.168.73.2 # 该配置与虚拟机网关一致 NETMASK255.255.255.0重启网卡:systemctl restart network.service ping不通域名…...

数据结构与算法分析模拟试题及答案5
模拟试题(五) 一、单项选择题(每小题 2 分,共20分) (1)队列的特点是( )。 A)先进后出 B)先进先出 C)任意位置进出 D࿰…...

.NET 9.0 中 System.Text.Json 的全面使用指南
以下是一些 System.Text.Json 在 .NET 9.0 中的使用方式,包括序列化、反序列化、配置选项等,并附上输出结果。 基本序列化和反序列化 using System; using System.Text.Json; public class Program {public class Person{public string Name { get; se…...

Python自动检测requests所获得html文档的编码
使用chardet库自动检测requests所获得html文档的编码 使用requests和BeautifulSoup库获取某个页面带来的乱码问题 使用requests配合BeautifulSoup库,可以轻松地从网页中提取数据。但是,当网页返回的编码格式与Python默认的编码格式不一致时,…...

11.12机器学习_特征工程
四 特征工程 1 特征工程概念 特征工程:就是对特征进行相关的处理 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,比如:字典特征提取(特征离散化)、文本特征提取、图像特征提取。 …...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...

Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...