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

python 基础篇 day 1 初识变量和数据类型

文章目录

  • 变量
      • 变量作用——用于存储和表示数据。
      • 变量命名
          • 规则
          • 命名法
            • 大驼峰
            • 小驼峰
            • 下划体
            • n j i a x 通常作为临时变量使用
          • 建议
      • 变量种类
            • 全局变量(Global Variables)
            • 局部变量(Local Variables)
            • 静态变量(Static Variables)
            • 实例变量(Instance Variables)
            • 类变量(Class Variables)
            • 参数变量(Parameter Variables)
      • 变量使用
  • 数据类型
      • 数值类型(Numeric Types)
      • 字符串类型(String Type)
      • 布尔类型(Boolean Type)
      • 列表类型(List Type)
      • 元组类型(Tuple Type)
      • 字典类型(Dictionary Type)
      • 集合类型(Set Types)
      • 其他类型
      • 注意

变量

变量作用——用于存储和表示数据。

通过定义和使用变量,我们可以在程序执行过程中动态地保存和修改数据。

变量的作用包括但不限于以下几个方面:

  • 存储数据:变量可以用来存储各种类型的数据,包括数字、字符串、布尔值等。
  • 数据传递:变量可以作为参数传递给函数或方法,以便在不同的代码块之间共享数据。
  • 数据操作:变量可以参与各种运算操作,例如数学运算、字符串拼接、逻辑判断等。
  • 数据状态管理:变量可以用于跟踪和管理程序中的状态,例如计数器变量、标志变量等。

变量命名

合理的变量命名是编写清晰、易读和易于维护代码的重要因素。

规则
  • 变量的名字只能由字母 数字 下划线组成
  • 数字不能作为名称开头(支持中文变量名称)
  • 系统关键字不能作为变量名称
  • 变量名称对大小写敏感
命名法
大驼峰

每个单词的首字母都大写 面向对象才会用到

FirstName LastName LastNameData

小驼峰

第一个单词字母小写,后面的单词首字母大写

firstName lastName lastNameData

下划体

first_name last_name last_name_data

