python笔记2

变量:含义
一个容器,计算机当中的存储空间。
可以理解为一个用于标识或引用数据的名字或标签。

 作用:
可以通过定义一个变量来给需要使用多次的数据命名,就像一个标签一样。下次需要使用这个数据时,只需要通过这个变量名就可以直接提取,大大提高了效率。

基本格式:
变量=数据(值)
直接给变量赋值
# num = 100   # 将数据100保存到变量num中
# print(num)
将一个变量的值赋给另一个变量
# num2 = num
# print(num2)
将运算结果赋给变量
# result = num + num2
# print(result)

注意:print("xxx")和print(xxx)的区别
# print(num)   # NameError: name 'num' is not defined. Did you mean: 'sum'?
不加引号,被识别为变量名。任何变量在使用之前都必须先被赋值,因为只有在赋值之后,该变量才会被创建,之后才能被程序识别和使用。
# print("num")
加上引号,会被视为字符串类型的数据,数据可以直接被输出或使用的。

同一个变量可以被反复赋值
# money = 100
# print(money)  结果是100
# money = money - 50
# print(money)   结果是50

# a = 1
# a = 5
# a = 10
# print(a)    结果是10
# 代码遵循自上而下逐行执行的顺序。

序列赋值
# 变量名1, 变量名2, 变量名3, ..., 变量名n = 值1, 值2, 值3, ..., 值n

标识符:含义
在Python中,标识符用于给变量、函数、类或其他对象命名。

标识符规定[必须遵守,否则会报错]
   只能由数字、字母、_(下划线)组成
# user_name1 = "lzy"
# print(user_name1)

# user name = "lzy"    # SyntaxError: invalid syntax  变量名中有空格
注意:
① Python允许使用中文命名标识符,但出于代码规范性和可读性的考虑,通常不推荐这样做
#姓名 = "lzy"
#print(姓名)

② 给标识符外加括号通常不会导致语法错误,因为括号本身不会对标识符产生直接影响
# (name) = "lzy"
# print((name))  结果是lzy
# print(name)   结果是lzy
# (user)name = "lzy"    # SyntaxError: invalid syntax

- 不能以数字开头
这确保了标识符的开头能够清晰的表明其是一个标识符,而不是一个具体的数据.
# _name1 = "lzy"
# print(_name1)

# 1stu = 1    # SyntaxError: invalid decimal literal

- 不能是关键字
关键字:已经预定义并赋予特殊功能和含义的标识符. 当在Pycharm中输入关键字时,它们的字体颜色通常会发生变化,以便于开发者识别和区分.


# False = 1   # SyntaxError: cannot assign to False

 - 严格区分大小写
Python是大小写敏感的编程语言.

# myVar = 1
# MyVar = 2
# MYVAR = 3
# print(MyVar)  结果是1
# print(myVar) 结果是2
# print(MYVAR) 结果是3
# 在定义和使用标识符时,必须精确匹配其大小写.

变量的命名规范
[旨在提升代码的可读性\可维护性和团队协作的效率,不具备绝对的强制性,但是被视为一种良好的编程习惯,强烈推荐并尽量遵循]
1) 见名知意
变量名应具有描述性,能够清晰的表达变量的用途或所存储的数据类型.
# name = "lzy"  #名字
# print(name)

# age = 18  #年龄

2) 下划线分割法(Python中常用的变量命名方式)
# 变量名中的每个单词都用_(下划线)来连接
# user_name = "lzy"
# employee_id = 1

3) 大驼峰命名法(Python中常用的类命名方式)
# 变量名中的每个单词首字母都大写,不使用下划线
# UserName = "lzy"
# EmployeeId = 1

4) 小驼峰命名法
# 变量名中的第一个单词首字母小写,从第二个单词开始每个单词的首字母大写,其余字母小写,不使用下划线.
# userName = "lzy"
# employeeId = 1

简单的数据类型
数值类型
1) 整型 int
用于存储任意大小的整数
# age = 18
# print(age)
检测数据的数据类型:type(要检测的数据)
# print(type(age))    <class 'int'>


