Python语法详解module1(变量、数据类型)

在这里插入图片描述

目录

  • 一、变量
    • 1. 变量的概念
    • 2. 创建变量
    • 3. 变量的修改
    • 4. 变量的命名
  • 二、数据类型
    • 1. Python中的数据类型
    • 2. 整型(int)
    • 3. 浮点型(float)
    • 4. 布尔型(bool)
    • 5. 字符串(str)
    • 6.复数(complex)
    • 7. 列表(List)
    • 8. 元组(Tuple)
    • 9. 集合(Set)
    • 10. 字典(Dictionary)
    • 11. 数据类型转换
      • 1. 将其他类型转换为整型(int)
      • 2. 将其他类型转换为浮点型(float)
      • 3. 将其他类型转换为布尔型(bool)
      • 4. 将其他类型转换为字符串(str)
      • 5.隐式转换
        • 整型隐式转换
        • 布尔型隐式转换
        • 字符串隐式转换

一、变量

1. 变量的概念

  • 在编程中,变量是用来存储和表示数据的一种命名标识符。

  • 可以将变量视为计算机内存中的一个存储箱,用于临时存储数据。

  • 变量可以存储各种类型的数据,如整数、浮点数、字符串等。

  • 在程序执行过程中,变量的值可以随时被修改或更新。

Tips:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 创建变量

  • 在Python中,创建变量非常简单,只需将变量名赋予一个值即可。

  • Python是一种动态类型语言,因此不需要事先声明变量的类型。

例如:

x = 10  # 创建一个整数变量 x,值为 10
name = "yushifu"  # 创建一个字符串变量 name,值为 "Alice"
is_student = True  # 创建一个布尔变量 is_student,值为 True

多个变量的赋值:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 变量的修改

  • 在Python中,变量的值可以随时被修改或更新。
  • 只需重新为变量赋予一个新的值即可。例如:
x = 10  # 创建一个整数变量 x,值为 10
x = 20  # 修改变量 x 的值为 20

在这个例子中,变量x最初被赋予值10,然后又被赋予值20,因此x的值被修改为20。

4. 变量的命名

在Python中,变量的命名需要遵循一定的规则:

  • 1.变量名只能包含字母、数字和下划线,不能以数字开头。
  • 2.变量名不能包含空格或特殊字符,如$、@、%等。
  • 3.变量名不能是Python的关键字(例如if、for、while等)。
  • 4.变量名应该具有描述性,能够清晰地表达变量所代表的含义。
  • 5.变量名区分大小写,例如Name和name是不同的变量。

一般来说,建议使用小写字母和下划线组合的方式来命名变量,以提高代码的可读性。

first_name = "John"
age = 16
is_adult = True

在这里插入图片描述

二、数据类型

1. Python中的数据类型

  • Python是一种动态类型语言,它提供了丰富的内置数据类型,用于表示不同种类的数据。
  • 常见的数据类型包括整型、浮点型、布尔型和字符串等。这些数据类型可以用来存储和处理各种不同形式的数据。

2. 整型(int)

  • 整型是Python中用来表示整数的数据类型。它可以存储任意大小的整数,包括正整数、负整数和零。
x = 10  # 正整数
y = -5  # 负整数
z = 0   # 零

3. 浮点型(float)

  • 浮点型是Python中用来表示带有小数点的数字的数据类型。
  • 它可以存储任意大小的浮点数,包括正浮点数、负浮点数和零。
a = 3.14   # 正浮点数
b = -0.5   # 负浮点数
c = 0.0    # 零

4. 布尔型(bool)

  • 布尔型是Python中用来表示逻辑值的数据类型,只有两个取值:True(真)和False(假)。
  • 布尔型通常用于条件判断和逻辑运算。
is_adult = True   # 真
is_student = False  # 假

5. 字符串(str)

  • 字符串是Python中用来表示文本数据的数据类型。
  • 可以包含任意字符,包括字母、数字、标点符号等。
  • 字符串需要用引号(单引号或双引号)括起来。
