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

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

腾讯云V3签名

想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...