02-1:python入门基础Python变量与数据类型

news2024/12/24 1:11:31

一、Python 变量的定义

(一)定义方式

在 Python 中,变量的定义是通过赋值来实现的,其语法格式非常简洁直观,基本形式为 “变量名 = 值”。等号左边是你自定义的变量名,右边则是要赋给该变量的值。Python 是一种动态类型语言,这意味着在定义变量时不需要事先声明其类型,变量的类型会根据所赋的值自动确定,并且在后续的程序运行过程中,变量的类型和值都可以随时改变。

以下是定义不同类型数据变量的示例代码:

定义整型变量:

age = 25

在上述代码中,我们定义了一个名为age的变量,并将整数值25赋给它,此时 Python 自动识别age变量的类型为整型(int)。

定义字符串型变量

name = "Alice"

这里定义了name变量,把字符串"Alice"赋给它,该变量就属于字符串类型(str)。

定义浮点型变量

height = 1.75

通过赋值语句,将浮点数值1.75赋给height变量,使其成为浮点型(float)变量。

定义列表变量

fruits = ["apple", "banana", "cherry"]

创建了一个名为fruits的变量,它存储了一个包含多个字符串元素的列表,Python 认定fruits是列表类型(list)的变量。

定义字典变量

person = {"name": "Bob", "age": 30, "city": "New York"}

此代码定义了person变量,并赋予它一个字典值,字典中包含了键值对,用于表示不同属性及其对应的值,这样person变量就是字典类型(dict)的变量了。

二、Python 变量的命名规则

(一)基本构成规则

在 Python 中,变量名的基本构成有着明确的规则要求。变量名只能包含字母、数字和下划线(_),这意味着不能在变量名中使用其他特殊字符,像 @、#、$、% 等都是不被允许的。例如,“my_var” 和 “count2” 就是有效的变量名,而 “my-var” 和 “num@” 则不符合规则。

同时,变量名必须以字母或下划线开头,绝不能以数字开头。比如,“name” 和 “_age” 是有效的变量名,但 “1st_name” 就属于无效的变量名了。以下通过一些具体的代码示例来进一步理解:

# 正确示例

student_name = "Tom"

_grade = 85

# 错误示例,以下代码会报错

# 1_number = 10  # 变量名以数字开头,不符合规则

# my$var = "Invalid"  # 包含了不允许的特殊字符$

(二)大小写敏感规则

Python 变量名是区分大小写的,这一点在编写代码时需要格外留意。例如,“myVariable” 和 “MyVariable” 在 Python 看来是完全不同的两个变量。我们来看下面这段代码:

在上述代码中,定义了两个看似相似,但由于大小写不同的变量 “my_variable” 和 “My_variable”,它们分别被赋予了不同的值,在输出时也会打印出各自对应的值,并不会因为名称相似而产生混淆或者冲突。所以在实际编程过程中,要始终牢记变量名的大小写区别,避免因不小心写错大小写而导致程序出现难以察觉的逻辑错误。

(三)关键字与函数名禁用规则

Python 中有一些特定的关键字,它们被保留用于特殊用途,比如表示条件判断的 “if”、“else”、“elif”,用于循环的 “for”、“while”,还有定义函数的 “def” 等等,这些关键字是不能用作变量名的,否则会引发命名冲突,导致程序出错。

三、Python 中的数据类型概述

(一)数字类型

Python 中的数字类型包含整型(int)、长整型(long,在 Python3 中已不存在长整型,统一为整型)、浮点型(float)、复数型(complex)。

整型(int):表示整数类型,可以表示正整数、负整数和零。

浮点型(float):表示实数类型,也就是可以表示十进制小数,包括正数、负数和零,例如3.14、-0.5、0.0等。。

复数型(complex):表示复数类型,由实数和虚数构成,其形式通常为a + bj,其中a是实部,b是虚部,例如3 + 4j、2.1 - 3.2j等。

(二)字符串类型(str)

在 Python 中,字符串是一种不可变的序列类型,用单引号、双引号或者三引号括起来的字符序列都是字符串,例如'Hello, world!'、"Python编程"、'''这是一段

多行的字符串'''等都是合法的字符串表示方式。

