Python 极简核心:数据类型

Python编程极简入门:3小时轻松上路 掌握Python就像学习骑自行车🚲——开始可能会摇晃,但一旦找到平衡点,就能自由驰骋!- 🚀 **专业之选**:PyCharm Professional(智能代码补全+数据库支持):全球平均年薪$80k+(来源:Stack Overflow 2023)- 🔧 **新手友好**:Thonny(内置调试器可视化执行过程)- 💻 **全能选手**:VS Code(安装Python扩展包):《流畅的Python》《Effective Python》:代码量仅为Java的1/5,开发速度提升3倍。 阅读详情

Python 极简核心:数据类型

这里,我将 Python 中常见的数据类型分为三大类:

  • 数值(Number)—— 3种
    对,这里我理解为“数值”,而不是“数字”!
  • 复合数据类型数据(Composite Data type) —— 5种
  • 特殊数据类型 None (空值)—— 1种

Python 中查看对象的数据类型:使用type()函数

具体如下表所示:

Data typeexample
Number
(数值)
int 整型10
float 浮点数2.0
bool 布尔值True(1)、False(0)
complex 复数2+3j
Composite Data Type
(复合数据类型)
String 字符串“hello”
List 列表[3, 2, 1]
Tuple 元组(1, 2, 3)
Dictionary 字典{‘a’:1, ‘b’:2, ‘c’:3}
Set 集合{3, 2, 2, 1, 0}
None(空值)

注:这里我将布尔值也归入数值型!

1. 数值

我这里认为 Python 有四种数值型:

  • 整型(int)

    整数,是正数或者负数

  • 浮点型(float)

    包含小数的正数或者负数(也可以用带e的科学记数)

  • 复数(complex)

    复数用j作为虚部

  • 布尔型(bool)

    布尔值只有两个,True 和 False

注:按普遍说法,Python 中有三种数字类型(整型、浮点型、复数)
我这里将布尔值加入上面的数字类型,变为4种数值型

附:Python 中随机数的表示

在 Python 中并没有random()函数来创建随机数,但是可以使用内置函数模块random来生成随机数:

整数:

  • random.randrange(stop)
  • random.randrange(start, stop[, step]):return range(start, stop, step)
  • random.randint(a, b):b <= return <= a ,实质上是Alias for randrange(a, b+1)

小数:

  • random.random() :return ∈ [0.0, 1.0)
  • random.uniform(a, b) : b <= return <= a

2. 复合数据类型

Python 中有五种复合数据类型:

  • 列表(List)
  • 字符串(String)
  • 元组(Tuple)
  • 集合(Set)
  • 词典(Dictionary)

(1)对象

#(1)String
# 字符串是数组

s = "Today is a good day !"
# 索引和切片
print(f"s[0]")
print(f"s[2:5]")
print(f"s[-5:-2]")
print(f"s[-5:]")


(2)操作


#(1)List

lst = [1, 3, 5, 7, 9]

# 查看属性
print(type(lst))
print(dir(lst))

## List自带的方法
# 增
lst.append(10)    #  L.append(object)
print(f'lst.append(10): {lst}')
lst.insert(1, 3)  #  L.insert(index, object)
print(f'lst.insert(1, 2): {lst}')

# 删
lst.remove(3)
print(f'lst.remove(2): {lst}')

lst.pop(0)  # L.pop([index])
print(f'lst.pop(0): {lst}')
lst.pop()   # default last
print(f'lst.pop(): {lst}')

# 改变顺序
lst.reverse()
print(f'lst.reverse(): {lst}')

# 合并
lst.extend(lst)
print(f'lst.extend(lst): {lst}')

# 元素计数
lst_count = lst.count(9)
print(f'lst.count(1): {lst_count}')


## Python 内建语句和函数
del lst[1]
print(f'del lst[1]: {lst}')

lst = sorted(lst)
print(f'sorted(lst): {lst}')

print()

#(2)Tuple

## 元组是不可变数据类型,因此只能查询,而没有增删等修改操作。(可以将元组转换为列表进行更改))

tup = (2, 4, 6, 8, 10)

# 元素计数
tuple_count = tup.count(8)
print(f'tuple_count: {tuple_count}')