name = "yushifu"   # 使用双引号括起来的字符串
message = 'Hello, World!'  # 使用单引号括起来的字符串

6.复数(complex)

  • 在 Python 中,复数由实部和虚部组成,表示为 a + bj 的形式,其中 a 是实部,b 是虚部,j 是虚数单位,满足 j^2 = -1。

  • 在 Python 中,复数的存储方式通常与浮点数相同,使用双精度浮点数(64位)表示实部和虚部。

  • 因此,复数的存储范围与浮点数相同,大约为 1.7e-308 到 1.7e+308。

  • 复数在科学计算和工程领域中经常用到,特别是在涉及到频域分析、信号处理和控制系统等领域的数学模型和算法中。

  • 在 Python 中,你可以使用内置的 complex 函数来创建复数。例如:

z = complex(3, 4)   # 创建一个实部为 3,虚部为 4 的复数
print(z)   # 输出:(3+4j)

7. 列表(List)

  • 列表是 Python 中最常用的数据结构之一,它是一个有序的集合,可以包含任何数据类型的元素,
  • 如整数、浮点数、字符串等。列表使用方括号 [ ] 表示,各元素之间用逗号 , 分隔。
  • 列表中的元素可以通过索引访问,并且列表是可变的,即可以修改、添加或删除其中的元素。
my_list = [1, 'a', 2.3]   # 一个包含整数、字符串和浮点数的列表
print(my_list[0])   # 输出:1,访问列表中的第一个元素

8. 元组(Tuple)

  • 元组和列表相似,也是一种有序的集合,但是元组是不可变的,一旦创建就无法修改。
  • 元组使用圆括号 ( ) 表示,各元素之间同样用逗号 , 分隔。元组通常用于存储不可变的数据,例如函数返回多个值时。
my_tuple = (1, 'a', 2.3)   # 一个包含整数、字符串和浮点数的元组
print(my_tuple[1])   # 输出:'a',访问元组中的第二个元素

9. 集合(Set)

  • 集合是 Python 中的一种无序且元素不重复的数据结构,类似数学中的集合概念。
  • 集合使用大括号 { } 表示,各元素之间同样用逗号 , 分隔。集合通常用于去重和快速查找。
my_set = {1, 2, 3, 3, 4}   # 一个包含整数的集合,注意重复元素会被自动去重
print(my_set)   # 输出:{1, 2, 3, 4}

10. 字典(Dictionary)

  • 字典是 Python 中的一种键值对集合,每个键值对由键和对应的值组成,键是唯一的,而值可以重复。
  • 字典使用花括号 { } 表示,每个键值对之间使用冒号 : 分隔,键值对之间用逗号 , 分隔。
  • 字典通常用于存储具有对应关系的数据。
my_dict = {'name': 'John', 'age': 30}   # 一个包含姓名和年龄的字典
print(my_dict['name'])   # 输出:'John',访问字典中键为'name'的值

11. 数据类型转换

  • 编写Python代码时,经常需要将一个数据类型转换为另一个数据类型。
  • Python提供了一些内置函数来执行这些转换。下面是一些常见的数据类型转换:

1. 将其他类型转换为整型(int)

  • 使用int()函数:将其他类型的数据转换为整型。
num_str = "123"     # 字符串类型的数字
num_int = int(num_str)   # 转换为整型
print(num_int)      # 输出:123

2. 将其他类型转换为浮点型(float)

使用float()函数:将其他类型的数据转换为浮点型。

num_str = "3.14"    # 字符串类型的浮点数
num_float = float(num_str)   # 转换为浮点型
print(num_float)    # 输出:3.14

3. 将其他类型转换为布尔型(bool)

  • 使用bool()函数:将其他类型的数据转换为布尔型。
  • 大多数类型的数据都可以转换为布尔型,通常0或空值会被转换为False,而其他值会被转换为True
num = 0     # 整数类型的0
is_valid = bool(num)   # 转换为布尔型
print(is_valid)    # 输出:False

text = ""   # 空字符串
is_valid = bool(text)   # 转换为布尔型
print(is_valid)    # 输出:False