字符串表示方式:

text = """这是一段很长的文字描述,

它可以跨越多行,

并且保留原有的格式排版。"""

字符串常用操作:

拼接:可以使用+运算符来将两个字符串拼接起来,例如"Hello, " + "Python"会得到"Hello, Python"。

索引:字符串中的字符是有顺序的,从左到右,索引从 0 开始递增,可以使用[]运算符来获取字符串中指定位置的字符,比如对于字符串"Python","Python"[0]就会得到'P',"Python"[2]会得到't'等。

切片:通过[头下标:尾下标]的方式可以截取字符串中的一部分内容,遵循闭头开尾原则,也就是包含头下标对应的字符,但不包含尾下标对应的字符。例如"Python"[1:4]会得到'yth',如果省略头下标,如"Python"[:3]则表示从开头截取到索引为 2 的字符,得到'Pyt';省略尾下标,像"Python"[2:]则是从索引为 2 的字符开始截取到末尾,得到'thon'。

格式化:在实际编程中,经常会遇到将其他类型变量与字符串拼接到一起并进行格式化输出的情况。常见的字符串格式化方法有几种:

采用占位符:常用的占位符有%s(字符串格式)、%d(十进制格式)、%f(浮点数格式)等。例如:

name = '张三'

age = 18

print('%s 年龄是 %s' % (name, age))

会输出张三 年龄是 18。并且对于%f还可以指定保留的小数位数,如%.2f表示保留 2 位小数。

采用formatted字符串:这是带有f字符前缀的字符串,可以很方便地格式化字符串,在字符串中直接用花括号{}包裹变量名或者表达式即可,例如:

name = '李四'

age = 20

score = 90.5

print(f'{name} 的年龄是 {age},成绩是 {score:.2f}')

这里不仅可以嵌入变量,还能在花括号内对变量进行一些简单的表达式运算或者格式控制,像控制数字的显示格式、对齐方式等。

采用format字符串:字符串中可以有占位符({}表示的内容),配合format()方法的使用,会将format()方法中的参数替换为占位符内容。占位符可以用参数索引表示,即 0 代表第 1 个参数,以此类推,也可以用参数的名字表示占位符。例如:

name = '王五'

age = 22

s = '{0} 今年 {1} 岁'.format(name, age)

print(s)

或者:

s = '{name} 芳龄为 {age} 岁'.format(name=name, age=age)

print(s)

在占位符中还可以有格式化控制符,对字符串的格式进行更加精准控制,比如指定对齐方式(<左对齐、>右对齐、^居中对齐)、填充字符、数字的进制显示、千位分隔符等多种格式化操作。

(三)列表类型(list)

列表是 Python 中一种可变的数据类型,用于保存一组有序的数据,可以包含各种数据类型的元素,使用中括号[]来定义,列表中的元素之间用逗号隔开,例如[1, 2.0, "hello", [3, 4, 5]]就是一个包含了整型、浮点型、字符串以及嵌套列表等多种元素的列表。

列表的创建与访问:

可以创建空列表,如empty_list = []或者empty_list = list(),后续再通过各种操作向里面添加元素。

列表的常用操作:

增加元素:可以使用append()方法向列表末尾添加元素,例如my_list.append(40)就会把40添加到my_list的末尾;

insert()方法则可以在指定位置插入元素,如my_list.insert(1, 15)会在索引为 1 的位置插入15这个元素。另外,

extend()方法可用于将一个可迭代对象(比如另一个列表)的元素逐个添加到当前列表中,像my_list.extend([50, 60])会把[50, 60]中的元素依次添加到my_list后面。

删除元素:pop()方法用于删除并返回指定索引位置的元素,如果不指定索引,默认删除并返回最后一个元素,例如my_list.pop()会删除my_list的最后一个元素,my_list.pop(1)则删除索引为 1 的元素;

remove()方法用于删除列表中第一次出现的指定值的元素,比如my_list.remove(20)会把列表中第一个值为20的元素删除;clear()方法可以清空整个列表,使列表变为空列表。

修改元素:直接通过索引赋值就可以修改列表中的元素,例如my_list[0] = 5就把my_list中的第一个元素修改为5了。