# 查询索引
tuple_index = tup.index(6)
print(f'tuple_index: {tuple_index}')

print()

# String
# 字符串是不可变类型,但是注意,字符串不仅仅可以查询,它可以通过新建一个新字符串的方式来进行修改操作

s = "Today is a good day !"

## 查询
string_count = s.count('d')
print(f"s.count('d'): {string_count}")
string_find = s.find('s')
print(f"s.find('s'): {string_find}")

## 修改

# 替换:replace
(待做)

# 分隔合并:join
string_join = '-'.join(s) # S.join(iterable) 注意:是用字符串S去分隔iterable
print(f"string_join': {string_join}")

# 大小写
string_lower = s.lower()  # 全部小写
print(f'string_lower: {string_lower}')

string_upper = s.upper()  # 全部大写
print(f'string_upper: {string_upper}')

string_title = s.title()  # 首字母大写
print(f'string_title: {string_title}')

# 居中
string_center = s.center(30, '+') # 注意:填充物的长度只能是1
print(f'string_center: {string_center}')

# 对齐
left_just = s.ljust(30, '-')   # 左对齐
print(f'left_just: {left_just}')
right_just = s.rjust(30, '-')  # 右对齐
print(f'right_just: {right_just}')

print()



#(3)Dictionary

dic = {'a':1, 'b':2, 'c':3}

# 访问:# dic[key]
print(f"dic['b']: {dic['b']}")

# 修改:dic[key] = value_new
dic['b'] = '5'
print(f'dic[key] = value_new: {dic}')

# 增加 # dic[new_key] = value_new
dic['d'] = '8'
print(f"dic[new_key] = value_new: {dic}")

# 删除:# del dic[key]
del dic['b']
print(f"del dic['b']: {dic}")

# 遍历读取
for k in dic.keys():
    print(f'keys: {k}')         # 获取 keys
    print(f'values: {dic[k]}')  # 间接获取 values

for v in dic.values():
    print(f'values: {v}')       # 间接获取 values

for k,v in dic.items():         # 同时获取 keys 和 values
    print(k, v)


print()

#(4)Set
## 集合主要用于 元素去重

# 创建
blank_basket = {} # 需要注意,建立空集合需要用 set(),而不是{}
print(type(blank_basket))

basket = {'1', '2', 3, 4, 4, (5)}
print(type(basket))

# 元素去重
basket = set(basket)  # 注意集合是没有顺序可以言的
print(f'set(basket): {basket}')
<class 'list'>
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
lst.append(10): [1, 3, 5, 7, 9, 10]
lst.insert(1, 2): [1, 3, 3, 5, 7, 9, 10]
lst.remove(2): [1, 3, 5, 7, 9, 10]
lst.pop(0): [3, 5, 7, 9, 10]
lst.pop(): [3, 5, 7, 9]
lst.reverse(): [9, 7, 5, 3]
lst.extend(lst): [9, 7, 5, 3, 9, 7, 5, 3]
lst.count(1): 2
del lst[1]: [9, 5, 3, 9, 7, 5, 3]
sorted(lst): [3, 3, 5, 5, 7, 9, 9]

tuple_count: 1
tuple_index: 2

s.count('d'): 3
s.find('s'): 7
string_join': T-o-d-a-y- -i-s- -a- -g-o-o-d- -d-a-y- -!
string_lower: today is a good day !
string_upper: TODAY IS A GOOD DAY !
string_title: Today Is A Good Day !
string_center: ++++Today is a good day !+++++
left_just: Today is a good day !---------
right_just: ---------Today is a good day !

dic['b']: 2
dic[key] = value_new: {'a': 1, 'b': '5', 'c': 3}
dic[new_key] = value_new: {'a': 1, 'b': '5', 'c': 3, 'd': '8'}
del dic['b']: {'a': 1, 'c': 3, 'd': '8'}
keys: a
values: 1
keys: c
values: 3
keys: d
values: 8
values: 1
values: 3
values: 8
a 1
c 3
d 8

<class 'dict'>
<class 'set'>
set(basket): {3, 4, 5, '2', '1'}

注:

1、sort()和sorted()函数的区别