value = "Hello"   # 非空字符串
is_valid = bool(value)   # 转换为布尔型
print(is_valid)    # 输出:True

4. 将其他类型转换为字符串(str)

  • 使用str()函数:将其他类型的数据转换为字符串类型。
num = 123    # 整数类型
text = str(num)   # 转换为字符串
print(text)   # 输出:"123"

5.隐式转换

  • 隐式转换是指在表达式中自动进行的类型转换,而无需显式调用转换函数。- Python中的隐式转换主要涉及数值类型之间的转换,包括整型、浮点型和复数型。
整型隐式转换
  • 在Python中,当整型与浮点型进行运算时,整型会自动转换为浮点型。
  • 这是因为浮点型能够容纳更广泛的数值范围和精度。
num_int = 10    # 整型
num_float = 3.5   # 浮点型
result = num_int + num_float   # 整型和浮点型相加,结果为浮点型
print(result)   # 输出:13.5
布尔型隐式转换
  • 布尔型在参与数值运算时会被隐式转换为整型。True被转换为1,False被转换为0。
bool_val = True   # 布尔型
result = bool_val + 10   # 布尔型和整型相加,布尔型被隐式转换为整型
print(result)   # 输出:11
字符串隐式转换
  • 在字符串与数值类型进行运算时,如果字符串能够表示为数值,则会被隐式转换为相应的数值类型。
  • 如果字符串不能表示为有效的数值,则会引发类型错误。
num_str = "10"    # 字符串类型的数字
result = num_str + 5   # 字符串和整型相加,字符串被隐式转换为整型
print(result)   # 输出:15
  • 如果字符串不能转换为有效的数值,则会引发错误:
num_str = "Hello"    # 无法转换为有效的数值
result = num_str + 5   # 引发类型错误

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

​ChatTTS:Win11本地安装和一键运行包!

ChatTTS 是一个专为交互式语音准备的AI语音合成项目,特点是自然,逼真,可把控声音细节,能说能笑能停顿。 效果演示 具体内容,已经在另外的文章中介绍过。 本文主要是关注两个点。 如何在Windows上安装这个项目。分享一…

2024蓝桥杯初赛决赛pwn题全解

蓝桥杯初赛决赛pwn题解 初赛第一题第二题 决赛getting_startedbabyheap 初赛 第一题 有system函数,并且能在bss上读入字符 而且存在栈溢出,只要过掉check函数即可 check函数中,主要是对system常规获取权限的参数,进行了过滤&…

软件测试总结基础

软件测试总结基础 1. 何为软件测试 定义:使用技术手段验证软件是否满足需求 目的:减少bug,保证质量 2. 软件测试分类 阶段划分 单元测试,针对源代码进行测试集成测试,针对接口进行测试系统测试,针对功能…

声音的归宿:恢复手机录音的3个步骤与策略

“手机录音删除了怎么恢复,没有云备份。本人平时喜欢用手机录音机录一些唱的歌,上次录过之后就再也没有打开,今天一打开发现上个月的录音都没了!里面都是我的歌,还有期末重点,还有声乐课的录的音频&#xf…

免费工具扫描 Linux 中已知威胁

首发公众号网络研究观,关注获取更多。 卡巴斯基为 Linux 平台发布了一款名为 KVRT 的新病毒清除工具,允许用户免费扫描他们的系统并清除恶意软件和其他已知威胁。 尽管人们普遍误以为 Linux 系统本质上是安全的,不会受到威胁,但不…

jeecg dictText字典值

前端列表的字典值回显,配置了数据字典后,在本地测试可以回显中文的数据, 但在线上服务器不能正常回显出来; 原因是在前端拿到records的列表值时可以拿到dictText的字典,但是线上服务器没有dictText的值; …

对称二叉树[简单]

优质博文:IT-BLOG-CN 一、题目 给你一个二叉树的根节点root, 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出&#xf…

YOLOv5改进 | Conv篇 | 利用YOLOv10提出的SCDown魔改YOLOv5进行下采样(附代码 + 结构图 + 添加教程)