n j i a x 通常作为临时变量使用
建议
  • 使用使用有意义的名称:变量名应该反映其所代表的数据含义,更易读懂(见名知义)。
  • 遵循命名规范:通常使用小写字母和下划线来组成变量名,避免使用特殊字符和空格
  • 使用驼峰命名法:对于由多个单词组成的变量名,可以使用驼峰命名法(除首个单词外,后续单词的首字母大写
  • 遵循命名约定:在特定的编程语言或项目中,可能有特定的命名约定和惯例,应遵循并统一使用。

变量种类

常见的变量种类,包括全局变量、局部变量、静态变量、实例变量、类变量、参数变量等。
每种变量都有其特定的作用范围和生命周期,用于满足不同的编程需求。

全局变量(Global Variables)

在程序的任何地方都可以访问的变量,它们在整个程序执行过程中都存在。全局变量通常在程序的顶层定义,在函数内部也可以通过global关键字进行全局引用。

局部变量(Local Variables)

在特定代码块、函数或方法内定义和使用的变量。局部变量的作用范围仅限于其被定义的代码块,超出该范围后将无法访问。

静态变量(Static Variables)

在面向对象编程中,静态变量是在类级别定义的变量,它们在整个类的生命周期内保持不变,从程序启动到程序关闭,始终存在于内存中。与实例变量相比,静态变量属于类本身而不是类的实例,可以通过类名或实例访问

实例变量(Instance Variables)

在面向对象编程中,实例变量是在类的实例化过程中为每个实例单独分配的变量,只能通过类的实例来访问。实例变量的作用范围限于特定的实例对象,不同的实例对象可以具有不同的实例变量值。实例变量通常在类的构造方法(__init__方法)中定义。

类变量(Class Variables)

在面向对象编程中,类变量是在类级别定义的变量,被该类的所有实例共享。类变量属于类本身而不是实例,可以通过类名或实例访问。类变量的生命周期与类的实例相关联,当销毁实例时,类变量也会被释放。(有实例才有类变量,但是可以通过类名访问

参数变量(Parameter Variables)

在函数或方法定义中声明的变量,用于接受调用者传递的参数值。参数变量的作用范围限于函数或方法的执行过程,可以通过参数列表传递和访问。

变量使用

赋值操作:通过赋值运算符 = 将具体的值赋给变量。
引用变量:通过变量名来引用和访问变量保存的数据。
修改变量:可以根据需要对变量的值进行修改或更新。
作用范围:确保变量的作用范围(如全局、局部)正确并符合设计意图。
生命周期:理解变量的生命周期是确保在合适的时间创建、使用和销毁变量的重要因素。

合理地使用变量可以提高代码的可读性、灵活性和可维护性,同时也有助于避免错误和减少资源的浪费。

数据类型

在这里插入图片描述

数值类型(Numeric Types)

整数(int):表示整数,如1、-10、100。
浮点数(float):表示带有小数部分的数字,如3.14、-0.5、1.0。

字符串类型(String Type)

字符串(str):表示一系列字符组成的文本,可以使用单引号或双引号括起来,如"Hello"、‘Python’。

布尔类型(Boolean Type)

布尔值(bool):表示真(True)或假(False)的值,用于逻辑判断和控制流程
如True、False。

列表类型(List Type)

列表(list):表示一系列按特定顺序排列的值,可包含不同类型的元素,用方括号括起来
如[1, 2, 3]、[‘a’, ‘b’, ‘c’]。

元组类型(Tuple Type)

元组(tuple):类似于列表,但是不可修改,用圆括号括起来
如(1, 2, 3)、(‘a’, ‘b’, ‘c’)。

字典类型(Dictionary Type)

字典(dict):表示一组键值对(key-value)的集合,用花括号括起来
如{‘name’: ‘Alice’, ‘age’: 25}。

集合类型(Set Types)

集合(set):表示一组无序且不重复的元素,用花括号或set()函数创建
如{1, 2, 3}、set([4, 5, 6])。

其他类型

None类型:表示空值或缺失值,用于表示变量没有值或函数没有返回值。

以上是Python中常见的数据类型,每种类型都有其特定的属性、方法和用途。可以根据实际需求选择合适的数据类型来存储和操作数据。

注意

在 Python 中,整数 0 并不是布尔类型(bool)的 False 值,但它可以被视为假值(Falsy)

在布尔上下文中,以下值被视为假值:
False:布尔类型的假值。
None:表示空值或缺失值的特殊对象。
0:整数类型的零。
0.0:浮点型的零。
“”:空字符串。
[]:空列表。
():空元组。
{}:空字典。
set():空集合。

总结:0 和空

这些值在逻辑表达式被视为 False,其他非假值都被视为 True。
因此,可以使用 0 在某些条件下表示假值

例如:

my_var = 0
if not my_var:print("my_var is a falsy value")

在上面的示例中,变量 my_var 被赋值为 0,使用 not 运算符来检查其真假值。由于 0 是一个假值,所以条件成立,输出 “my_var is a falsy value”。

需要注意的是,0 在数值运算或其他上下文中仍然被看作是一个有效的整数值。

相关文章:

python 基础篇 day 1 初识变量和数据类型

文章目录 变量变量作用——用于存储和表示数据。变量命名规则命名法大驼峰小驼峰下划体n j i a x 通常作为临时变量使用 建议 变量种类全局变量(Global Variables)局部变量(Local Variables)静态变量(Static Variables…...

Window下部署使用Stable Diffusion AI开源项目绘图

Window下部署使用Stable Diffusion AI开源项目绘图 前言前提条件相关介绍Stable Diffusion AI绘图下载项目环境要求环境下载运行项目打开网址,即可体验文字生成图像(txt2img)庐山瀑布 参考 本文里面的风景图,均由Stable Diffusion…...

【MySQL】好好学习一下InnoDB中的页

文章目录 一. 前言二. 从宏观层面看页三. 页的基本内容3.1 页的数据结构3.2 用户空间内的数据行结构3.3 页目录 四. 问题集4.1 索引 和 数据页 有什么区别4.2 页的大小是什么决定的4.3 页的大小对哪些情况有影响4.4 一般情况下说的链表有哪几个4.5 如果页的空间满了怎么办4.6 如…...

git开发常用命令

版本回退 soft:git reset --soft HEAD^ 将版本库回退一个版本,且这次提交的所有文件都移动到暂存区 mixed(默认):git reset HEAD^ 将版本库回退一个版本,且这次提交的所有文件都移动到工作区,会…...

WEB APIs day5

一、window对象 BOM属于window对象 1.BOM(浏览器对象模型) bom里面包含着dom,只不过bom我们平时用得比较少,我们经常使用的是dom操作,因为我们页面中的这些标签都是在dom中取的,所以我们操作dom多一点。 window对象…...

html动态爱心代码【一】(附源码)

前言 七夕马上就要到了,为了帮助大家高效表白,下面再给大家带来了实用的HTML浪漫表白代码(附源码)背景音乐,可用于520,情人节,生日,表白等场景,可直接使用。 效果演示 文案修改 var loverNam…...

【仿写tomcat】六、解析xml文件配置端口、线程池核心参数

线程池改造 上一篇文章中我们用了Excutors创建了线程,这里我们将它改造成包含所有线程池核心参数的形式。 package com.tomcatServer.http;import java.util.concurrent.*;/*** 线程池跑龙套** author ez4sterben* date 2023/08/05*/ public class ThreadPool {pr…...

Android Studio 接入OpenCV最简单的例子 : 实现灰度图效果

1. 前言 上文 我们在Windows电脑上实现了人脸功能,接下来我们要把人脸识别的功能移植到Android上。 那么首先第一步,就是要创建一个Native的Android项目,并且配置好OpenGL,并能够调用成功。 这里我们使用的是openCV-4.8.0&#x…...

(1)、扩展SpringCache一站式解决缓存击穿,穿透,雪崩

1、问题描述 我们在使用SpringCache的@Cacheable注解时,发现并没有设置过期时间这个功能。 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @I...

Rancher使用cert-manager安装报错解决

报错: rancher-rke-01:~/rke/rancher-helm/rancher # helm install rancher rancher-stable/rancher --namespace cattle-system --set hostnamewww.rancher.local Error: INSTALLATION FAILED: Internal error occurred: failed calling webhook "webhook…...

Harvard transformer NLP 模型 openNMT 简介入门

项目网址: OpenNMT - Open-Source Neural Machine Translation logo: 一,从应用的层面先跑通 Harvard transformer GitHub - harvardnlp/annotated-transformer: An annotated implementation of the Transformer paper. ​git clone https…...

【数据结构OJ题】用栈实现队列

原题链接:https://leetcode.cn/problems/implement-queue-using-stacks/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 用两个栈实现,一个栈进行入队操作,另一个栈进行出队操作。 出队操作: 当出队的栈…...

通达信指标公式15:除权除息数据统计分析

#1.关于除权除息指标的介绍:本指标是小红牛原创指标之一,觉得有必要研究一下这个问题,所以就花时间整理一下这个指标相关内容,大家可以在本源码基础上,进一步优化自己的思路。本指标为通达信幅图指标,可以做…...

day-27 代码随想录算法训练营(19)回溯part03

39.组合总和 分析:同一个数可以选多次,但是不能有重复的答案; 思路:横向遍历,纵向递归(不同的是递归的时候不需要跳到下一个位置,因为同一个数可以选多次) class Solution { publ…...

CSDN编程题-每日一练(2023-08-22)

CSDN编程题-每日一练(2023-08-22) 一、题目名称:最长递增区间二、题目名称:K树三、题目名称:小Q的价值无向图一、题目名称:最长递增区间 时间限制:1000ms内存限制:256M 题目描述: 给一个无序数组,求最长递增的区间长度。如:[5,2,3,8,1,9] 最长区间 2,3,8 长度为 3。…...

使用 KubeBlocks 为 K8s 提供稳如老狗的数据库服务

原文链接:https://forum.laf.run/d/994 大家好!今天这篇文章主要向大家介绍 Sealos 的数据库服务。在 Sealos 上数据库后端服务由 KubeBlocks 提供,为用户的数据库应用保驾护航。无论你是在公有云还是本地环境中使用,Sealos 都能为…...

SFL212B-10-21-15、SFL212B-20-21-40喷嘴挡板伺服阀

SFL212B-05-21-10、SFL212B-10-21-15、SFL212B-20-21-40、SFL212-05-32-10、SFL212-10-32-15、SFL212-20-32-40、SFL212A-05-21-10、SFL212A-10-21-15、SFL212A-20-21-40喷嘴挡板力反馈伺服阀,外置伺服放大器,四通,带阀芯阀套的两级伺服阀&am…...

阿里云100元预算可选的云服务器配置2核2G3M带宽

阿里云服务器100元可以买到哪些配置?如果是一年时长,轻量应用服务器2核2G3M带宽一年108元,系统盘为50GB高效云盘。以前阿里云服务器ECS卖过35元一年、69元、88元、89元和99元的都有过,但是现在整体费用上涨,入门级云服…...

Linux问题--docker启动mysql时提示3306端口被占用

问题描述: 解决方法: 1.如果需要kill掉mysqld服务可以先通过 lsof -i :3306 2. 查询到占用3306的PID,随后使用 kill -15 PID 来kill掉mysqld服务。 最后结果...

2023年中秋月饼市场趋势分析(月饼京东销售数据分析)

中秋将至,月饼作为节令食品将再次掀起消费热潮。今年月饼市场的需求如何呢,是更受欢迎还是热度有所降低,结合数据我们一起来看今年月饼市场的销售表现。 在这里,我们分别选取了2022年第31周-32周和2023年第31周-32周(…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...