整型可以表示非常大/小的数
# num = -1000
# print(num, type(num))   结果-1000  <class 'int'>

2) 浮点型 float
用于存储带有小数部分的数值.
定义浮点型变量
# height = 1.83
# print(height, type(height))   结果 1.83 <class 'float'>

浮点型可以非常大或非常小
# num = 1234567890123456789012345.0
# print(num, type(num))   
结果1.2345678901234568e+24 表示1.2345678901234568乘以10的24次方

3) 布尔型 bool
只有两个明确且固定的值:True(真) False(假),它通常用于逻辑判断\条件控制等编程场景.
# v1 = True
# print(v1, type(v1))  结果是 True <class 'bool'>

# v2 = False
# print(v2, type(v2)) 结果 False <class 'bool'>

注意:① 布尔类型的数据值True和False是严格区分大小写的.
# print(type(False))   # <class 'bool'>
# print(type(false))   # 标识符/变量名《====这里会报错

② 布尔值在需要时可以被隐式地转换为整型(int),其中True被当作整数1处理,而False被当作整数0处理,这种隐式转换在参与数学运算\进行条件判断以及循环控制等场景中非常有用.
# print(True + 2)    # True 被当作 整数1 处理  结果是3
# print(False - 3)   # False 被当作 整数0 处理 结果是-3

4) 复数型 complex  --了解
是一个基础性的数学概念,由实部和虚部组成
广泛应用于数据计算领域.

定义复数型变量
# c = 2 + 3j       # j(或J)在复数中作为固定地虚数单位,不可更改
# print(c, type(c))   结果是(c=2+3j) <class 'complex'>

字符串 str
以单引号\双引号或三引号界定的数据,用于存储和表示文本信息,其中三引号特别适用于包含多行内容的字符串.
定义字符串类型的数据
(1)使用单引号
# s = 'Hello World'
# print(s, type(s))   结果是Hello World <class 'str'>

(2)使用双引号
# s2 = "Hello World!"
# print(s2, type(s2))   结果是Hello World! <class 'str'>