一、本文介绍 本文给大家带来的改进机制是利用YOLOv10提出的SCDown魔改YOLOv5进行下采样,其是更高效的下采样。具体而言,其首先利用点卷积调整通道维度,然后利用深度卷积进行空间下采样。这将计算成本减少到和参数数量减少到。同时&#xff…

5.透明效果

实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha channel)。 当一个物体被渲染到屏幕上时,每个片元除了颜色和深度值之外,它还有另一个属性—透明度。 当透明度为1时,表示该像素是完…

信息系统项目管理师0141:产品范围和项目范围(9项目范围管理—9.1管理基础—9.1.1产品范围和项目范围)

点击查看专栏目录 文章目录 第9章 项目范围管理9.1 管理基础9.1.1 产品范围和项目范围 第9章 项目范围管理 项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目。项目范围管理主要在于定义和控制哪些工作应该包括在项目内,哪些不应该包含在…

Golang | Leetcode Golang题解之第131题分割回文串

题目: 题解: func partition(s string) (ans [][]string) {n : len(s)f : make([][]int8, n)for i : range f {f[i] make([]int8, n)}// 0 表示尚未搜索,1 表示是回文串,-1 表示不是回文串var isPalindrome func(i, j int) int8…

数据结构与算法之Floyd弗洛伊德算法求最短路径

目录 前言 Floyd弗洛伊德算法 定义 步骤 一、初始化 二、添加中间点 三、迭代 四、得出结果 时间复杂度 代码实现 结束语 前言 今天是坚持写博客的第18天,希望可以继续坚持在写博客的路上走下去。我们今天来看看数据结构与算法当中的弗洛伊德算法。 Flo…

如何学习SQL?YouTube近百万粉丝技术频道的学习路径图。

大家好,我是王有志,一个分享硬核 Java 技术的金融摸鱼侠,欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。 ByteByteGo 频道在 5 月 30 日的通信邮件中提到了“How to Learn SQL”这一主题,并给出了一张详细的学习路径…

python——网络编程

流程图 面向连接的套接字 面向连接的通信提供序列化的、可靠的和不重复的数据交付,而没有记录边界。主要的协议是传输控制协议(TCP); TCP套接字,在python中,必须使用SOCK_STREAM作为套接字类型 tcp的特点 面向连接…

使用GitHub托管静态网页

前言​: 如果没有服务器,也没有域名,又想部署静态网页的同学,那就可以尝试使用GitHub托管自己的网页​。 正文: 首先要有自己的GitHub的账号,如果没有可以自己搜索官网进行注册登录,国内对Gi…

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中,Bug 是一个我们无法回避的话题。 2、Bug,简单来说,就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…

容器运行nslookup提示bash: nslookup: command not found【笔记】

在容器中提示bash: nslookup: command not found,表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup: 对于基于Debian/Ubuntu的容器,使用以下命令: apt-get update apt-get install -y dnsutils对于基于CentOS/R…

机器学习、深度学习模型建模开发过程中常见的评估指标汇总学习记录

在机器学习、深度学习模型的开发过程中, 很重要的一个环节就是要对模型的性能进行评估分析,不同类型的任务不同的模型对应使用不同的评估指标体系,本文的主要目的是正好趁着最近有这块的需求,就想着找点时间把汇总学习的内容整理记…

TypeScript学习(一):开发环境搭建

官方文档搭建参考 https://learn.microsoft.com/zh-cn/training/modules/typescript-get-started/ 1.下载node.js https://nodejs.org/en/download 2.下载vscode https://code.visualstudio.com/ 3.在线ts的测试工具 https://www.typescriptlang.org/play/ 4.下载typescr…

Linux线程安全:线程互斥

一、线程互斥的概念 1.1临界资源与互斥的关系 临界资源:多线程执行流共享的资源就叫做临界资源。 临界区:每个线程内部,访问临界资源的代码,就叫做临界区。 互斥:任何时刻,互斥保证有且只有一个执行流进入…