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

devtools/2024/9/22 21:42:57/

数据类型:

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

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

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

数字类型

整形:

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

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

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

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

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

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

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

浮点型:

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

python">>>> b = 1.5
>>> print(b)
1.5

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

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

布尔型:

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

python">>>> 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}

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

数据的操作: 

数值运算:

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

多变量赋值: 

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

 字符串:

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

python">>>> 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方法:

python">>>> 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方法:

python">>>> 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表示到倒数第二个字符的位置。例如:

python">>>> 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(列表型)

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

python">>>> 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]]

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

python">>>> 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]

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

python">>>> 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(列表)可以说是一直特殊的列表。不同之处在于元组的元素不能修改,元组写在小括号()里,元素之间用逗号隔开。其余都一样。例如:

python">>>> 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()函数创建,集合中的元素不可重复。集合常见的用途包括成员测试和删除重复数据。例如:

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

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

python">>>> 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(字典型):

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

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


http://www.ppmy.cn/devtools/22410.html

相关文章

Hive判空函数 COALESCE 和 NVL 使用示例

Hive判空函数 COALESCE 和 NVL 使用示例 1. 在Hive中&#xff0c; COALESCE 和 NVL 函数都是用于处理NULL值的函数&#xff0c;以下是它们的用途总结&#xff1a; COALESCE&#xff1a; COALESCE 函数用于返回参数列表中第一个非NULL的数值或表达式。语法&#xff1a; COALESC…

使用 Flask、Gunicorn 与 Shell 脚本构建高效 Web 应用部署流程

在使用 Flask 作为 Web 应用框架&#xff0c;并使用 Gunicorn 作为 WSGI 容器&#xff0c;使用shell 脚本来管理应用的启动、重启和停止。 启动脚本 start.sh&#xff1a; #!/bin/bash# 设置应用名称和端口 APP_NAME"my_flask_app" PORT8000# 设置 Flask 应用的路径…

XTuner微调实践

本文采用XTuner进行对InterLM2-Chat-1.8B模型的微调实践。 Xtuner工具介绍&#xff1a; Xtuner是一款由上海人工智能实验室开发的低成本大模型训练和微调工具箱&#xff0c;它的特点是以配置文件的形式封装了大部分微调场景。 Xtuner支持多种微调策略,如增量预训练和指令跟随微…

宝塔面板开启Nginx缓存为网站提速

fastcgi_cache介绍 Nginx默认自带的fastcgi_cache模块能把动态页面缓存起来&#xff0c;提高网站速度和降低服务器负载。 当有用户请求相同的页面时&#xff0c;Nginx可以直接返回缓存的页面&#xff0c;而不需要再次访问后端服务器。 这个模块可以通过简单的配置实现,还支持…

Java设计模式 _结构型模式_桥接模式

一、桥接模式 1、桥接模式 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式。用于把一个类中多个维度的抽象化与实现化解耦&#xff0c;使得二者可以独立变化。 2、实现思路 使用桥接模式&#xff0c;一定要找到这个类中两个变化的维度&#xff1a;如支…

Android如何使用XML自定义属性

1、定义 在res/values文件下定义一个attrs.xml文件&#xff0c;代码如下: 2、使用 在布局中使用&#xff0c; 示例代码如下&#xff1a; 3、获取 最终来到这里&#xff1a;

ubuntu安装Anaconda安装及conda使用

一. 安装anaconda3详细教程 1、下载镜像 清华大学开源软件镜像站下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下拉到最低端选择Linux&#xff0c;选择最新版&#xff08;32/64位&#xff09;下载。这里我下载的是版本Anaconda3-4.3.30-Linux…

怎么理解JavaScript原型、原型链

原型 JavaScript被描述为一种基于原型的语言&#xff0c;也就是每一个对象都拥有一个原型对象。 当我们访问一个对象的属性时&#xff0c;它不仅仅该改对象上查找&#xff0c;还会到这个对象的原型上查找&#xff0c;甚至是到这个对象的原型的原型上查找&#xff0c;这样一层…