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

news2024/11/28 6:36:57

数据类型:

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.coloradmin.cn/o/1631568.html

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

相关文章

NLP transformers - 文本分类

Text classification 文章目录 Text classification加载 IMDb 数据集Preprocess 预处理EvaluateTrainInference 本文翻译自&#xff1a;Text classification https://huggingface.co/docs/transformers/tasks/sequence_classification notebook : https://colab.research.googl…

明日周刊-第8期

现在露营的人越来越多了&#xff0c;都是带着帐篷或者遮阳篷聚在一起喝喝茶聊聊天&#xff0c;这是一种很好的放松方式。最近我养了一只金毛&#xff0c;目前两个月大&#xff0c;非常可爱。 文章目录 一周热点资源分享言论歌曲推荐 一周热点 一、人工智能领域 本周&#xff…

Java面试八股之main方法的参数中字符串数组的第一个元素是什么

Java main方法的参数中字符串数组的第一个元素是什么 Java main 方法的参数中字符串数组的第一个参数通常是指命令行启动Java应用程序时传递给该程序的第一个命令行参数。当您在命令行中执行一个Java应用程序&#xff0c;可以跟随类名后面附加一系列参数&#xff0c;这些参数将…

Debian 系统设置SSH 连接时长

问题现象&#xff1a; 通过finalshell工具连接Debian系统远程操作时&#xff0c;总是一下断开一下断开&#xff0c;要反复重新连接 &#xff0c;烦人&#xff01; 解决办法&#xff1a; 找到ssh安装目录下的配置文件&#xff1a;sshd_config vi sshd_config &#xff1a; 找到…

李沐70_bert微调——自学笔记

微调BERT 1.BERT滴哦每一个词元返回抽取了上下文信息的特征向量 2.不同的任务使用不同的特性 句子分类 将cls对应的向量输入到全连接层分类 命名实体识别 1.识别应该词元是不是命名实体&#xff0c;例如人名、机构、位置 2.将非特殊词元放进全连接层分类 问题回答 1.给…

Android --- 常见UI组件

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

闲话 ASP.NET Core 数据校验(二):FluentValidation 基本用法

前言 除了使用 ASP.NET Core 内置框架来校验数据&#xff0c;事实上&#xff0c;通过很多第三方框架校验数据&#xff0c;更具优势。 比如 FluentValidation&#xff0c;FluentValidation 是第三方的数据校验框架&#xff0c;具有许多优势&#xff0c;是开发人员首选的数据校验…

kyuubi、sparksql部署实战与连接

一、下载spark和kyuubi的软件包 spark官网下载 https://spark.apache.org/downloads.html kyuubi官网下载 https://www.apache.org/dyn/closer.lua/kyuubi/kyuubi-1.9.0/apache-kyuubi-1.9.0-bin.tgz 二、部署spark 1、spark配置spark-env.sh YARN_CONF_DIR/opt/cloudera…

大象机器人开源协作机械臂myCobot 630 全面升级!

1. 开篇概述 在快速发展的机器人技术领域中&#xff0c;Elephant Robotics的myCobot 600已经证明了其在教育、科研和轻工业领域的显著适用性。作为一款具备六自由度的机械臂&#xff0c;myCobot 600以其600mm的工作半径和2kg的末端负载能力&#xff0c;满足了多样化的操作需求。…

paddleocr C++生成dll

目录 编译完成后修改内容: 新建ppocr.h头文件 注释掉main.cpp内全部内容&#xff0c;将下面内容替换进去。ppocr.h需要再环境配置中包含进去头文件 然后更改配置信息&#xff0c;将exe换成dll 随后右击重新编译会在根目录生成dll,lib文件。 注意这些dll一个也不能少。生成…

HTML5(2)

