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

篇章二 | Python 入门指南:深入理解基础数据类型

        Python 是一门强大而易学的编程语言,而深刻理解其基础数据类型是掌握 Python 编程的重要一步。本入门指南将详细介绍 Python 中的基础数据类型,包括整数、浮点数、字符串、布尔值、列表、元组、字典和集合等,同时提供注意事项和与 C 语言的区别。

1. 整数(int)

整数在 Python 中是简单直观的,可以是正数、负数或零。在进行整数运算时,Python 会自动处理溢出问题,因此你无需担心数值越界。

# 整数示例
num1 = 42
num2 = -17
num3 = 0
print(num1, num2, num3)  # 输出: 42 -17 0

注意事项:

  • Python 中整数的表示没有范围限制,可以表示任意大的整数。
  • 在 Python 3 中,整数除法会得到浮点数结果,如果需要整数结果,可以使用 // 操作符。

与 C 语言的区别:

  • Python 中整数没有溢出问题,而 C 语言需要注意整数溢出的情况。

2. 浮点数(float)

浮点数用于表示带有小数部分的数字。Python 使用浮点数进行数学运算时会自动进行类型转换。然而,浮点数运算可能引起精度问题,需要谨慎处理。

# 浮点数示例
pi = 3.14
height = 5.9
print(pi, height)  # 输出: 3.14 5.9

与 C 语言的区别:

  • Python 中的浮点数运算更灵活,并且不需要显式地指定浮点数类型。

3. 字符串(str)

字符串是由字符组成的不可变序列,可以使用单引号或双引号定义。字符串在 Python 中支持丰富的操作,但需要注意字符串是不可变的特性。

# 字符串示例
message1 = 'Hello, World!'
message2 = "Python 是一门强大的语言。"
print(message1)  # 输出: Hello, World!
print(message2)  # 输出: Python 是一门强大的语言。

注意事项:

  • 字符串可以通过索引访问单个字符,索引从0开始。
  • 字符串支持切片操作,可以获取子字符串。
  • 字符串是不可变的,无法通过索引直接修改其中的字符。
  • 字符串定义可以使用单引号或双引号,但一般保持一致性。

与 C 语言的区别:

  • Python 中的字符串更为灵活,不需要预先指定字符串的大小,并且支持丰富的字符串操作。

4. 布尔值(bool)

布尔值表示真或假,常用于条件判断。布尔值在 Python 中是关键字 TrueFalse

# 布尔值示例
is_true = True
is_false = False
print(is_true, is_false)  # 输出: True False

注意事项:

  • 布尔值用于控制程序的流程,是条件语句的基础。
  • 布尔值可以用于逻辑运算,如与(and)、或(or)、非(not)。

与 C 语言的区别:

  • Python 中的布尔值是关键字 TrueFalse,而 C 语言中通常使用整数表示布尔值,0 表示假,非零表示真。

5. 列表(list)

列表是一种有序、可变的数据类型,可以容纳任意类型的元素。列表使用方括号 [] 定义,元素之间用逗号分隔。

# 列表示例
fruits = ['apple', 'banana', 'orange']
numbers = [1, 2, 3, 4, 5]
print(fruits, numbers)  # 输出: ['apple', 'banana', 'orange'] [1, 2, 3, 4, 5]

注意事项:

  • 列表是可变的,可以通过索引修改、添加或删除元素。
  • 列表支持切片操作,可以获取子列表。
  • 列表可以包含不同类型的元素。

与 C 语言的区别:

  • Python 中的列表更为灵活,不需要预先指定列表的大小,并且可以容纳不同类型的元素。

6. 元组(tuple)

元组是一种不可变的有序序列,用于存储多个元素。元组使用圆括号 () 定义,元素之间用逗号分隔。

# 元组示例
my_tuple = (1, 2, 'apple', 3.14)
print(my_tuple)  # 输出: (1, 2, 'apple', 3.14)

注意事项:

  • 元组是不可变的,一旦创建就不能被修改。
  • 元组可以包含不同类型的元素。
  • 元组支持切片操作,可以获取子元组。

