【Python】Python中的常量与变量

常量与变量

  • 导读
  • 一、新建项目
  • 二、常量
    • 2.1 字面常量
    • 2.2 特殊常量
  • 三、变量
    • 3.1 变量的定义
    • 3.2 变量的命名
      • 3.2.1 关键字
  • 结语

封面

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们详细介绍了Python环境的搭建过程,在今天的内容中我们将会开始学习Python的第一个基础知识点——变量与数据类型。

在C/C++中我们学习到的变量在定义时是需要表明此时定义变量的数据类型的,那么对于Python而言,它的变量和数据类型与C/C++相比会不会有所不同呢?下面我们就一起来看一下在Python中的变量与数据类型是如何使用的吧!!!

一、新建项目

在开始正式内容之前,我们要先新建一个项目,PyCharm与VS不同,VS每次在打开时需要自主选择是打开历史文件还是新建一个项目,而PyCharm中会直接打开历史文件,如下所示:
新建项目
当我们需要新建一个项目时我们则需要通过左上角的文件来完成新项目的创建:
新建项目2
有朋友没有看上一篇的内容,这时可能会好奇我这左上角也没有文件这个选项呀,这里我只需要找到左上角的主菜单按钮,单击就可以看到文件这个选项了:
新建项目3

有朋友的PyCharm可能是英文版的,如果需要汉化的话可以在文件—>设置中下载汉化插件,具体步骤大家可以回顾上一篇内容【Python】Python环境搭建教学#保姆级教学#手把手带你安装——内附Python环境搭建安装包(Python、PyCharm以及激活插件安装包)在2.5.3 插件安装中有详细介绍,这里我就不再过多介绍。

在找到对应的按钮后我们就可以新建一个项目了:
新建项目4
这里我们还是先修改项目名称,然后查看项目的存储位置,最后点击创建即可。

新建项目5
从项目的存储路径中我们可以看到此时已经完成了新项目的创建,但是PyCharm在打开这个新项目是会弹出下面的窗口:
新建项目6
这里我们只需要选择一种打开方式即可,这里我就选择新窗口好了,如下所示:
新建项目7
可以看到此时在打开时PyCharm又开启了一个新的窗口来打开我们创建好的新文件,这里我们直接在新窗口中新建我们需要的文件即可,步骤还是:选择文件夹—>单击右键—>选择新建—>选择Python文件
新建项目8
之后我们正常设置文件名即可,这里就不再继续展开。

二、常量

2.1 字面常量

常量,简单的理解就是不会改变的量

我们学过的数字1、 2、 3、 4……字母a、b、c、d……这些一眼就能知道其值的量被称为字面常量,它们都有一个特点——不能够被改变。

在C/C++中我们有学过的赋值操作符——'='就可以将其右操作对象的值赋值给左操作对象,但是如果左操作对象为常量时,此时赋值就不能正常完成,比如我想将2的值赋值给1,于是我写了这句代码:

1 = 2;

此时程序就会出现报错,报错内容为不可修改的左值。

字面常量

在Python中这种语法规则也同样是被遵守的,当我们在Python中尝试修改常量的值的话,程序则会显示无法赋值给文字:
字面常量2
在Python中的字面常量可以分为3类:

  • 数字字面常量——1、 2、 3……等整数和1.2、 2.3、 3.14……等小数
  • 字符串字面常量——'a'、'ab'、'abc'、'abcd'……等字符串
  • 布尔字面常量——True、False
1, 2, 3, 4     # 数字字面常量
1.1, 3.1415    # 数字字面常量
'a', 'asdf'    # 字符串字面常量
True, False    # 布尔字面常量

2.2 特殊常量

Python与C/C++不同的是,在C/C++中除了字面常量外还存在三种常量:

  1. 通过const修饰的常变量
  2. 通过#define定义的常量
  3. 通过enum定义的枚举常量

其它常量
但是在Python中除了字面常量外,只有一种特殊常量——None
特殊常量
当我们尝试着给这个常量进行赋值操作时就会出现上述报错——关键字赋值。Python中的None与C/C++中的NULL是等价的,它们都是代表的无,但是它们之间还是有些许区别:

  • 在C/C++中NULL指的是空指针,其类型为指针类型,因此我们可以通过'%p'将其值打印出来:

NULL
可以看到当我们通过'%d'来打印NULL时,VS虽然能够正常打印,但是会报错——参数实际类型为void*类型,需要通过'%p'来打印,通过'%p''%d'打印出来的结果都是0;

  • 在Python中,None的值就为None,我们可以通过内建函数type()将其类型打印出来

None
可以看到,在Python中对于这个特殊常量None而言,其值就是None,其类型为NoneType类型;

三、变量

与常量相对应的就是变量,简单的理解就是可以改变的量

3.1 变量的定义

在C/C++中我们要定义一个变量时我们需要指明变量的数据类型、变量名以及变量的初始值。如下所示:

// 变量——变量的定义
void test4() {//变量的定义格式// 数据类型 变量名 = 初始值;// 初始值可有可无int a;	// 定义整型变量achar ch = 'a';	// 定义字符变量ch,并将字符a作为初始值赋值给chfloat f = 3.14f;		// 定义单精度小数变量f,并将3.14作为初始值赋值给f
}

但是在Python中的变量与C/C++中有些许区别,在Python中我们不需要表明变量的数据类型,而是通过初始化的值来指明变量的数据类型:

# 变量——变量的创建
# 创建格式
# 变量名 = 初始值
a = 1   # 定义整型变量a,并将整数1作为初始值赋值给a
b = 'a'     # 定义字符串型变量b,并将字符串'a'作为初始值赋值给b
c = 1.0     # 定义浮点型变量c,并将小数1.0作为初始值赋值给c

变量之所以被称为变量,就是因为我们可以在后续的使用过程中来根据自己的需求对变量的值进行修改,这里我就不再继续展开。

3.2 变量的命名

在计算机语言中,对于变量的命名有着一些硬性规则:

  1. 变量名必须由数字,字母,下划线构成;
  2. 在变量名中数字不能作为开头且变量名中不能包含特殊符号;
  3. 变量名不能和Python中的关键字重名;
  4. 变量中要严格区分大小写;

这四条规则对任何语言都是适用的,这里我以我们熟悉的C/C++举例:

// 变量——变量的命名
void test5() {// 通过字母进行命名——字母需要严格区分大小写int a = 1;int A = 2;// 通过字符和数字进行命名——字母必须在前int a1 = 3;// 通过下划线和数字进行命名——下划线必须在前int _1 = 6;// 通过字母和下划线命名int a_ = 4;int _a = 5;// 通过字母、下划线和数字进行命名int a1_ = 7;int a_1 = 8;int _a1 = 9;int _1a = 10;
}

这里我们安装硬性规则定义了10个变量,下面我们来测试一下,看是否能够成功打印这些变量:

变量的命名
从测试结果中可以看到,此时这10个变量都定义成功,并且都是独立的变量。

在C/C++中我们学过了很多关键字,这里以我们非常熟悉的if为例,如果此时我想定义一个叫if的变量,那肯定是会失败的,如下所示:

变量的命名2
当我们创建一个if变量时,VS所报的错误为语法错误,VS优先执行的是由关键字if组成的条件语句,而不是int的变量定义;

在Python中if同样也是条件语句的关键词,如果此时我们定义一个同名变量,又会发生什么问题呢?
变量的命名3
可以看到,此时同样是报错的语法错误,也就是说,在Python中的定义变量时,如果变量与关键字重命了,程序同样也会优先执行关键字的功能。

3.2.1 关键字

由上例可知,我们在定义变量时一定要注意不能与关键字重名。这时可能就有朋友会问了,在Python中有哪些关键字呢?这个问题我们可以直接通过代码来获取:

# 关键字
import keyword
print(keyword.kwlist)
# [
# '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'
# ]

通过import关键字来引入keyword模块,再将模块中的关键字列表kwlist打印出来即可获取到下面的这些关键字。从这些关键字中,我们可以看到很多我们比较熟悉的关键字:

# 'False', 'True', 'assert', 'break', 'class', 
# 'continue', 'else', 'for', 'if', 'return', 'while'

