Python基本数据类型介绍

Python

解释

  • Python是一种高级编程语言,以其简洁、易读和易用而闻名。它是一种通用的、解释型的编程语言,适用于广泛的应用领域,包括软件开发、数据分析、人工智能等。
  • python是一种解释型,面向对象、动态数据类型的高级程序设计语言,是一门开源免费的脚本编程语言。
  • 2020.1.1,停止Python2的更新。

特点

  • 简洁易读:Python采用清晰简洁的语法,使得代码易于阅读和理解。它使用缩进来表示代码块,而不是依赖于大括号,使得代码更具可读性。
  • 丰富的库和框架:Python拥有大量的标准库和第三方库,涵盖了各种领域的功能,例如Web开发、科学计算、数据分析等。这些库和框架可以帮助开发者快速构建应用程序。
  • 跨平台性:Python可以在多个操作系统上运行,包括Windows、Linux和MacOS等。这使得开发者可以轻松地在不同平台上部署和运行Python程序。
  • 动态类型:Python是一种动态类型语言,不需要提前声明变量类型。这简化了代码的编写和维护,并提供了更大的灵活性。
  • 广泛的应用领域:Python被广泛应用于各个领域,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。它被许多大型公司和组织采用,如Google、Facebook、Netflix等。
  • 强大的社区支持:Python拥有庞大的开发者社区,提供了丰富的教程、文档和开源项目。开发者可以从社区中获取帮助、分享经验,并使用已经开发的工具和库。

Python基本数据类型

变量

在Python中,变量是用来存储和操作数据的标识符。可以把变量看作是一个容器,用来存储值或者引用其他对象。

在Python中,变量的使用有以下几个特点:

  • 变量命名:变量名是用来标识变量的名称。它可以由字母、数字和下划线组成,但必须以字母或下划线开头。变量名区分大小写,例如"count"和"Count"是不同的变量名。
  • 变量赋值:使用赋值运算符(=)将一个值赋给一个变量。例如,可以使用语句x = 5将整数值5赋给变量x。变量的赋值不需要类型申明;每个变量在使用前必须赋值。
  • 动态类型:Python是一种动态类型语言,这意味着变量的类型是根据赋给它的值自动推断的。同一个变量在不同的上下文中可以引用不同类型的对象。
  • 变量引用:变量可以引用各种对象,如整数、浮点数、字符串、列表、函数等。通过变量名,可以访问和操作变量引用的对象。
# 变量赋值
x = 5
name = 'Alice'
pi = 3.14# 使用变量
print(x)  # 输出:5
print('Hello, ' + name)  # 输出:Hello, Alice
radius = 2.5
area = pi * radius ** 2
print('圆的面积为:', area)  # 输出:圆的面积为: 19.625# 变量类型推断
x = 10  # x是整数类型
x = 'Hello'  # x变为字符串类型
x = [1, 2, 3]  # x变为列表类型# 多个变量赋值
a = b = c = 0
print(a, b, c)  # 输出:0 0 0

标准数据类型

数字Number

  • Python支持四种数字类型,分别是int整型(早期版本还分int和long,从Python3开始合到一起都是int型,可以表示任意整数)、float浮点型、complex复数、bool型;
  • 数字是不可改变的数据类型,这意味着改变数据类型会分配一个新的对象;
# 整数
x = 5
y = -10
z = 0# 浮点数
pi = 3.14
radius = 2.5# 复数
a = 2 + 3j
b = -1j# 布尔值
is_valid = True
is_greater = x > y# 数值计算和操作
print(x + y)  # 输出:-5
print(pi * radius ** 2)  # 输出:19.625
print(a.real)  # 输出:2.0
print(b.imag)  # 输出:-1.0
print(not is_valid)  # 输出:False# 数值转换
x_str = '10'
x_int = int(x_str)
y_float = float(y)
z_complex = complex(x, y)

字符串String

  • 在Python中,字符串(str)是一种表示文本数据的数据类型。字符串由一系列字符组成,可以包含字母、数字、符号和空格等内容。
  • 在Python中,字符串可以使用单引号('')或双引号("")括起来。
  • 反斜杠用来转义,使用 r 可以让反斜杠不发生转义;print(r’this is a line with\n’) 。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • 字符串属于不可改变数据类型,但可以通过切片和拼接等操作来生成新的字符串。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
name = 'Alice'
message = "Hello, world!"
sentence = "I'm learning Python."print(name)      # 输出:Alice
print(message)   # 输出:Hello, world!
print(sentence)  # 输出:I'm learning Python.
  • 字符串的拼接:用+号将两个字符串拼接在一起。
