当前位置: 首页 > news >正文

Python变量

一、变量的定义

  1. 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 Python 标识符命名规范。
## 常用的命名规范有以下几种:
1. 变量名为单个单词的话全部小写
name = "张三"
2. 多个单词组成的话,多个单词也都是全部小写再用 _ 拼接在一起
host_name = "localhost"
3. 单词加数字的组合
name1 = "李四"## 不合规的命名格式
1. 不能以数字开头
1name = ""
2. 不能使用保留字作为标识符
global = ""
3. 不能包含空格、@、% 以及 $ 等特殊字符
$name = ""## 一些特殊的命名格式
1.以单下划线开头的标识符,表示不能直接访问的类属性,其无法通过 from...import* 的方式导入
_name = ""
2.以双下划线开头的标识符表示类的私有成员,无法在类的外部调用
__name = ""
3.以双下划线作为开头和结尾的标识符是专用标识符。
__name__ == '__main__'
4.允许使用汉字作为标识符,尽量不要使用
姓名 = ""
  1. 变量的声明:Python 是弱类型的语言,在定义变量的时候,无须像强类型语言(C语言、C++、Java )等在定义变量的时候必须先指定变量的数据类型,Python 可以直接赋值。
## Java定义变量
int n = 10;## Python定义变量
n = 10
  1. 变量的赋值:Python 使用等号 = 作为赋值运算符,变量的值一旦被修改,之前的值就被覆盖掉。
1.将10赋值给变量n
n = 10
2.变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可
n = 20
3.可以将不同类型的数据赋值给同一个变量
n = "hello"
4.除了赋值单个数据,还可以将表达式的运行结果赋值给变量
n = 10 + 20

二、变量的数据类型

  1. 整数类型(int):包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,例如Java语言提供了 short、int、long。而 Python 则不同,它的整数不分类型,或者说它只有一种int类型的整数,整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
## 将0赋值给变量num
num = 0
## 将一个很大的值赋值给变量num
num = 99999999999999999
## 将一个很小的值赋值给变量num
num = -9999999999999999
  1. 小数类型(float):Python 只有一种小数类型,就是 float。Java语言有两种小数类型,分别是 float 和 double。
##  十进制形式
f1 = 2.5
f2 = 0.1256584## 指数形式,aEn 或 aen,a 为尾数部分,是一个十进制数;n 为指数部分,是一个十进制整数;
## E或e是固定的字符,用于分割尾数部分和指数部分。
f3 = 2.5e4
  1. 复数类型(complex):由实部(real)和虚部(imag)构成,在 Python 中,复数的虚部以j或者J作为后缀。
## 复数格式: a + bj   a 表示实部,b 表示虚部。
c1 = 2 + 0.2j
c2 = 5 - 0.5j
#对复数进行简单计算
print("c1+c2: ", c1+c2)
print("c1*c2: ", c1*c2)
## 运行结果:
c1+c2:  (7-0.3j)
c1*c2:  (10.1+0j)
  1. 字符串(string):若干个字符的集合就是一个字符串,字符串必须由双引号" "或者单引号’ '包围。
1.对字符串中包含的单引号' 或者双引号" 需要使用反斜杠\进行转义
str = 'I\'m ok!'2.使用不同的引号包围字符串
str = "I'm ok!"3.要想换行书写一个比较长的字符串,必须在行尾添加反斜杠\
str = "hello" \"I'm ok!"4.表达式的换行也需要在行尾添加反斜杠\
num = 2 + 8 / 4 + \2 * 55.长字符串由三个双引号"""或者三个单引号'''包围的话,行尾不需要加\,且长字符串中的换行、空格、缩进等空白符都会原样输出
str = """hello
I'm ok!"""6.在普通字符串或者长字符串的开头加上r前缀,就变成了原始字符串
str = r'D:\Program Files\Python'7.原始字符串中的反斜杠仍然会对引号进行转义,因此原始字符串的结尾处不能是反斜杠
str = r'D:\Program Files\Python\'  ## 这样写编译就会报错,字符串结尾处的引号会被转义,导致字符串不能正确结束
str = r'D:\Program Files\Python' '\\'  ## 先写了一个原始字符串,紧接着又使用'\\'经过转义后得到\字符,最后将两者拼接在一起
  1. 字节串(bytes):只负责以字节序列的形式(二进制形式)来存储数据,bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程,还可以用来存储图片、音频、视频等二进制格式的文件。
1.创建空 bytes
b1 = bytes()   或者通过空字符串  b2 = b''2.通过b前缀将字符串转换成 bytes
b3 = b'hello world'3.通过 bytes() 方法并指定字符集将字符串转换成 bytes
b4 = bytes('hello world', encoding='UTF-8')4.通过 encode() 方法并指定字符集将字符串转换成 bytes
b5 = "您好!".encode('UTF-8')5.通过 decode() 方法将 bytes 对象转换为字符串
str = b5.decode('UTF-8')
  1. 布尔类型(bool):用来表示真(对)或假(错),如果这个事情是正确的,用 True(或 1)代表;如果这个事情是错误的,用 False(或 0)代表。
