Python快速入门1数据类型(需要具有编程基础)

数据类型:

Python 3.0版本中常见的数据类型有六种:

不可变数据类型可变数据类型
Number(数字)List(列表)
String(字符串)Dictionary(字典)
Tuple(元组)Set(集合)

其中Number(数字类型)分为四种:

数字类型

整形:

        在Python 3里,只有一种整数类型 int,表示长整型,取消了python2中的Long类型。

type函数:type函数会返回type类型的值,表示参数的数据类型,例如

>>> a = 1
>>> print(a)
<class 'int'>
>>> print(type(a))
<class 'type'>

isinstance函数:isinstance也是用于判断变量类型的,包括两个参数,函数会返回布尔类型

>>> a = 1
>>> isinstance(a, int)
True

id函数:id函数用来返回这个变量值的内存地址

>>> a = 1
>>> print(id(a))
2679027466480

浮点型:

        表示小数,带有小数点的数字类型的就是浮点型

>>> b = 1.5
>>> print(b)
1.5

        科学计数法表示浮点型数据:

>>> e = 3.1416e-4
>>> f = 3.1416e4
>>> print(e)
0.00031416
>>> print(f)
31416.0

布尔型:

        布尔型有两种:真(True),假(False),如下是布尔型的逻辑运算与强制类型转换实例

>>> e = 3.1416e-4
>>> f = 3.1416e4
>>> print(e == f)
False
>>> print(type(e) == type(f))
True
>>> a = True
>>> b = False
>>> print(a and b)
False
>>> print(a or b)
True
>>> print(not a)
False
>>> print(int(a))
1
>>> print(float(b))
0.0
>>> print(str(a))
"True"

        在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为True0、空字符串、空列表、空元组等被视为False。因此在强制类型转换的时候要注意。

复数型:

        复数包括实部+虚部,其中虚数i表示i = \sqrt{-1}

>>> g = 3+1j
>>> print(g*g)
(8+6j)

数据的操作: 

数值运算:

>>> 1 + 1  # 加法
2
>>> 2.3 - 2 # 减法
0.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 8 % 3 # 取余 
2
>>> 2 ** 4 # 乘方
16

多变量赋值: 

>>> a, b = 1.2, 1
>>> print(a)
1.2
>>> print(b)
1

 字符串:

        Python中的字符串用单引号或双引号括起来,还可以用三引号括起来表示多行字符串,同时使用反斜杠符号(\)转义特殊字符,如果不想表示转义就在字符串前面加上r,就表示原始字符。例如:

>>> str = "hello\nHow are you"
>>> print(str)
hello
How are you
>>> rstr = r'hello\nHow are you'
>>> print(rstr)
hello\nHow are you
>>> moreStr = """
>>> hi
>>> Im LiHua
>>> Im twenty years old
>>> """
>>> print(moreStr)
hi
Im LiHua
Im twenty years old

字符串格式化:

        字符串中的 {} 组成了一种格式化字符串的机制,称为字符串格式化或字符串插值。这种机制允许你将变量的值以及其他表达式的结果插入到字符串中,从而动态地构建字符串。在字符串中,{}表示一个占位符,程序运行时它会被替换为相应的值。例如使用format方法:

>>> name = "Alice"
>>> age = 30
>>> sentence = "My name is {}, and I am {} years old.".format(name, age)
>>> print(sentence)
My name is Alice, and I am 30 years old.

        还可以使用f-string方法:

>>> name = "Bob"
>>> age = 25
>>> sentence = f"My name is {name}, and I am {age} years old."
>>> print(sentence)
My name is Bob, and I am 25 years old.

字符串截取与拼接

        字符串截取格式:变量[开始下标:末尾下标],末尾下标不写就表示到末尾,为-1表示到倒数第二个字符的位置。例如:

>>> str = 'This is a string'
>>> print(str[0:])
This is a string
>>> print(str[8:])
a string
>>> print(str[0:-1])
This is a strin
>>> print(str[5:7])
is
>>> pstr = 'created by me'
>>> print(str + ' ' + pstr)
This is a string created by me

注意:字符串不能更改任何值,不同与C语言,在python中str[1] = 'j'为非法操作。

List(列表型)

        列表是一个包含多个元素的数据类型,是写在方括号[]之间、用逗号分隔开的元素列表。和,例如:列表中元素的类型可以不相同,它支持几乎所有的数据类型,甚至可以在列表中嵌套列表。

>>> my_list = [1, 2, 3, 4, 5]
>>> print(my_list)
[1, 2, 3, 4, 5]>>> mixed_list = ['apple', 3.14, True, 'banana']
>>> print(mixed_list)
['apple', 3.14, True, 'banana']>>> nested_list = [[1, 2], [3, 4], [5, 6]]
>>> print(nested_list)
[[1, 2], [3, 4], [5, 6]]

        与字符串一样,列表同样可以被索引,截取,拼接,列表被截取后返回一个包含所需元素的新列表。例如:

>>> my_list = [1, 2, 3, 4, 5]
>>> print(my_list[0])  # 访问第一个元素
1
>>> print(my_list[1:3])  # 获取索引1到2的元素(不包括索引3)
[2, 3]
>>> add_list = [6, 7, 8, 9, 10]
>>> print(my_list + add_list)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

        列表是可变的,可以通过索引来修改、添加和删除元素。 

>>> my_list[0] = 10  # 修改第一个元素的值
>>> print(my_list)
[10, 2, 3, 4, 5]>>> my_list.append(6)  # 在列表末尾添加一个元素
>>> print(my_list)
[10, 2, 3, 4, 5, 6]>>> del my_list[1]  # 删除索引为1的元素
>>> print(my_list)
[10, 3, 4, 5, 6]

Tuple(元组型):

        元组是另一种有序的数据类型,类似于List(列表)可以说是一直特殊的列表。不同之处在于元组的元素不能修改,元组写在小括号()里,元素之间用逗号隔开。其余都一样。例如:

>>> tup1 = ('physics', 'chemistry', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> print(tup1[0])
'physics'
>>> print(tup2[1:5])
(2, 3, 4, 5)

        元组虽然类似于列表,但是元组一旦创建,其中的元素就不能修改,所以Python会优化内存,因此运行速度相对于列表会更快。

Set(集合型):

        集合是一个无序且不重复的元素集合,用大括号{}或set()函数创建,集合中的元素不可重复。集合常见的用途包括成员测试和删除重复数据。例如:

>>> set1 = {1, 2, 3, 4, 5}
>>> set2 = set("hello")
>>> print(set1)
{1, 2, 3, 4, 5}
>>> print(set2)
{'o', 'h', 'l', 'e'}

        集合也支持集合间的运算,如并集、交集、差集等。

>>> set1 = {1, 2, 3}
>>> set2 = {3, 4, 5}
>>> print(set1 | set2)  # 并集
{1, 2, 3, 4, 5}
>>> print(set1 & set2)  # 交集
{3}
>>> print(set1 - set2)  # 差集
{1, 2}

       注意:集合是可变的,但是集合中的元素必须是不可变的,例如可以包含整数、浮点数、元组等,但不能包含列表、字典等可变类型

Dictionary(字典型):

        字典是另一种可变容器模型,里面存储的是键值对,且可存储任意类型对象。字典的每个键值对用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号{}中。且字典中的键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。例如:

>>> dict = {'Name': 'John', 'Age': 25, 'Class': 'First'}
>>> print(dict['Name'])
John
>>> dict['Age'] = 26
>>> print(dict['Age'])
26

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

Linux基本指令(2)

目录 mv指令&#xff1a; cat&#xff1a; more指令&#xff1a; less指令&#xff1a; head指令&#xff1a; tail指令&#xff1a; mv指令&#xff1a; 说明&#xff1a; mv命令是move的缩写&#xff0c;可以用来移动文件或者文件改名(move(rename)files),是linux系统下…

Pixelmator Pro for Mac:简洁而强大的图像编辑软件

Pixelmator Pro for Mac是一款专为Mac用户设计的图像编辑软件&#xff0c;它集简洁的操作界面与强大的功能于一身&#xff0c;为用户提供了卓越的图像编辑体验。 Pixelmator Pro for Mac v3.5.9中文激活版下载 该软件支持多种文件格式&#xff0c;包括常见的JPEG、PNG、TIFF等&…

高频面试题:解决Spring框架中的循环依赖问题

引言&#xff1a;什么是Spring框架与循环依赖&#xff1f; 在Spring框架中&#xff0c;循环依赖是指两个或多个bean相互依赖对方以完成自己的初始化。这种依赖关系形成了一个闭环&#xff0c;导致无法顺利完成依赖注入。比如&#xff0c;如果Bean A在其构造函数中需要Bean B&a…

Linux(Centos 7)环境下安装wget,并且更换阿里云镜像

Linux(Centos 7) Minimal 安装后&#xff0c;由于没有预装wget&#xff0c;在使用wget命令去下载安装相关应用时&#xff0c;提示&#xff1a;“wget: command not found” 先在Linux服务器窗口中&#xff0c;输入如下命令&#xff0c;检查Linux服务器有没有安装过wget。 rpm -…

第一篇【AI与传奇开心果系列】Python的AI相关库技术点案例示例:详解AI作画原理

AI与传奇开心果博文系列 系列博文目录Python的AI相关库技术点案例示例系列 博文目录前言一、AI作画算法原理介绍二、深度学习的神经网络AI作画算法原理应用示例代码三、特征学习AI作画算法原理应用示例代码四、风格迁移AI作画算法原理应用示例代码五、损失函数AI作画算法原理应…

软件测试之【合理的利用GPT来辅助软件测试一】

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言GPT的原理及技巧GPT辅助接口自动化测试 前言 在编程基础栏目中&#xff…

就业班 第三阶段(tomcat) 2401--4.28 day1 tomcat1安装配置及单机多实例

企业 Tomcat 运维 文章目录 企业 Tomcat 运维一、Tomcat 简介1、Tomcat好帮手---JDK2、安装Tomcat & JDK1、系统环境说明2 、安装JDK3、安装Tomcat 二、Tomcat目录介绍1、tomcat主目录介绍2、webapps目录介绍3、Tomcat配置介绍&#xff08;conf&#xff09;4、Tomcat的管理…

什么是中间件?中间件有哪些?

什么是中间件&#xff1f; 中间件&#xff08;Middleware&#xff09;是指在客户端和服务器之间的一层软件组件&#xff0c;用于处理请求和响应的过程。 中间件是指介于两个不同系统之间的软件组件&#xff0c;它可以在两个系统之间传递、处理、转换数据&#xff0c;以达到协…

将要上市的自动驾驶新书《自动驾驶系统开发》中摘录片段

全书共分15章&#xff1a;第1章是自动驾驶系统的概述&#xff08;场景分类、开发路径和数据闭环等&#xff09;&#xff0c;第2章简介自动驾驶的基础理论&#xff0c;即计算机视觉和深度学习等&#xff0c;第3&#xff5e;4章是自动驾驶的软硬件平台分析&#xff0c;包括传感器…

Android --- 常见UI组件

TextView 文本视图 设置字体大小&#xff1a;android:textSize"20sp" 用sp 设置颜色&#xff1a;android:textColor"#00ffff" 设置倍距(行距)&#xff1a;android:lineSpacingMultiplier"2" 设置具体行距&#xff1a;android:lineSpacingExtra&q…

centos 7 yum install -y nagios

centos 7 systemctl disable firewalld --now vi /etc/selinux/config SELINUXdisabled yum install -y epel-release httpd nagios yum install -y httpd nagios systemctl enable httpd --now systemctl enable nagios --now 浏览器 IP/nagios 用户名&#xff1a;…

大白菜启动U盘想格式化但格式化不了

部分区域被修改分区表保护起来了。直接格式化的话&#xff0c;里面的文件夹都还在。根本格式化不了。特别是可用容量并未还原出来。 进入计算机管理》磁盘管理&#xff0c;看到U盘盘符。别搞错了。删除掉里面的已经分的区域和未分区区域&#xff0c;让它还原成一个整体。退出。…

「C++ 内存管理篇 1」C++动态内存分配

目录 〇、C语言的动态内存分配方式 一、C的动态内存分配方式 1. 什么是C的动态内存分配&#xff1f; 2. 为什么需要C的动态内存分配&#xff1f; a. new的优势 b. new的不足 c. delete的优势 d. 总结 3. 怎么使用new和delete? a. 对于内置类型 b. 对于自定义类型 c. 为什么ne…

prime1--vulnhub靶场通关教程

一. 信息收集 1. 探测目标主机IP地址 arp-scan -l //查看网段 vm 编辑--查看虚拟网络编辑器&#xff0c;看到靶机的网段 网段是&#xff1a; 192.168.83.0 是c段网络 2. 全面检测目标IP nmap -sP 192.168.83.1/24 靶机ip是&#xff1a; 192.168.83.145 攻击机的ip是&…

【Java难点】多线程终极

悲观锁和乐观锁 悲观锁 synchronized关键字和Lock的实现类都是悲观锁。 它很悲观&#xff0c;认为自己在使用数据的时候一定有别的线程来修改数据&#xff0c;因此在获取数据的时候会一不做二不休的先加锁&#xff0c;确保数据不会被别的线程修改。 适合写操作多的场景&…

【SpringBoot】00 Maven配置及创建项目

一、Maven配置 1、下载Maven 进入官网下载&#xff1a;Maven – Welcome to Apache MavenMaven – Download Apache Maven 本文以最新版为例&#xff0c;可按需选择版本 Maven – Welcome to Apache Maven 2、解压下载好的安装包 将安装包解压到自己设置的空文件夹中 3、…

7.Prism框架之对话框服务

文章目录 一. 目标二. 技能介绍① 什么是Dialog?② Prism中Dialog的实现方式③ Dialog使用案例一 (修改器)④ Dialog使用案例2(异常显示窗口) 一. 目标 1. 什么是Dialog?2. 传统的Dialog如何实现?3. Prism中Dialog实现方式4. 使用Dialog实现一个异常信息弹出框 二. 技能介…

《HCIP-openEuler实验指导手册》1.3Apache动态功能模块加载卸载练习

1.3.1 配置思路 mod_status 模块可以帮助管理员通过web界面监控Apache运行状态&#xff0c;通过LoadModule指令加载该模块&#xff0c;再配置相关权限&#xff0c;并开启ExtendedStatus后&#xff0c;即可使用该模块。 1.3.2 配置步骤 检查mod_status模块状态&#xff08;使…

C# Solidworks二次开发:访问平面、曲面相关API详解

大家好&#xff0c;今天要介绍的是关于平面、曲面相关的API。 下面是相关的API: &#xff08;1&#xff09;第一个为ISurfacePlanarFeatureData&#xff0c;这个API的含义为允许访问平面表面特征&#xff0c;下面是官方的具体解释&#xff1a; 下面是官方使用的例子&#xff…