目录 一.列表、表格、表单 1.列表标签 2.表格 4.无语义的布局标签 5.字符实体 6.综合案例--1 7.综合案例--表单 一.列表、表格、表单 1.列表标签 1.1 无序列表 1.2 有序列表 1.3 定义列表 定义列表一般用于网页底部的帮助中心 2.表格 2.1 2.2 表格结构标签 shiftaltf 格…

计算机网络之传输层TCP\UDP协议

UDP协议 用户数据报协议UDP概述 UDP只在IP数据报服务之上增加了很少功能&#xff0c;即复用分用和差错检测功能 UDP的主要特点&#xff1a; UDP是无连接的&#xff0c;减少开销和发送数据之前的时延 UDP使用最大努力交付&#xff0c;即不保证可靠交付&#xff0c;可靠性由U…

《Fundamentals of Power Electronics》——全桥型隔离降压转换器

以下是关于全桥型隔离降压转换器的相关知识点&#xff1a; 全桥变压器隔离型降压转换器如下图所示。 上图展示了一个具有二次侧绕组中心抽头的版本&#xff0c;该电路常用于产生低输出电压。二次侧绕组的上下两个绕组可以看作是两个单独的绕组&#xff0c;因此可以看成是具有变…

#const成员

基于写的日期类的实现&#xff0c;去分析const成员的问题。 需要用到下面的两个函数。 这个时候我们去构建一个const Date,如下&#xff0c;这是不和法的&#xff0c;为什么呢&#xff1f; 其实这里涉及一个权限放大的问题&#xff0c;之前就说了&#xff0c;权限可以缩小&…

项目部署总结

1、安装jdk 第一步&#xff1a;上传jdk压缩安装包到服务器 第二步&#xff1a;将压缩安装包解压 tar -xvf jdk-8uXXX-linux-x64.tar.gz 第三步&#xff1a;配置环境变量 编辑/etc/profile文件&#xff0c;在文件末尾添加以下内容&#xff1a; export JAVA_HOME/path/to/j…

应急学院物联网应急安全产教融合基地解决方案

第一章 背景 1.1物联网应急安全产教融合发展概况 物联网应急安全产教融合发展是当前社会发展的重要趋势。随着物联网技术的广泛应用&#xff0c;应急安全领域对人才的需求日益迫切。因此&#xff0c;产教融合成为培养高素质、专业化人才的关键途径。在这一背景下&#xff0c;…

Kotlin泛型之 循环引用泛型(A的泛型是B的子类,B的泛型是A的子类)

IDE(编辑器)报错 循环引用泛型是我起的名字&#xff0c;不知道官方的名字是什么。这个问题是我在定义Android 的MVP时提出来的。具体是什么样的呢&#xff1f;我们看一下我的基础的MVP定义&#xff1a; interface IPresenter<V> { fun getView(): V }interface IVie…

云原生Kubernetes: K8S 1.29版本 部署Sonarqube

一、实验 1.环境 &#xff08;1&#xff09;主机 表1 主机 主机架构版本IP备注masterK8S master节点1.29.0192.168.204.8 node1K8S node节点1.29.0192.168.204.9node2K8S node节点1.29.0192.168.204.10已部署Kuboard &#xff08;2&#xff09;master节点查看集群 1&…

【已解决】Python Selenium chromedriver Pycharm闪退的问题

概要 根据不同的业务场景需求&#xff0c;有时我们难免会使用程序来打开浏览器进行访问。本文在pycharm中使用selenium打开chromedriver出现闪退问题&#xff0c;根据不断尝试&#xff0c;最终找到的问题根本是版本问题。 代码如下 # (1) 导入selenium from selenium import …

RDD算子使用----transformation转换操作

RDD算子使用 transformation转换操作 map算子 rdd.map(p: A > B):RDD&#xff0c;对rdd集合中的每一个元素&#xff0c;都作用一次该func函数&#xff0c;之后返回值为生成元素构成的一个新的RDD。 val sc new SparkContext(conf)//map 原集合*7val list 1 to 7//构建…