当前位置: 首页 > 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周(…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...