排序与反转:sort()方法可以对列表中的元素进行排序(要求列表元素类型相同,否则会报错),

其他操作:还可以使用count()方法统计某个元素在列表中出现的次数,

index()方法返回指定元素在列表中第一次出现的索引位置(如果不存在会报错)等。

(四)字典类型(dict)

字典是 Python 中一种无序的、可变的映射类型,用大括号{}表示,是由键(key)和值(value)组成的一组映射关系,其中键必须是唯一的。

字典的基本操作:

访问元素:通过键来访问其对应的值,比如print(person['name'])就会输出张三。

添加和修改元素:直接给字典中不存在的键赋值,就可以添加新的键值对,例如person['phone'] = '123456789'。

删除元素:可以使用del语句删除指定键值对,如del person['gender']就会把person字典中'gender'这个键值对删除掉;也可以使用pop()方法删除并返回指定键对应的元素。

字典的常用方法及遍历:字典有很多内置的方法方便操作,例如keys()方法返回字典中所有的键组成的可迭代对象,values()方法返回所有的值组成的可迭代对象,items()方法返回包含所有键值对的可迭代对象(每个键值对以元组形式表示),可以方便地用于遍历字典:

for key in person.keys():

    print(key)

for value in person.values():

    print(value)

for key, value in person.items():

    print(key, value)

 下一张 : 02-2.python入门语法一变量与数据类型2

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在Vue3中实现文件上传功能,结合后端API

随着现代Web应用程序的不断发展&#xff0c;文件上传成为了用户交互中不可或缺的一部分。在本篇博客中&#xff0c;我们将深入讨论如何在Vue3中实现一个文件上传功能&#xff0c;并与后端API进行交互。我们将使用Vue3的Composition API&#xff08;setup语法糖&#xff09;来构…

详细ECharts图例3添加鼠标单击事件的柱状图

<!DOCTYPE html><html><head><meta charset"UTF-8"><script src"js/echarts.js"></script> <!-- 确保路径正确 --><title>添加鼠标单击事件的柱状图</title></head><body><div id&q…

Redis Hash Tag 知识详解

一、Redis Hash Tag概述 Redis Hash Tag是Redis集群环境里用于控制数据分片的关键机制。在Redis集群中&#xff0c;数据依据键的哈希值来确定分片存储位置。Hash Tag能让用户指定键的特定部分作为哈希计算核心部分&#xff0c;进而使相关键存储于同一节点&#xff0c;这对处理…

Java 初学者的第一个 SpringBoot3.4.0 登录系统二

Java 初学者的第一个 SpringBoot3.4.0 登录系统二 SpringBoot 3.4.0 是 SpringBoot 的最新版本&#xff0c;是乐衷与新技术的 Java 初学者和程序员的选择。和 SpringBoot3.4.0 搭配的各种软件组件也是新的潮流。Java 通用代码生成器光&#xff0c;2.4.0 电音之王尝鲜版十支持新…

SSH客户端

SSH客户端 在VMware界面中操作虚拟机非常不友好&#xff0c;所以一般推荐使用专门的SSH客户端。市面上常见的有&#xff1a; Xshell&#xff1a;个人免费&#xff0c;商业收费&#xff0c;之前爆出过有隐藏后门。不推荐Finshell&#xff1a;基础功能免费&#xff0c;高级功能…

python小课堂(一)

基础语法 1 常量和表达式2 变量和类型2.1 变量是什么2.2 变量语法 3 变量的类型3.1 动态类型特性 4 注释4.1注释是什么 5 输入输出5.1 print的介绍5.2 input 6 运算符6.1 算术运算符在这里插入图片描述6.2 关系运算符6.3 逻辑运算符6.4赋值运算符 1 常量和表达式 在print()中可…

java中的方法的重载和重写、构造器

目录 方法的重载和重写、构造器1.java的修饰符&#xff1a;2.普通方法3.构造器&#xff08;也叫构造方法/构造函数&#xff09;4.方法的重载5.补充6.方法的重写7.类的执行顺序8.再看方法的重写 方法的重载和重写、构造器 1.java的修饰符&#xff1a; public修饰的代码&#xf…