greeting = "Hello"
name = "Alice"
message = greeting + ", " + name
print(message)  # 输出:Hello, Alice
  • 切片(Slicing):可以使用切片操作符([:])获取字符串的子串。
sentence = "I'm learning Python."
print(sentence[2:9])  # 输出:m learn
  • 索引(Indexing):可以使用索引操作符([])获取字符串中特定位置的字符。
word = "Python"
print(word[0])    # 输出:P
print(word[-1])   # 输出:n
print(word[2:4])  # 输出:th
  • 长度获取:可以使用内置函数len()获取字符串的长度。
sentence = "I'm learning Python."
words = sentence.split()  # 按空格分割字符串
print(words)                    # 输出:["I'm", 'learning', 'Python.']
print(sentence.upper())         # 输出:"I'M LEARNING PYTHON."
print(sentence.lower())         # 输出:"i'm learning python."
print(sentence.replace('Python', 'Java'))  # 输出:"I'm learning Java."

列表List

  • 列表是python中使用最频繁的数据类型。
  • 在Python中,列表(list)是一种有序可变可重复的数据类型,用于存储多个值。列表可以包含任意类型的元素,包括整数、浮点数、字符串、布尔值、甚至其他列表等。
  • 列表使用方括号([])来表示,其中的元素使用逗号(,)分隔。
numbers = [1, 2, 3, 4, 5]
names = ['Alice', 'Bob', 'Charlie']
mixed = [1, 'Hello', True, 3.14]
nested = [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
empty = []
  • 访问元素:可以使用索引操作符([])来访问列表中的元素。索引从0开始,负数索引表示从列表末尾开始倒数。
numbers = [1, 2, 3, 4, 5]
print(numbers[0])     # 输出:1
print(numbers[-1])    # 输出:5
print(numbers[2:4])   # 输出:[3, 4]
  • 修改元素:由于列表是可变的,可以通过索引操作符([])来修改列表中的元素。
numbers = [1, 2, 3, 4, 5]
numbers[0] = 10
print(numbers)  # 输出:[10, 2, 3, 4, 5]
  • 添加元素:可以使用append()方法向列表末尾添加新元素,或使用拼接操作符(+)将两个列表合并。
numbers = [1, 2, 3]
numbers.append(4)
print(numbers)  # 输出:[1, 2, 3, 4]names1 = ['Alice', 'Bob']
names2 = ['Charlie', 'Dave']
combined = names1 + names2
print(combined)  # 输出:['Alice', 'Bob', 'Charlie', 'Dave']
  • 删除元素:可以使用del语句或remove()方法删除列表中的元素。
numbers = [1, 2, 3, 4, 5]
del numbers[2]
print(numbers)  # 输出:[1, 2, 4]names = ['Alice', 'Bob', 'Charlie']
names.remove('Bob')
print(names)  # 输出:['Alice', 'Charlie']
  • 列表长度:可以使用内置函数len()获取列表的长度(即元素个数)。
numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 输出:5
  • 列表还有许多其他的方法和操作,如排序、插入元素、统计元素出现次数等

元组Tuple

  • 在Python中,元组(tuple)是一种有序不可变的数据类型,用于存储多个值。元组与列表相似,但不同之处在于元组的元素不可修改。元组使用圆括号(())来表示,其中的元素使用逗号(,)分隔。
coordinates = (3, 4)
colors = ('red', 'green', 'blue')
mixed = (1, 'Hello', True, 3.14)
nested = ((1, 2), (3, 4, 5), (6, 7, 8, 9))
empty = ()
  • 访问元素:可以使用索引操作符([])来访问元组中的元素,索引从0开始。
coordinates = (3, 4)
print(coordinates[0])  # 输出:3
print(coordinates[1])  # 输出:4
  • 元组不可变:元组的元素是不可变的,即不能修改元组中的元素。如果尝试修改元组的元素,将会引发TypeError错误。
coordinates = (3, 4)
coordinates[0] = 10  # TypeError: 'tuple' object does not support item assignment
  • 解包元组:可以将元组的元素解包到多个变量中。
coordinates = (3, 4)
x, y = coordinates
print(x)  # 输出:3
print(y)  # 输出:4
  • 元组的长度和元素个数:可以使用内置函数len()获取元组的长度(即元素个数)。
colors = ('red', 'green', 'blue')
print(len(colors))  # 输出:3

集合Set

  • 在Python中,集合(set)是一种无序且不重复的数据集合。集合中的元素不会按照特定的顺序排列,而且集合中不允许存在重复的元素。集合使用大括号({})或者使用set()函数来创建。
  • 集合属于可变数据类型。
fruits = {'apple', 'banana', 'orange'}
numbers = set([1, 2, 3, 4, 5])
empty = set()
  • 去重:集合中的元素不会重复,如果尝试添加重复的元素,集合会自动去重。
fruits = {'apple', 'banana', 'orange', 'apple'}
print(fruits)  # 输出:{'apple', 'banana', 'orange'}
  • 添加元素:可以使用add()方法向集合中添加新元素。
fruits = {'apple', 'banana', 'orange'}
fruits.add('grape')
print(fruits)  # 输出:{'apple', 'banana', 'orange', 'grape'}
  • 删除元素:可以使用remove()方法从集合中删除指定的元素,如果元素不存在会引发KeyError错误。
fruits = {'apple', 'banana', 'orange'}
fruits.remove('banana')
print(fruits)  # 输出:{'apple', 'orange'}
  • 集合运算:集合支持各种集合运算,如并集、交集、差集等。
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}union = set1.union(set2)        # 并集
intersection = set1.intersection(set2)  # 交集
difference = set1.difference(set2)    # 差集print(union)        # 输出:{1, 2, 3, 4, 5, 6, 7, 8}
print(intersection)  # 输出:{4, 5}
print(difference)    # 输出:{1, 2, 3}
  • 集合大小:可以使用内置函数len()获取集合的大小(即元素个数)。