1.用于比较两个数的大小的结果
>>> 2>1
True
>>> 2>5
False2.当作整数使用(尽量不要这么使用)
>>> False+1
1
>>> True+1
2
  1. 数据类型转换:Python 已经为我们提供了多种可实现数据类型转换的函数。
1.将 x 转换成整数类型
num = int(x)
2.将 x 转换成浮点数类型
f1 = float(x)
3.将 x 转换为字符串
str1 = str(x)
4.将整数 x 转换为一个字符
c1 = chr(x)
5.将一个字符 x 转换为它对应的整数值
n2 = ord(x)
6.将一个整数 x 转换为一个十六进制字符串
str2 = hex(x)
7.将一个整数 x 转换为一个八进制的字符串
str3 = oct(x)
  1. 格式化字符串:通常使用以%开头的占位符对各种类型的数据进行格式化输出。常用的转换说明符有:
    (1)%d、%i:将被十进制整数替换;
    (2)%o:将被八进制整数替换;
    (3)%x、%X:将被十六进制整数替换;
    (4)%s:将被字符串替换;
    (5)%f、%F:将被十进制浮点数替换;
    (6)%e:将被科学计数法表示的浮点数(e 小写)替换;
    (7)%E:将被科学计数法表示的浮点数(E 小写)替换;
1.将格式化字符串中的占位符,替换成变量的值
age = 18
print("I'm %d years old!" % age)  ## 双引号中的是要格式化输出的字符串,后面的 % 是分隔符,分隔符后面的是表达式2.格式化字符串中也可以包含多个占位符,这个时候也得提供多个表达式,多个表达式必须使用小括号( )包围起来
name = "小米"
age = 18
addr = "中国深圳"
print("%s已经%d岁了,他家在%s。" % (name, age, addr) )3.指定最小输出宽度,在占位符的%后面加上指定的宽度数
str = "abcde"
print("最小输出宽度指定为3: %3s" % str)
print("最小输出宽度指定为10: %10s" % str)
注意:
这里当数据的实际宽度小于指定宽度时,会在左侧以空格补齐;当数据的实际宽度大于指定宽度时,会按照数据的实际宽度输出。4.指定对齐方式,在占位符的%后面加上指定的对齐标志符:
- 代表左对齐;
+ 代表数字总要带着符号;
0 代表宽度不足时补充 0,而不是补充空格。
## 最小宽度为8,左对齐,带上符号,宽度不足时补充 0
n = 12345
print("最小宽度为8,左对齐,带上符号,宽度不足时补充0: %-+08d" % n)5.指定小数精度,在小数的 . 后面加上小数的精度数
f = 3.1415926
## 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
  1. 转义字符:以反斜杠\开头的字符,\ 的作用主要是将普通含义的字符转换成特殊含义字符或者将一些有特殊含义的字符转换成普通的字符输出,常见的转义字符有:
    (1) \n:换行符,将光标位置移到下一行开头。
    (2) \r:回车符,将光标位置移到本行开头。
    (3) \t:水平制表符,也即 Tab 键,一般相当于四个空格。
    (4) \b:退格(Backspace),将光标位置移到前一列。
    (5) \\:反斜线。
    (6) \':单引号。
    (7) \":双引号。
    (8) \:在字符串行尾的续行符,即一行未完,转到下一行继续写。

相关文章:

Python变量

一、变量的定义 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 Python 标识符命名规范。 ## 常用的命名规范有以下几种: 1. 变量名为单个单词的话全部小写 name "张三" 2. 多个单词组成的话&#…...

准备换工作的看过来~

大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…...

免费AI人工智能在线写作伪原创-百度ai自动写文章

免费伪原创洗稿工具 免费伪原创洗稿工具现在终于推出了!你是否在写作的时候,经常因为缺乏灵感而苦恼?或者,你在撰写文章的时候,发现自己的语言表述不够丰富,缺乏变化,语句重复率太高&#xff1f…...

互联网摸鱼日报(2023-04-21)

互联网摸鱼日报(2023-04-21) InfoQ 热门话题 3年不用云能节省4亿美元!想知道我们为什么敢不用AWS吗? 华为周红:通过行业大模型促进AI价值创造 建设业务规划、交付和反馈闭环| BizDevOps 公开课 云原生时…...

5.3、web服务器简介HTTP协议

代码地址 5.3、web服务器简介HTTP协议 1.Web-Server(网页服务器)2.HTTP协议(应用层的协议)①简介②概述③工作原理④HTTP请求报文格式⑤HTTP响应报文格式⑥HTTP请求方法⑦HTTP状态码 1.Web-Server(网页服务器) 一个 Web Server …...