(3)使用三引号(多行字符串)
# s3 = '''这是一个
多行字符串'''
# print(s3, type(s3))   结果是 这是一个
                                                多行字符串  <class 'str'>

使用三引号(另一种形式)
# s4 = """这也是一个
多行字符串"""
# print(s4, type(s4))      结果是 这也是一个
                                                多行字符串  <class 'str'>

格式化输出:含义
通过将值插入字符串占位符来生成格式化的字符串,让数据更加清晰\易读,并符合特定格式.

实现方式
1) % 操作符
# name = "lzy"
# age = 18
# 输出: lzy今年18岁了!
# print(name, "今年", age, "岁了!", sep="")
# print("%s今年%d岁了!" % (name, age))

2) str.format()
# name = "lzy"
# age = 18
# print("{}今年{}岁了!".format(name, age))

3) f-string
# f-string是Python 3.6版本中引入的一种新的字符串格式化方法.它们提供了一种简洁\直观且性能优异的方式来嵌入变量和表达式的值到字符串中,该方法简单易读.
① 基本使用
# f-string通过在字符串前加上f或F来标识,并允许在字符串中直接嵌入表达式.
表达式被大括号{}包围,其计算结果将被转换为字符串并插入到相应的位置.
# name = "lzy"
# age = 18
# 输出:lzy今年18岁了!
# print(f"{name}今年{age}岁了!")
# print(F"{name}今年{age}岁了!")


② 支持表达式
# f-string支持在字符串中嵌入任意的Python表达式,包含函数调用\算术运算\属性访问等.
# n1 = 3
# n2 = 4
# 输出:3 * 4 = 12  3 + 4 = 12
# print(f"{n1} * {n2} = {n1 * n2}")     
# print(f"{n1} + {n2} = {n1 + n2}")


③ 设置整数位数
# 对于整数,可以设置其显示的最小宽度,并使用0或空格作为填充字符来达到这个宽度.
# sid = 1
# 输出:我的学号:001
# print(f"我的学号:{sid:3d}")    # 3d:表示3位数,不足默认前面补空格   我的学号:  1
# print(f"我的学号:{sid:03d}")   # 03d:表示3位数,不足默认前面补0  我的学号:001

④ 保留小数精度
# 对于浮点数,可以通过指定小数点后的位数来保留精度.
# pi = 3.141592653589793
# print(f"pi保留两位小数:{pi:.2f}")   # .2f:保留2位小数,超出2位小数则遵循四舍五入规则  pi保留两位小数:3.14

# num = 3.14
# print(f"num保留4位小数:{num:.4f}")   # .4f:保留4位小数,不足4位小数则后面补0   num保留4位小数:3.1400

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

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

相关文章

【算法】动态规划

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 持续更新中...1、常规动态规划Fibonacci数列杨辉三角最小花费爬楼梯孩子们的游戏 2、背包问题3、最长公共子序列4、最长递增子序列…

ECU BootLoader开发——Flash编程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

NetLink内核套接字案例分析

一、基础知识 Netlink 是 Linux 系统中一种内核与用户空间通信的高效机制&#xff0c;而 Netlink 消息是这种通信的核心载体。它允许用户态程序&#xff08;如网络配置工具、监控工具&#xff09;与内核子系统&#xff08;如网络协议栈、设备驱动&#xff09;交换数据&#xff…

Linux 配置静态 IP

一、简介 在 Linux CentOS 系统中默认动态分配 IP 地址&#xff0c;每次启动虚拟机服务都是不一样的 IP&#xff0c;因此要配置静态 IP 地址避免每次都发生变化&#xff0c;下面将介绍配置静态 IP 的详细步骤。 首先先理解一下动态 IP 和静态 IP 的概念&#xff1a; 动态 IP…

开源:LMDB 操作工具:lmcmd

目录 什么是 LMDB为什么编写 lmcmd安装方法如何使用 连接数据库命令列表 小结 1. 什么是 LMDB LMDB&#xff08;Lightning Memory-Mapped Database&#xff09;是一种高效的键值存储数据库&#xff0c;基于内存映射&#xff08;memory-mapping&#xff09;技术&#xff0c;提供…

进程管理:前后台切换

前后台切换 [rootxxx ~]# yum install -y xclock #安装xclock&#xff08;这里是用来解释前后台&#xff09; [rootxxx ~]# xclock -update 1 #前台运行&#xff08;如果把1改成2&#xff0c;就是秒针两秒走动一次&#xff09; [rootxxx ~]# xclock -update 1…

【CF】Day6——Codeforces Round 942 (Div. 2) BC + Codeforces Round 941 (Div. 2) C

B. Coin Games 题目&#xff1a; 思路&#xff1a; 虽然标签是博弈论&#xff0c;但我感觉更像一个找规律的思维题 由于题目告诉我们每次只能选U&#xff0c;那我们不妨来考虑选U会造成什么情况&#xff08;以下都为选中间U&#xff09; ①.UUU -3*U 此时选了U会导致两侧…

视频推拉流EasyDSS案例分析:互联网直播/点播技术与平台创新应用

随着互联网技术的快速发展&#xff0c;直播/点播平台已成为信息传播和娱乐的重要载体。特别是在电视购物领域&#xff0c;互联网直播/点播平台与技术的应用&#xff0c;不仅为用户带来了全新的购物体验&#xff0c;也为商家提供了更广阔的营销渠道。传统媒体再一次切实感受到了…

鸿蒙初级考试备忘

Module类型 Module按照使用场景可以分为两种类型&#xff1a; Ability类型的Module&#xff1a; 用于实现应用的功能和特性。每一个Ability类型的Module编译后&#xff0c;会生成一个以.hap为后缀的文件&#xff0c;我们称其为HAP&#xff08;Harmony Ability Package&#x…

【QT】文件系统相关 -- QFile

一、Qt 文件概述 &#x1f525; 文件操作是应用程序必不可少的部分。Qt 作为⼀个通用开发库&#xff0c;提供了跨平台的文件操作能力。Qt 提供了很多关于⽂件的类&#xff0c;通过这些类能够对文件系统进行操作&#xff0c;如文件读写、文件信息获取、文件制或重命名等 二、输…

EasyCVR安防视频汇聚平台助力工业园区构建“感、存、知、用”一体化智能监管体系

在现代工业园区的安全管理和高效运营中&#xff0c;视频监控系统扮演着不可或缺的角色。然而&#xff0c;随着园区规模的扩大和业务的复杂化&#xff0c;传统的视频监控系统面临着诸多挑战&#xff0c;如设备众多难以统一管理、数据存储分散、智能分析能力不足、信息利用率低下…

鸿蒙路由 HMrouter 配置及使用一

1、学习链接 HMRouter地址 https://gitee.com/hadss/hmrouter/blob/dev/HMRouterLibrary/README.md 2、工程配置 下载安装 ohpm install hadss/hmrouter 添加编译插件配置 在工程目录下的build-profile.json5中&#xff0c;配置useNormalizedOHMUrl属性为true (我这项目创…

Tcp网络通信的基本流程梳理

先来一张经典的流程图 接下介绍一下大概流程&#xff0c;各个函数的参数大家自己去了解加深一下印象 服务端流程 1.创建套接字&#xff1a;使用 socket 函数创建一个套接字&#xff0c;这个套接字后续会被用于监听客户端的连接请求。 需要注意的是&#xff0c;服务端一般有俩…

Nexus File类型Blob Stores迁移至Minio操作指南(下)

#作者&#xff1a;闫乾苓 文章目录 迁移步骤停止nexus3服务备份nexus原始数据修改Blob Stores中元数据文件中类型为s3将Blob Stores中的二进制构件文件数据复制s3&#xff08;minio&#xff09;存储修改OrientDB中相关Blob Stores的属性修复OrientDB的文件权限开启nexus3服务迁…

mapbox基础,使用线类型geojson加载symbol符号图层,用于标注文字

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️symbol符号图层样式1.4 ☘️line线图层…

《C语言中“输入魔法师”:scanf函数的奥秘与技巧》

&#x1f680;个人主页&#xff1a;fasdfdaslsfadasdadf &#x1f4d6;收入专栏&#xff1a;C语言 &#x1f30d;文章目入 一、引言二、scanf函数的基本语法三、格式说明符的种类及用法&#xff08;一&#xff09;整数输入&#xff08;二&#xff09;浮点数输入&#xff08;三&…

Quickwit+Jaeger+Prometheus+Grafana搭建Java日志管理平台

介绍 生产服务应用可观测性在当下比较流行的方案&#xff0c;其中出现了大量高性能、开箱即用、易上手的的开源产品&#xff0c;大大丰富了在可观测性领域产品的多样性&#xff0c;本文讲述基于OTLP协议推送Java项目遥测数据&#xff08;日志、指标、链路&#xff09;到后端存储…

Unity Timeline 扩展

这里认为大家已经会timeline的基本使用了&#xff0c;只介绍怎么自定义扩展。 第一步.自定义Track 首先要自定义一条轨道。剪辑是要在轨道里跑的&#xff0c;系统自带的轨道我们加不了自定义剪辑&#xff0c;得新建自己用的。这个很简单。 [TrackClipType(typeof(TransformTw…

文生图技术的演进、挑战与未来:一场重构人类创造力的革命

摘要 文生图&#xff08;Text-to-Image Generation&#xff09;技术作为生成式人工智能&#xff08;Generative AI&#xff09;的核心分支&#xff0c;正在以颠覆性力量重塑内容生产范式。本文系统梳理文生图技术从早期实验到多模态大模型的演进路径&#xff0c;分析其在设计、…

如何手动使用下载并且运行 QwQ-32B-GGUF

首先使用安装 pip install ModelScope 使用 ModelScope 下载对应的模型 modelScope download --model Qwen/QwQ-32B-GGUF qwq-32b-q4_k_m.gguf 第二步开始下载 ollama git clone https://githubfast.com/ggerganov/llama.cpp # githubfast.com 可以加速下载 切换到目录&am…