首先,sort()是list的方法函数;sorted()是python的内建函数,
所以sort()的使用方法是句点表示法,调用的是list的方法函数,所以sort()只能接受list对象,而sorted函数可以接受各种对象。

其次,sort()方法可以设置两个参数:①指定参考对象②升序或者降序

字符串格式化

Python 极简核心:程序之道 极简理解 Python 编程: stage1(初级了解):程序 = 值(value)+ 操作符(operator) stage2(深入了解):程序 = 值(value)+ 操作符(operator)+ 控制流(control flow) 阅读详情

相关推荐

Python-minigraphdb:极简向量图数据库的Python3实现

向量图数据库(Vector Graph Database)是专门为处理大规模图数据而设计的数据库。与传统的关系型或NoSQL数据库不同,向量图数据库不仅存储节点和边,而且通过图的结构来表示复杂的数据关系和模式。它们在处理需要高度关联性和复杂查询的场景中展现出独特的优势。Python-minigraphdb的核心功能在于其图查询语言的实现,它支持声明式的图数据查询,类似于SQL语句对于关系数据库的作用。查询语言简洁明了,允许用户通过简单的语句对图结构进行复杂查询。

weixin_42612405的博客 1120

python中字符串的ljust、rjust、center方法讲解

python中字符串的ljust、rjust、center方法讲解这三种方法的用法差不多:S.ljust(width[, fillchar]),即长度加占位符,默认为空格,这三种在格式化输出时用着非常方便。如:&gt;&gt;&gt; a="Hello world"&gt;&gt;&gt; print a.rjust(20)'         Hello world'&gt;&gt;&gt; pr...

weixin_34345753的博客 688

Cluster Computing期刊投稿实战:从格式调整到技术检查的全流程解析

本文详细解析了向Cluster Computing期刊投稿的全流程,涵盖心理准备、格式调整、参考文献处理及投稿系统操作。重点介绍了如何利用Springer LaTeX模板,特别是使用picins宏包解决作者简介排版难题,并强调了将BibTeX转换为BBL文件以避免技术审查陷阱,为研究者提供了一份实用的投稿指南。

weixin_28432777的博客 668

为什么 AI 产品越来越难用?聊聊极简设计的得与失

极简 AI 产品设计的核心不是“少做功能”,而是“将复杂性从用户侧转移到系统侧”。三层隐式智能模型(用户层 → 推断层 → 执行层)提供了一种系统性的设计框架,让用户只需表达意图,系统自动推断上下文并选择最优策略。但极简设计有其边界:推断错误时用户缺乏纠正手段,隐式反馈涉及隐私合规,专业用户需要精确控制而非自动推断。落地的关键是在极简与可控之间找到动态平衡——默认极简,按需展开高级选项,让不同层次的用户都能获得匹配的体验。

weixin_63764436的博客 5619

如何用SPSS做logistic回归

详细到只有作者本人能看懂的SPSS逻辑回归育儿经

qq_44794961的博客 2万+

项目管理面试常见问题及答案

1. 项目管理软件工具知识,   2. 编制项目计划的技术,   3. 人员管理技能   4. 沟通技能   5. 原理体系知识(标生命周期和项目管理)。 项目管理软件工具知识   问题1:工期和工作量之间的差异是什么?   答案1:工期是商业/日历上的天数,与人数和工作量无关。工作量是与日历天数无关的人的工作。例如:   一天的工作量对于一个一只花50%在时间在上面的人来说,他的工期就是两天。...

okbin1991的博客 2840

Python极简入门:零基础到核心语法实战

Python是打开未来技术大门的钥匙,今天就是最好的开始时机!通过这篇指南,你可以掌握核心概念,接下来就是动手实践的时刻了!

qq_45438032的博客 1386

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

Python 极简核心:对象

对象 Python 中一切皆对象。 变量 变量是对象的引用 赋值就是建立一个对象的引用 值和对象的区别? Every object has an identity, a type and a value. 变量和对象的区别? In Python, variables are references to objects and any variable can reference any object. ...

Robin_Pi的博客 309

相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象