7. 字典(dict)

字典是一种键-值对的集合,用于存储和访问数据。字典使用花括号 {} 定义,每个键值对之间用逗号分隔。

# 字典示例
person = {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}
print(person)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}

注意事项:

  • 字典中的键必须是唯一的。
  • 字典的键可以是不可变类型,如整数、字符串、元组等,但不能是可变类型,如列表。
  • 字典是无序的,不支持索引,需要通过键访问值。
  • 字典是可变的,可以添加、修改或删除键值对。

与 C 语言的区别:

  • Python 中的字典是一种高级的数据结构,C 语言中通常需要手动实现类似的映射结构。

8. 集合(set)

集合是一种无序的、可变的数据类型,用于存储不重复的元素。集合使用花括号 {} 定义,元素之间用逗号分隔。集合自动去除重复的元素。

# 集合示例
my_set = {1, 2, 'apple', 3.14}
print(my_set)  # 输出: {1, 2, 'apple', 3.14}

注意事项:

  • 集合中的元素是无序的,无法通过索引访问。
  • 集合中不能包含重复的元素。
  • 集合是可变的,可以添加或删除元素。

通过深入理解这些基础数据类型,你将能够更灵活地处理数据,并为更高级的编程概念打下坚实的基础。在你的 Python 学习旅程中,不断实践并构建小项目将有助于加深对这些概念的理解。希望你在 Python 编程的世界中取得愉快而有成效的学习经验! 🚀🐍

相关文章:

篇章二 | Python 入门指南:深入理解基础数据类型

Python 是一门强大而易学的编程语言,而深刻理解其基础数据类型是掌握 Python 编程的重要一步。本入门指南将详细介绍 Python 中的基础数据类型,包括整数、浮点数、字符串、布尔值、列表、元组、字典和集合等,同时提供注意事项和与 C 语言的区…...

循环冗余效验码的计算方法

循环冗余效验码的计算方法 G(x): 在了解计算方法之前我们首先要明白G(x)表明的意思,这一步非常重要! 例如,G(x) x^3 x^2 1 ,该式子表明的编…...

第P8周:YOLOv5-C3模块实现

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/rbOOmire8OocQ90QM78DRA) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 一、 前期准备 1. 设…...

Java中常见的日志包分析(Log4j、Logback、SLF4J等)

Java中常见的日志jar包包括Log4j、Logback、SLF4J、java.util.logging等。它们各自的作用和应用场景如下: 1. Log4j 作用:Log4j是Apache的一个开源项目,提供日志记录的功能,支持多种输出目的地,如控制台、文件、GUI组…...

C++系列-第1章顺序结构-3-输出类cout

C系列-第1章顺序结构-3-输出类cout 在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述输出类cout的用法 cout介绍与基本用法 在C中,cout 是用于输出(打印)数据的工具&…...

对于智能设备的一些设想1

最近发现脑子里经常会出现一些能够偷懒的想法,希望这些点子能一点点保存下来,希望有需要的人拿走点子,不用谢 1.泡脚桶 2023年12月28日 近两年泡脚桶的风着实很大,我差点也就入坑了,于是有了一种设想,为什么…...

Large-Precision Sign using PBS

参考文献: [CLOT21] Chillotti I, Ligier D, Orfila J B, et al. Improved programmable bootstrapping with larger precision and efficient arithmetic circuits for TFHE[C]//Advances in Cryptology–ASIACRYPT 2021: 27th International Conference on the T…...

【电商项目实战】MD5登录加密及JSR303自定义注解

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《电商项目实战》。🎯🎯 &am…...

2014,TEVC,A competitive swarm optimizer for large scale optimization(CSO)

PSO 分析(从而引入 CSO) CSO (competitive swarm optimizer) 算法是在PSO (particle swarm optimization) 算法的基础上改进而来的。PSO算法是一种功能强大、应用广泛的群体智能算法,主要用来解决优化问题。PSO算法包含一个粒子群&#xff0…...