但是这些关键字是否与我们所熟知的关键字的功能一致,目前我们还无从得知,随着后面学习的深入我们会慢慢的接触到这些关键字的用法,这里就不再继续展开。


当我们在给变量进行命名时,我们还需要了解一下变量命名的软性规则:

  1. 给变量命名时,尽量用能够描述变量含义的单词来表示。
    • 如:记录数量可以使用count、记录总和可以使用sum……
  2. 当我们使用1个单词描述不清楚时,可以使用多个单词来命名,不怕变量名字长,而怕变量的含义表达的不清楚~

从这两点规则我们不难看出,我们在进行编程的过程中如果将变量的名字取好,那对于我们理解代码会提供帮助,换句话说,在进行变量命名时我们需要考虑通过变量的名字来提高代码的可读性。

当我们通过软性规则来给变量进行命名时,我们可以使用两种命名方法:

  1. 驼峰命名法:除了第一个单词的首字母之外,后序每个单词的首字母都大写~
  2. 蛇形命名法:单词之间使用下划线来进行分割

如下所示:

# 变量——变量的命名
count = 0   # 记录数量时将变量命名为count
countNum = 0    # 驼峰命名法——该变量用于记录数字的数量
student_id = 0  # 蛇形命名法——该变量用于记录学生的学号

相信大家现在应该都能理解如果给变量命名以及给变量命名的方法了,常量与变量的知识点我们会在后续的学习过程中进一步拓展,这里就不再继续展开了。

结语

今天的内容到这里就全部结束了,在下一篇内容中我们将介绍Python中的数据类型的相关内容,大家记得关注哦!如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【等保2.0是什么意思?等保2.0的基本要求有哪些? 】

一、等保2.0是什么意思? 等保2.0又称“网络安全等级保护2.0”体系,它是国家的一项基本国策和基本制度。在1.0版本的基础上,等级保护标准以主动防御为重点,由被动防守转向安全可信,动态感知,以及事前、事中…

【Python基础篇】一篇文章入门Python,进入Python的世界

文章目录 0.前言1.打印(Hello,World)2.创建变量3.打印升级3.1 打印一句话中间加变量3.2 sep设置分隔符3.3 end和换行 4. 注释 0.前言 大家好,我是小辰,前几天做了个重大的决定,学习python。 首先&#xff0…

Docker部署ETCD 3.5.14(保姆级图文教程)

系列文章目录 Docker部署Nginx 1.21.5(保姆级图文教程) Docker部署MySQL 8.3.0(保姆级图文教程) Docker部署ETCD 3.5.14(保姆级图文教程) 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 ETCD 镜像…

人工智能在软件开发中的角色:助手还是替代者?

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【FDTD Solutions(时域有限差分)仿真技术与应用】

FDTD Solutions(时域有限差分)是一种基于时域有限差分方法的电磁场仿真技术。它是一种数值计算方法,用于解决Maxwell方程组,能够模拟电磁波的传播和相互作用。 FDTD Solutions的原理是将空间分割成网格,并在每个网格点…

MySQL视图教程(04):显示视图

文章目录 MySQL显示视图语法使用场景示例 MySQL显示视图 MySQL 是一种流行的关系型数据库管理系统,可以用于创建和管理数据库中的表、视图等对象。视图是一种虚拟表,可以从一个或多个实际表中检索数据,并根据特定的需求进行过滤、排序和计算…

Shiro框架1

入门概述 1 权限的管理 1.1 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权(被赋予权限)的…

Python--线程基础