【观察】华为:新一代楼宇网络,使能绿建智慧化

“碳达峰”、“碳中和”目标是我国生态文明建设和高质量可持续发展的重要战略安排,将推动全社会加速向绿色低碳转型。作为全球既有建筑和每年新建建筑量最大的国家,大力发展绿色建筑对中国全方位迈向低碳社会、实现高质量发展具有重要意义。 《“十四五”…...

【C# .NET】chapter 13 使用多任务改进性能和可扩展性

目录 一、物理内存和虚拟内存使用(Recorder 类) 二、 对比 string的“”操作与stringbuilder 操作 的处理效率,内存消耗情况, 三、异步运行任务、三种启动任务方法、将上一任务方法处理结果作为参数传给下一任务方法 四、嵌套…...

CA(证书颁发机构)

CA 根证书路径/csk-rootca/csk-ca.pem; ~ 签发数字证书,颁发者信息:(仅包含如下信息) C CN ST China L BeiJing O skills OU Operations Departments CN CSK Global Root CA 1.修改证书的路径以及相关配置 vi /etc/pki/tls/op…...

辛弃疾最有代表性的十首词

辛弃疾的词,风格多样,题材广阔,几乎涉及到生活中的各个方面,从爱国情怀到日常生活,甚至连戒酒这种事都能写入词中。辛弃疾也是两宋词人中,存词最多的作家之一,现存的六百多首作品。 辛弃疾的词…...

MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能

实验环境:MC9S12G128开发板 基本功能:控制开发板上的按键,模拟车辆移动的上下左右四个方位,通过can通信告诉上位机界面,车辆轨迹的移动方位。 1. 1939报文发送的示例代码 MC9S12G128开发板1939协议发送can报文数据的…...

尚融宝22-提交借款申请

目录 一、需求介绍 二、图片上传 (一)前端页面 (二)实现图片上传 三、数据字典展示 (一)后端 (二)前端 四、表单信息提交 (一)后端 1、VO对象&…...

机器学习在生态、环境经济学中的实践技术应用及论文写作

近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…...

Android硬件通信之 WIFI通信

一,简介 1.1 随着网络的普及和通信技术的发展,网络的传输速度也越来越快,wifi技术也还成为手机设备最基本的配置。我们可以通过wifi实现手机与手机之前的信息传输,当然也可以与任意一台有wifi模块的其它设备传输。 1.2 wifi与蓝…...

面试官:“请描述一下Android系统的启动流程”

作者:OpenGL 前言 什么是Android启动流程呢?其实指的就是我们Android系统从按下电源到显示界面的整个过程。 当我们把手机充好电,按下电源,手机会弹出相应启动界面,在等了一段时间之后,会弹出我们熟悉的主…...

k8s delete node 后 重启kubelet会自己加入到集群 ?

原因 当执行kubectl delete node命令时,Kubernetes API服务器会收到该节点的删除请求,并将其从集群中删除。此时,kubelet服务在该节点上仍然在运行,但已经不再与集群通信。 当您重启kubelet服务时,它会重新向API服务…...

REXROTH液压方向阀安装须知

安装规程 阀安装到系统之前,应该对照订货型号比较其型号说明。 确认阀的连接表面和底板无水分,没有油。 - 清洁: ‧ 安装元件时,确认工业阀和周围干净 ‧ 油箱须密闭,以防止外部污染 ‧ 安装之前&…...

【数据结构实验】哈夫曼树

【数据结构实验】哈夫曼树 简介: 为一个信息收发站编写一个哈夫曼码的编/译码系统。文末贴出了源代码。 需求分析 完整的系统需要具备完整的功能,包含初始化、编码、译码、印代码文件和印哈夫曼树,因此需要进行相应的文件操作进行配合。哈…...

浏览器不好用?插件来帮忙

一、目的 浏览器本身具备的功能并不完善,不同的用户可以为自己浏览器增加想要功能,使得浏览器更能符合自己的需求,提高浏览器使用的舒适度 二、推荐插件 AdblockPlus LastPass(密码记录,全平台通用) Dar…...

Qt Quick - 容器控件综述

Qt Quick - 容器控件综述 一、概述二、ApplicationWindow Control三、Frame Control四、GroupBox Control五、Page Control六、Pane Control七、ScrollView Control八、StackView Control九、SwipeView Control十、TabBarControl十一、ToolBar控件 一、概述 Qt Quick Controls…...

面试题30天打卡-day06

1、什么是反射机制?说说反射机制的优缺点、应用场景? 反射机制:Java的反射机制是在运行状态,对于任意一个类,都能够动态的获得这个类的属性和方法;对于一个对象,都能动态的调用它当中的方法和属…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...