如何显示图像:可以访问我文章开头的博客,通过编写相机通用类即可,程序中是有继承通用类,通过访问相机通用的获取图像数据,从而传输图像数据。具体可以查看相机通用类。整体过程其实比较简单,由于海康相机没有像一些品牌相机一样可以直接使用序列号开启相机,所以我们需要通过对相机信息进行索引,根据索引到的相机序列号来开启相机。

m0_51559565的博客 7620

【图像增强】论文精读:Correlation Matching Transformation Transformers for UHD Image Restoration(UHDformer)

论文题目:Correlation Matching Transformation Transformers for UHD Image Restoration —— 用于UHD图像恢复的相关匹配变换变压器AAAI 2024!本文提出了一种用于超高清(UHD)图像恢复的通用变压器UHDformer。UHDformer包含两个学习空间:(a) 高分辨率空间中的学习,(b)低分辨率空间中的学习。前者学习多层次的高分辨率特征,融合低层特征,重建残差图像,后者从高分辨率特征中学习更多的代表性特征,以促进更好的恢复。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 290

Pluggy完全指南:打造极简高效的Python插件系统

Pluggy是一个极简且生产就绪的Python插件系统,它允许开发者轻松构建可扩展的应用程序。无论是大型框架还是小型工具,Pluggy都能提供灵活的插件架构,让你的项目具备强大的扩展能力。 ## 什么是Pluggy? Pluggy是一个轻量级的Python库,它提供了创建和管理插件系统的核心功能。通过Pluggy,你可以定义钩子规范(hookspec)和钩子实现(hookimpl),实现代码的

gitblog_00609的博客 778

心理学量表汇总 50多个 附下载

目录一、心理健康与精神病态量表二、行为问题量表三、人格评估量表四、智力测验一、心理健康与精神病态量表1.一般症状自评量表(SCL-90)症状自评量表 (The self-report symptom inventory ,Symptom checklist ,90,简称 SCL90) 有 90 个评定项目 , 每个项目分五级评分 , 包含了比较广泛的精神病症状学内容, 从感觉、 情 感、思维、意识、行为直至生活习惯、人际关系、饮食等均有涉及,能准确刻划被试的自觉 症状,能较好地反映被试的问题及其严重程度和变

南七小僧的学海无涯 1904

Windows Python 环境管理终极对比:极简方案 VS 传统方案(仅需 2 个软件实现全流程自动化)

适用于Poetry、Pipenv、venv、uv、Hatch等的Anaconda(统一管理 Python 版本)PyCharm/VS Code(集成环境可视化管理)对比

AITechLab 的博客 1963

备战2025数学建模国赛(算法46):多目标优化

本篇博客将深入浅出地介绍多目标优化的核心概念、主流算法,并重点结合一个数学建模竞赛的经典案例,提供完整的Python代码实现,助你在未来的竞赛中游刃有余。它通过寻找帕累托最优解集,完美地诠释了“鱼与熊掌不可兼得”的权衡思想,为最终决策提供科学依据。这些问题都包含多个相互冲突的目标,传统的单目标优化方法(如梯度下降、单纯形法)对此无能为力,因为它们无法同时优化多个目标。在数学建模竞赛中,我们面临的绝大多数问题都不是单一的“最好”,而是充满权衡与妥协的“最优”。记住,成功的建模不仅在于解出问题,更在于清晰地。

YOLO 284

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

前端程序员学习Python的极简入门

Python 是一种高级编程语言,以其简洁易读的语法和强大的功能受到广泛欢迎。对于前端程序员来说,学习 Python 可以扩展技能集,帮助你处理后端开发、数据分析、自动化脚本等任务。

cuijiying的博客 2001

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

极简主义:lowbar——Python终端进度条的极致选择

极简主义:lowbar——Python终端进度条的极致选择 在数据处理、文件传输、任务调度等场景中,进度条是提升用户体验的重要工具。然而,许多进度条库功能繁杂,依赖众多,甚至可能拖慢你的程序。如果你正在寻找一个简单、高效、无依赖的进度条解决方案,那么lowbar将是你的不二之选。 项目介绍 lowbar是一个极简主义的Python进度条库,专为终端环境设计。它以“简单至上”为原则,摒弃了复杂的功能...

gitblog_00345的博客 811

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

flip-jump:极简编程语言的现代计算能力