字典Dictionary

  • 在Python中,字典(dictionary)是一种无序的键值对(key-value)数据结构,用于存储和获取多个值。字典中的每个元素由一个键(key)和对应的值(value)组成,键和值之间使用冒号(:)来分隔,而不同的键值对使用逗号(,)分隔。字典使用花括号({})来表示。
  • 字典属于可变数据类型。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
fruits = {'apple': 1, 'banana': 2, 'orange': 3}
empty = {}
  • 访问元素:可以使用键来访问字典中的元素,类似于使用索引来访问列表中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person['name'])  # 输出:Alice
print(person['age'])   # 输出:25
  • 修改元素:可以通过键来修改字典中的值。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
person['age'] = 26
print(person)  # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
  • 添加元素:可以通过键值对的方式向字典中添加新元素。
person = {'name': 'Alice', 'age': 25}
person['city'] = 'New York'
print(person)  # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
  • 删除元素:可以使用del语句删除字典中的元素。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
del person['age']
print(person)  # 输出:{'name': 'Alice', 'city': 'New York'}
  • 字典长度:可以使用内置函数len()获取字典中键值对的数量。
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(len(person))  # 输出:3
  • 字典是一种非常常用的数据结构,它提供了高效的键值对查找和操作。可以将字典用于存储和操作各种类型的数据,如配置信息、用户信息、数据记录等。

后续

  • 下一篇章介绍Python的运算符。

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

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

相关文章

00X集——vba获取CAD图中图元类名objectname

在CAD中,通过快捷键PL(即POLYLINE命令)绘制的线属于AcDbPolyline。AcDbPolyline也被称为LWPOLYLINE,即简单Polyline,它所包含的对象在本身内部。 此外,CAD中还有另一种二维多段线对象,称为AcDb2…

ViewModel 原理

在现代Android应用开发中,ViewModel是架构组件库的一个关键部分,它在提高应用的稳定性和性能方面发挥着重要作用。在这篇文章中,我们将深入探讨ViewModel的工作原理和最佳实践。 ViewModel简介 ViewModel是Android Jetpack架构组件的一部分…

ubuntu安裝Avahi发现服务工具

一、简介 解决设置固定ip后无法连接外网的问题,目前采用动态获取ip,可以不用设置设备的固定IP,直接可以通过域名来访问设备,类似树莓派的连接调试 二、安装 本文使用的是ubuntu23.10.1上安装 1.安装工具 sudo apt install av…

2.模拟问题——4.日期问题

日期问题难度并不大,但是代码量非常大,需要较高的熟练度,因此需要着重练习,主要涉及数组和循环两个方面的知识点,需要熟练的测试代码。 两个经典题型 闰年 闰年满足以下两个条件的任意一个 能够被400整除不能够被1…

MyBatis拦截器实现打印完整SQL语句

我们在执行语句的时候会使用Mybatis自带的日志打印工具,但是打印的时候参数会用?代替,显得看起来不是那么直观,所以通过实现了InnerInterceptor接口,并重写了beforeQuery和beforeUpdate方法。在这两个方法中,它会获取…

【Acwing】差分矩阵

图1&#xff1a;a和b数组映射表 由于a是b的前缀和数组&#xff0c;因此改变b[ x1][ y1]之后&#xff0c;受到影响的a中元素如右半图所示 图2&#xff1a;求b数组的前缀和 #include<bits/stdc.h> using namespace std;int n,m,q; int a[1010][1010]; int b[1010][1010]…

