Python变量
一、变量的定义
- 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 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.允许使用汉字作为标识符,尽量不要使用
姓名 = ""
- 变量的声明:Python 是弱类型的语言,在定义变量的时候,无须像强类型语言(C语言、C++、Java )等在定义变量的时候必须先指定变量的数据类型,Python 可以直接赋值。
## Java定义变量
int n = 10;## Python定义变量
n = 10
- 变量的赋值:Python 使用等号
=作为赋值运算符,变量的值一旦被修改,之前的值就被覆盖掉。
1.将10赋值给变量n
n = 10
2.变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可
n = 20
3.可以将不同类型的数据赋值给同一个变量
n = "hello"
4.除了赋值单个数据,还可以将表达式的运行结果赋值给变量
n = 10 + 20
二、变量的数据类型
- 整数类型(int):包括正整数、0 和负整数。有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,例如Java语言提供了 short、int、long。而 Python 则不同,它的整数不分类型,或者说它只有一种int类型的整数,整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
## 将0赋值给变量num
num = 0
## 将一个很大的值赋值给变量num
num = 99999999999999999
## 将一个很小的值赋值给变量num
num = -9999999999999999
- 小数类型(float):Python 只有一种小数类型,就是 float。Java语言有两种小数类型,分别是 float 和 double。
## 十进制形式
f1 = 2.5
f2 = 0.1256584## 指数形式,aEn 或 aen,a 为尾数部分,是一个十进制数;n 为指数部分,是一个十进制整数;
## E或e是固定的字符,用于分割尾数部分和指数部分。
f3 = 2.5e4
- 复数类型(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)
- 字符串(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' '\\' ## 先写了一个原始字符串,紧接着又使用'\\'经过转义后得到\字符,最后将两者拼接在一起
- 字节串(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')
- 布尔类型(bool):用来表示真(对)或假(错),如果这个事情是正确的,用 True(或 1)代表;如果这个事情是错误的,用 False(或 0)代表。
1.用于比较两个数的大小的结果
>>> 2>1
True
>>> 2>5
False2.当作整数使用(尽量不要这么使用)
>>> False+1
1
>>> True+1
2
- 数据类型转换: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)%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)\n:换行符,将光标位置移到下一行开头。
(2)\r:回车符,将光标位置移到本行开头。
(3)\t:水平制表符,也即 Tab 键,一般相当于四个空格。
(4)\b:退格(Backspace),将光标位置移到前一列。
(5)\\:反斜线。
(6)\':单引号。
(7)\":双引号。
(8)\:在字符串行尾的续行符,即一行未完,转到下一行继续写。
相关文章:
Python变量
一、变量的定义 变量名的命名规范:变量名是标识符的一种,变量名不能随便起,要遵守 Python 标识符命名规范。 ## 常用的命名规范有以下几种: 1. 变量名为单个单词的话全部小写 name "张三" 2. 多个单词组成的话&#…...
准备换工作的看过来~
大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到理想…...
免费AI人工智能在线写作伪原创-百度ai自动写文章
免费伪原创洗稿工具 免费伪原创洗稿工具现在终于推出了!你是否在写作的时候,经常因为缺乏灵感而苦恼?或者,你在撰写文章的时候,发现自己的语言表述不够丰富,缺乏变化,语句重复率太高?…...
互联网摸鱼日报(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对象&…...
机器学习在生态、环境经济学中的实践技术应用及论文写作
近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据…...
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的反射机制是在运行状态,对于任意一个类,都能够动态的获得这个类的属性和方法;对于一个对象,都能动态的调用它当中的方法和属…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
Visual Studio Code 扩展
Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后,命令 changeCase.commands 可预览转换效果 EmmyLua…...
