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.mzph.cn/bicheng/4564.shtml

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

相关文章

【InternLM】基于弱智吧数据的微调数据构造实验

1. 数据处理流程 在AI领域有句名言&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。可见数据对整个AI的决定性影响&#xff0c;在模型开源化的今天&#xff0c;很多厂商的模型结构都大同小异&#xff0c;那影响最终模型的一大决定因…

4.28java项目小结

这几天完成了用户修改资料模块的功能&#xff0c;实现了修改用户头像&#xff0c;昵称等信息&#xff0c;并且对数据库进行了操作&#xff0c;大致画了好友资料的页面的内容&#xff0c;这两天尽量完成表的创建&#xff0c;建立多对多的关系&#xff0c;实现好友的添加功能。

.DevicData-P-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复

引言&#xff1a; 随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中勒索病毒以其独特的攻击方式和巨大的破坏性引起了广泛关注。.DevicData-P-XXXXXXXX勒索病毒就是近期出现的一种新型勒索病毒&#xff0c;它利用强大的加密算法和巧妙的传播手段&…

HNCTF 2022 week1 题解

自由才是生活主旋律。 [HNCTF 2022 Week1] Interesting_include <?php //WEB手要懂得搜索 //flag in ./flag.phpif(isset($_GET[filter])){$file $_GET[filter];if(!preg_match("/flag/i", $file)){die("error");}include($file); }else{highlight_…

求解素数环问题

注&#xff1a;这里我的代码是以第一位为最大数n为首元素不动的 思路&#xff1a; 首先我们分析问题要以较小规模的样例进行分析&#xff0c;例如n3时 第一步&#xff1a;深入搜索 我们先不管后面怎么样&#xff0c;当前的首要目标是先确定第一个元素的值&#xff0c;可知有…

windows电脑改造为linux

有个大学用的旧笔记本电脑没啥用了&#xff0c;决定把它改成linux搭一个服务器&#xff1b; 一、linux安装盘制作 首先要有一个大于8G的U盘&#xff0c;然后去下载需要的linux系统镜像&#xff0c;我下的是ubuntu&#xff0c;这里自选版本 https://cn.ubuntu.com/download/d…

今日arXiv最热NLP大模型论文:韩国团队提出ResearchAgent系统,模仿人类产出论文idea

你是否还在苦于想发论文却没有idea&#xff1f; 在浩瀚无边的文献中苦苦寻找却又无从下手&#xff1f; 那些看似与你研究相关的文章&#xff0c;要么已经被人研究得透彻无比&#xff0c;要么与你的方向南辕北辙&#xff0c;让你倍感挫败。 不要慌&#xff0c;让AI来助你一臂之…

日期类的实现,const成员

目录 一&#xff1a;日期类实现 二&#xff1a;const成员 三&#xff1a;取地址及const取地址操作符重载 一&#xff1a;日期类实现 //头文件#include <iostream> using namespace std;class Date {friend ostream& operator<<(ostream& out, const Dat…

C语言中的三大循环

C语言中为我们提供了三种循环语句&#xff0c;今天我就来与诸君细谈其中之奥妙。循环这一板块总结的内容较多&#xff0c;而且&#xff0c;很重要&#xff01;&#xff08;敲黑板&#xff01;&#xff01;&#xff01;)&#xff0c;所以诸君一定要对此上心&#xff0c;耐住性子…

系统服务(22年国赛)—— nmcli命令部署VXLAN

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 系统服务&#xff08;22年国赛&#xff09;—— VXLAN服务部署https://myweb.myskillstree.cn/118.html 目录 题目&#xff1a; AppSrv 关闭防火墙和SEli…

Linux 双击sh脚本运行无反应或一闪而退【已解决】

这里写目录标题 一、问题描述二、解决思路1. 开启终端&#xff0c;使用命令行运行.sh脚本文件2. 终端中运行可以&#xff0c;但双击之后运行闪退 (遇到了个这个奇奇怪怪的问题) 三、分析记录3.1 .bashrc设置变量的作用域3.2 环境变量冲突覆盖问题. 四、相关知识点4.1 环境变量配…

CSS详解(一)

1、css工作中使用场景 美化网页&#xff08;文字样式、背景样式、边框样式、盒子模型、定位、动画、&#xff09;&#xff0c;布局页面&#xff08;flex布局、响应式布局、媒体查询&#xff09; 2、CSS 规则 通常由两个主要部分组成选择器和样式声明 2.1选择器 选择器指定了…

C语言-用二分法在一个有序数组中查找某个数字

1.题目描述 有15个数按由大到小顺序放在一个数组中&#xff0c;输入一个数&#xff0c;要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中&#xff0c;则输出“无此数” 二.思路分析 记录数组中左边第一个元素的下标为left&#xff0c;记录数组右边第一个…

Spring AI聊天功能开发

一、引入依赖 继承父版本的springboot依赖&#xff0c;最好是比较新的依赖。 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.4</version><relativePat…

【JavaScript】转化为布尔值boolean的几种情况

1 转化为布尔值boolean时为false的6种情况 下面6种值转化为布尔值时为false&#xff0c;其他转化都为true&#xff1a; 1、undefined2、null&#xff08;代表空值&#xff09;3、0&#xff08;数字0布尔值为false&#xff0c;字符串"0"布尔值为true) (数字0转布尔类…

C++笔试强训day10

目录 1.最长回文字符串 2.买卖股票的最好时机(一) 3.过河卒 1.最长回文字符串 链接 一开始没认真看题目&#xff0c;直到提交了好几遍没过还是没去检查题目&#xff0c;一直检查代码逻辑&#xff0c;哎呦&#xff0c;难受了。 我以为是收尾字母相同就行了。 错误代码&…

为什么二维数组初始化第一维数组长度可以为空,第二维不可以为空呢?

注意&#xff0c;数组第二维的长度声明永远不能省略。这是因为C语言中的二维数组元素在c编译程序为其分配的连续存储空间中是按行存放的&#xff0c;即存在完整第一行后存第二行&#xff0c;然后再第三行&#xff0c;以此类推。存放时系统必须知道每一行有多少个元素才能正确计…

一文讲解Android车载系统camera架构 - EVS

Android的camera开发中&#xff0c;使用最多的是camera2 以及现在Google主推的cameraX 架构&#xff0c;而这两个架构主要针对的是手机移动端上camera的流程。 而今天介绍的EVS(Exterior View System)架构是不同于camera2上的手机架构&#xff0c;针对Automotive的版本&#x…

软文伪原创工具有哪些,推荐3款强大的软文伪原创工具

软文作为一种重要的营销和传播手段&#xff0c;受到了越来越多的关注。而随着科技的不断发展&#xff0c;各种软文生产的工具相续出现&#xff0c;如&#xff1a;软文伪原创工具&#xff0c;它能为人们提供便捷、高效的文章生产方式&#xff0c;也及可以节省文章写作的时间与精…

车载系统的 加减串器应用示意

overview 车载系统上使用加减串器来实现camera&#xff0c; led液晶显示屏等 图像数据的远距离传输&#xff0c;将原先在短距离传输视频信号的mipi csi&#xff0c;dsi 等的TX&#xff0c;RX中间&#xff0c;插入加减串器&#xff0c;实现长距离的可靠传输。 示意图如下 往往…