flip-jump:极简编程语言的现代计算能力 在现代编程语言中,flip-jump以其独特的方式吸引了众多开发者的注意。它是一种极其简化的编程语言,却拥有执行任何现代计算的能力。 项目介绍 flip-jump是一种另类的编程语言,也被称为Esoteric语言。它的核心操作只有一种:a;b,即**Flip(翻转)一个比特位,然后Jump(跳转)**到另一个地址。这种极简的设计理念使得flip-ju...

gitblog_00934的博客 771

ZeroVer:极简主义版本控制方案

ZeroVer:极简主义版本控制方案 ZeroVer 是一个极简主义版本的软件版本控制方案,旨在为开发者提供一个简洁、高效的版本管理方法。该项目主要使用 Python 编程语言,同时涉及 CSS、JavaScript 和 HTML 等技术栈。 项目基础介绍 ZeroVer 项目的核心理念是利用数字 "0" 的创新力量,为软件版本控制带来革命性的改变。它颠覆了传统的版本控制观念,...

gitblog_00982的博客 513

Matrixcli:极简命令行Matrix客户端

Matrixcli:极简命令行Matrix客户端 项目介绍 Matrixcli 是一个基于 matrix-python-sdk 开发的极简命令行 Matrix 客户端。Matrix 是一个开放的通信协议,旨在实现去中心化的实时通信。Matrixcli 提供了一个轻量级的命令行界面,使用户能够通过命令行与 Matrix 服务器进行交互,发送消息、接收通知、管理房间等。 项目技术分析 Matrixcl...

gitblog_00006的博客 1033

tinypy:极简Python解释器,高效运行Python代码

tinypy:极简Python解释器,高效运行Python代码 项目介绍 tinypy 是一款极简的 Python 解释器,其目标是尽可能地减少内存和资源占用,同时保持 Python 的核心功能。作为一个轻量级的项目,tinypy 非常适合在嵌入式系统、小型设备或任何需要节省资源的场景中使用。其设计理念类似于 Lua,但提供了 Python 的语法和部分特性。 项目技术分析 tinypy 的核心是...

gitblog_01156的博客 963

Agreper:极简无JS论坛软件的终极介绍,为什么它值得你尝试?

Agreper是一款专注于简单设置和管理的极简无JS论坛软件,为用户提供轻量高效的在线交流平台。它摒弃了复杂的JavaScript依赖,以简洁的设计和实用的功能满足论坛搭建需求。 ## 为什么选择Agreper?三大核心优势解析 ### 极致简洁:无JS设计带来的流畅体验 Agreper采用无JavaScript设计,不仅让页面加载速度更快,还能在各种设备和浏览器环境下保持稳定运行。对于追求简

gitblog_00548的博客 944

Python 极简核心:函数

匿名函数

Robin_Pi的博客 371

Python 极简核心·总章

Python 极简核心·总章 Python 极简核心:程序之道 Python 极简核心:对象 Python 极简核心:变量 Python极简核心:字符串(string) Python 极简核心:函数

Robin_Pi的博客 354

Python 15个极简代码,新手小白必备入门!

本文将分享 15 个极简的 Python 代码示例,帮助新手小白快速掌握 Python 的基本语法和常用操作。以上 15 个极简代码涵盖了 Python 的基本语法和常用操作,非常适合新手小白入门学习。通过实践这些代码,你可以快速掌握 Python 的核心概念,为进一步学习打下坚实基础。解释:greet() 是一个简单的函数,接受一个参数 name。解释:print() 是 Python 中用于输出内容的函数。列表是 Python 中常用的数据结构,用于存储一组数据。

Python_trys的博客 6346

从‘小本本’到代码:情侣吵架计数器的极简编程哲学

本文通过情侣吵架计数器的编程实践,阐述了极简主义编程哲学的核心思想:用最少代码实现最多功能,同时保持高可读性和实用性。文章从情感化设计角度出发,探讨了如何将简单需求转化为优雅代码,并展示了Python实现的计数器示例,体现了代码应该像对话一样自然的极简编程理念。

y7z8a9的博客 1156
上一篇: Python 极简核心:变量
下一篇: Python 极简核心:函数
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值