【机器学习】【线性回归】梯度下降

文章目录 [toc]数据集实际值估计值估计误差代价函数学习率参数更新Python实现导包数据预处理迭代过程数据可视化完整代码 线性拟合结果代价结果 个人主页:丷从心 系列专栏:机器学习 数据集 ( x ( i ) , y ( i ) ) , i 1 , 2 , ⋯ , m \left(x^{(i)} , …...

JMeter逻辑控制器之While控制器

JMeter逻辑控制器之While控制器 1. 背景2.目的3. 介绍4.While示例4.1 添加While控制器4.2 While控制器面板4.3 While控制器添加请求4.3 While控制器应用场景 1. 背景 存在一些使用场景,比如:某个请求必须等待上一个请求正确响应后才能开始执行。或者&…...

记录 Docker 外部访问的基本操作

目录 1. 启动 docker 时挂载本地目录2. 外部访问 docker 容器 (-p/-P)3. 无法连接 docker 内 SSH 解决方案 1. 启动 docker 时挂载本地目录 # 将本地 D:/SDK 目录 挂载到 容器里的 /mnt/host 目录中 # 注意:-v /d/SDK:/mnt/host/ 必须放到 IMAGE_ID 前面才行 # …...

【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference

文章目录 一、篇头二、系列文章2.1 Android 13 系列文章2.2 Android 9 系列文章2.3 Android 11 系列文章三、BannerMessagePreference的移植3.1 新的问题:找不到 R.dimen.settingslib_preferred_minimum_touch_target3.2 问题分析(一)3.2.1 资源定义的位置3.2.2 检查依赖3.2…...

Python 变量

打印输出内容 print(‘rumenle’) print(‘haode’) 缩进需要tab 注释将需要注释的部分开头用# 多行注释 1、用你也可以左键选中我们需要注释的代码,松开,按:Ctrl/,就完成相同效果注释 2、把要注释的内容放到三个引号对里面 …...

ComfyUI如何中文汉化

comfyui中文地址如下: https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translationhttps://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation如何安装? 1. git安装 进入项目目录下的custom_nodes目录下,然后进入控制台,运…...

Glary Utilities Pro - 电脑系统优化全面指南:详尽使用教程

软件简介: Glary Utilities Pro 是一款全面的电脑优化工具,它旨在帮助用户提升计算机的性能和稳定性。这款软件提供了多种功能,包括系统清理、优化、修复以及保护。通过一键扫描,它可以识别并清除无用文件、临时数据、注册表错误等…...

1.4分页和排序

排序: -- 分页(limit)和排序(order by) -- 排序:升序ASC,降序DESC -- ORDER BY 通过字段排序,怎么排 -- 查询的结果根据成绩降序,升序 SELECT s.studentno,studentname,sub.subjectname,studentresult FROM student s RIGHT JO…...

Modbus转Profinet,不会编程也能用!轻松快上手!

Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Modb…...

鸿蒙原生应用/元服务开发-Stage模型能力接口(十)下

ohos.app.form.FormExtensionAbility (FormExtensionAbility) 系统能力:SystemCapability.Ability.Form 示例 import FormExtensionAbility from ohos.app.form.FormExtensionAbility; import formBindingData from ohos.app.form.formBindingData; import formP…...

QT QPluginloader 加载失败,出现Unknown error 0x000000c1的问题

最近在学习Qt的插件开发&#xff0c;在加载插件时&#xff0c;一直失败&#xff0c;用如下代码加载并打印错误信息。 QDir dir("./testplugin.dll"); QPluginLoader pluginLoader(dir.absolutePath());//需要绝对路径 pluginLoader.load(); qDebug()<< "…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent

安全大模型训练计划&#xff1a;基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标&#xff1a;为安全大模型创建高质量、去偏、符合伦理的训练数据集&#xff0c;涵盖安全相关任务&#xff08;如有害内容检测、隐私保护、道德推理等&#xff09;。 1.1 数据收集 描…...