相关概念 线程是"轻量级进程",是计算机中CPU进行任务调度的最小单位。 线程属于进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,且至少有一个线程。 每个进程开始的创建的时候,都会随之创建一个主线程。 进程负责分配和隔离资源(CPU, 内存…

版本控制系统:Git 纯应用(持续更新)

基本操作 ctrl上行键:上次代码 本地仓库:Git init 新建文件:touch xxxx.xxx 查看状态:Git status 文件从工作区——暂存区:Git add ./文件名(.是通配符代表所有) 暂存区——仓库:Git commit -m &…

PLC边缘网关在实际应用中的作用-天拓四方

随着工业自动化的快速发展,PLC已成为工业自动化领域中不可或缺的核心设备。然而,随着工业物联网的兴起,PLC设备面临着数据集成、远程监控以及安全性等方面的挑战。为了解决这些问题,PLC边缘网关应运而生,它作为连接PLC…

极简通俗VAE

一、VAE 背景:VAE什么变分自编码器,听起来起名都头大,用大白话告诉你。 把一个复杂图片压缩成两个参数,用这个参数采样再复原。 这个简单的东西是两个参数,均值和方差,用(0,1&…

Idea-Idea配置gitIgnore忽略文件

背景 在项目提交到Git过程中,总有一些文件,例如.idea和.iml等这些我们不想提交的,直接添加进入gitIgnore文件中自动忽略掉。 Idea安装插件 1、在File->Setting->Plugins中搜索gitIgnore并安装插件 2、项目右键new->.ignore File-…

企业LoRA模型定制服务

🌈 最强AI绘画模型训练、定制服务公司出炉 —— 触站AI,设计界的智能魔法师 🧙‍♂️ 🎨 触站AI,用智能技术解锁设计的无限可能 🎨在创意与科技交织的今天,触站AI以其AI绘画模型训练和定制服务…

交易时你是否会考虑多种观点呢?

在交易过程中,考虑多种观点并融入多元化分析,是提升交易决策质量和最终交易结果的关键因素之一。 单一观点或分析方法往往容易受到个人偏见、情绪或信息局限性的影响。通过引入多元化分析,我们可以从不同角度审视市场,减少因主观…

iPhone苹果手机怎么取消腾讯视频VIP会员自动续费?

腾讯视频会员分为VIP(同时在线设备5台、同时播放设备2台;)和SVIP(同时在线设备8台、同时播放设备3台;),在iPhone苹果手机上开通腾讯视频连续包月、包季、包年后,需要手动取消才能关闭…

linux centos tomcat 不安全的HTTP请求方法

1、页面查看 2、在linux主机可使用此命令查看 curl -v -X OPTIONS http://实际地址 3、进入tomcat conf目录vim web.xml&#xff0c;增加以下内容 <!-- close insecure http methods --> <security-constraint><web-resource-collection><web-resource…

从零到一:全面掌握模板机部署与虚拟机克隆的实训指南【实训Day01】

一、模板机的部署 1.设置好子网ip和子网掩码以及网关 保证有NAT模式 子网IP着重记住前三段&#xff1a;192.168.222.xxx 2.开始建立虚拟机 注意&#xff1a;路径中不要有中文 3.安排8个内核 4.安排2GB内存 创建初步成功&#xff0c;接着 5.开启此虚拟机 6.选择中文 7.日期&…

【计算机网络】计算机网络的分类

计算机网络的分类 导读一、按分布范围分类1.1 广域网&#xff08;WAN&#xff09;。1.2 城域网&#xff08;MAN&#xff09;1.3 局域网&#xff08;LAN&#xff09;1.4 个人区域网&#xff08;PAN&#xff09;1.5 多处理器系统 二、按传输技术分类2.1 广播式网络2.2 点对点网络…

统信UOS+银河麒麟系统开发、运维使用技巧与疑难问题解决经验

文章目录 1.开发运维常用技巧1.1 设置root密码1.2 安装g编译器1.3 系统无法登录进入命令行终端1.4 开机启动ssh服务1.5 查看显卡GPU使用率1.5.1 AMD显卡查看GPU使用率1.5.2 景嘉微显卡1.5.3 英伟达显卡 1.6 OpenGL接口版本查看1.6.1 查看OpenGL接口版本1.6.2 查看OpenGL ES接口…

LaySNS模板仿RiPro日主题素材源码资源下载响应式CMS模板

LaySNS模板仿RiPro日主题素材源码资源下载响应式CMS模板&#xff0c;该主题是网上泛滥的RiPro主题仿制而成的laysns模板&#xff0c;原主题是很强大的。 全站功能是通过ajax响应实现的&#xff0c;另外就是网上流传得比较多的是美化版。 主要说明&#xff1a;付费/回复下载功…