Halcon例程代码解读:安全环检测(附源码|图像下载链接)

安全环检测核心思路与代码详解 项目目标 本项目的目标是检测图像中的安全环位置和方向。通过形状匹配技术&#xff0c;从一张模型图像中提取安全环的特征&#xff0c;并在后续图像中识别多个实例&#xff0c;完成检测和方向标定。 实现思路 安全环检测分为以下核心步骤&…

前端知识补充—HTML

1. HTML 1.1 什么是HTML HTML(Hyper Text Markup Language), 超⽂本标记语⾔ 超⽂本: ⽐⽂本要强⼤. 通过链接和交互式⽅式来组织和呈现信息的⽂本形式. 不仅仅有⽂本, 还可能包含图⽚, ⾳频, 或者⾃已经审阅过它的学者所加的评注、补充或脚注等等 标记语⾔: 由标签构成的语⾔…

springboot根据租户id动态指定数据源

代码地址 码云地址springboot根据租户id动态指定数据源: springboot根据租户id指定动态数据源,结合mybatismysql多数源下的事务管理 创建3个数据库和对应的表 sql脚本在下图位置 代码的执行顺序 先设置主数据库的数据源配置目标数据源和默认数据源有了主库的数据源&#xff…

powershell美化

powershell美化 写在前面 除了安装命令&#xff0c;其他都是测试命令&#xff0c;后续再写进配置文件 安装主题控件 安装主题oh-my-posh&#xff0c;powershell中执行 winget install JanDeDobbeleer.OhMyPosh -s winget oh-my-posh init pwsh | Invoke-Expression # 查看…

Docker监控新纪元:Prometheus引领高效容器监控革命

作者简介&#xff1a;我是团团儿&#xff0c;是一名专注于云计算领域的专业创作者&#xff0c;感谢大家的关注 •座右铭&#xff1a; 云端筑梦&#xff0c;数据为翼&#xff0c;探索无限可能&#xff0c;引领云计算新纪元 个人主页&#xff1a;团儿.-CSDN博客 目录 前言&…

arcgisPro将面要素转成CAD多段线

1、说明&#xff1a;正常使用【导出为CAD】工具&#xff0c;则导出的是CAD三维多线段&#xff0c;无法进行编辑操作、读取面积等。这是因为要素面中包含Z值&#xff0c;导出则为三维多线段数据。需要利用【复制要素】工具禁用M值和Z值&#xff0c;再导出为CAD&#xff0c;则得到…

R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)

1. 上下标 # 注意y轴标签文字 library(ggplot2) ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))2. 希腊字母&#xff0c;如alpha ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))ggtitle(expression(alpha))…

WebContainerapi 基础(Web IDE 技术探索 一)

前言 随着web技术的发展&#xff0c;在网页端直接运行node.js、实现微型操作系统已经不再是难事。今天介绍的 WebContainers就是一个基于浏览器的运行时&#xff0c;用于执行 Node.js 应用程序和操作系统命令&#xff0c;它完全运行在您的浏览器页面中&#xff0c;提供了文件系…

解决pytorch安装中的三个错误

查明已安装python版本为3.12.7后&#xff0c;创建虚拟环境。 报错内容&#xff1a;ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式&#xff1a; 输入 conda create -n pytorch python3.8即可安装成功。 参考文章&#xff1a;https://blo…

LeetCode:104.二叉树的最大深度

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;104.二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节…

上传文件(vue3)

使用el-upload 先上传到文件服务器&#xff0c;生成url 然后点击确定按钮&#xff1a; 保存数据 <template><el-dialog top"48px" width"500" title"新增协议" :modelValue"visible" close"handleClose()">…

PostgreSql+Pgpool-II配置高可用集群(超详细)

一.配置示例 1.1. 基本配置示例 1.1.1. 开始 首先&#xff0c;我们必须学习如何在使用复制之前安装和配置 Pgpool-II 和数据库节点。 1.1.1.1. 安装 Pgpool-II 安装 Pgpool-II 非常简单。 在已解压源 tar ball 的目录中&#xff0c; 执行以下命令。 $ ./configure$ make$ …

2012年西部数学奥林匹克试题(几何)

2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…