work 3/1

1>机械臂 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct sockaddr_i…

一文搞懂浏览器缓存机制

文章目录 概述强制缓存协商缓存总结参考文章 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制&#xff0c;其机制是根据HTTP报文的缓存标识进行的 浏览器第一次向服务器发送HTTP请求, 浏览器拿到请求结果后&#xff0c;会根据响应报文的缓存标识&#xff0c;决定是否进行缓存…

机器学习:数据处理基操

在处理完数据之后&#xff0c;选择好模型&#xff0c;就可以用训练集训练模型&#xff0c;用测试集输入模型 然后输出需要预测的结果啦&#xff5e; 一、模块导入 import numpy as np import pandas as pd #读入数据 二、pandas数据 一、dataframe基础 一、dataframe的创建…

github新手使用详解及环境搭建案例

对于 GitHub 的新手使用以及环境搭建&#xff0c;以下是详细的步骤和案例&#xff1a; 一、GitHub 新手使用详解 注册 GitHub 账号&#xff1a;首先&#xff0c;你需要在 GitHub 官网上注册一个账号。填写必要的个人信息&#xff0c;如用户名、邮箱和密码等。注册完成后&…

【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

作者版本&#xff1a;Android 11及以上 主要是发现网上没有完整的、能跑的代码&#xff0c;不知道怎么回事&#xff0c;GPT给我重写的。我只能保证这个代码尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 贴一下结果&#xff1a; boolean isAssertFileExists(String …

Nginx配置php起WoWSimpleRegistration服务

WoWSimpleRegistration服务的git地址&#xff1a; GitHub - TrinityCore/WoWSimpleRegistration: Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos 下载WoWSimpleRegistration 首先git下载&#xff1a; git clone https://github.com/TrinityC…

kafka消费者接收不到消息

背景&#xff1a; 对kafka消息进行监听&#xff0c;生产者发了消息&#xff0c;但是消费端没有接到消息&#xff0c;监听代码 消费端&#xff0c;kafka配置 spring.kafka.bootstrap-serverskafka.cestc.dmp:9591 spring.kafka.properties.sasl.jaas.configorg.apache.kafka.…

29.HarmonyOS App(JAVA)通知

普通通知: 通知渠道,弹出消息后&#xff0c;自动消失 长文本通知 //多行文本通知 //图片通知 //社交通知 //媒体通知--经测试&#xff0c;图片无法显示&#xff0c;文字不显示 场景介绍 HarmonyOS提供了通知功能&#xff0c;即在一个应用的UI界面之外显示的消息&#xff0c;主…

C++之结构体以及通讯录管理系统

1&#xff0c;结构体基本概念 结构体属于自定义的数据概念&#xff0c;允许用户存储不同的数据类型 2&#xff0c;结构体的定义和使用 语法&#xff1a;struct 结构体名{ 结构体成员列表}&#xff1b; 通过结构体创建变量的方式有三种&#xff1a; 1&#xff0c;struct …

【简说八股】面试官:你知道什么是AOP么?

回答 AOP(Aspect-Oriented Programming)&#xff0c;即面向切面编程&#xff0c;是一种编程范式&#xff0c;它的主要思想是将应用程序中的横切关注点&#xff08;如日志记录、性能统计、安全控制等&#xff09;从业务逻辑中剥离出来&#xff0c;然后通过特殊的方式将这些横切…

设计模式学习笔记 - 设计原则 - 8.迪米特法则(LOD)

前言 迪米特法则&#xff0c;是一个非常实用的原则。利用这个原则&#xff0c;可以帮我们实现代码的 “高内聚、松耦合”。 围绕下面几个问题&#xff0c;来学习迪米特原则。 什么是 “高内聚、松耦合”&#xff1f;如何利用迪米特法则来实现 高内聚、松耦合&#xff1f;哪些…

程序员求职

程序员的金三银四求职宝典 随着春天的脚步渐近&#xff0c;对于许多程序员来说&#xff0c;一年中最繁忙、最重要的面试季节也随之而来。金三银四&#xff0c;即三月和四月&#xff0c;被广大程序员视为求职的黄金时期。在这两个月里&#xff0c;各大公司纷纷开放招聘&#xf…

技术实践|百度安全「大模型内容安全」高级攻击风险评测

1、引子 2023年10月16日&#xff0c;OWASP发布了《OWASP Top 10 for LLM Applications》&#xff0c;这对于新兴的大语言模型安全领域&#xff0c;可谓一份纲领性的重要报告。 OWASP是开放式Web应用程序安全项目&#xff08;Open Web Application Security Project&#xff0…

【Linux网络命令系列】ping curl telnet三剑客

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…