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

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...