【深度学习】 Python 和 NumPy 系列教程(二):Python基本数据类型:3、字符串(索引、切片、运算、格式化)

news2025/1/2 3:31:06

目录

一、前言

二、实验环境

三、Python基本数据类型

3. 字符串(Strings)

1. 初始化

2. 索引

3. 切片

4. 运算

a. 拼接运算

b. 复制运算

c. 子串判断

d. 取长度

5. 格式化

a. 使用位置参数

b. 使用关键字参数

c. 使用属性访问

f-string方法


一、前言

        Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

        Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

  • Python:基本数据类型、容器(列表、字典、集合、元组)、函数、类
  • Numpy:数组、数组索引、数据类型、数组数学、广播
  • Matplotlib:绘图,子图,图像
  • IPython:创建笔记本,典型工作流程

二、实验环境

        Python 3.7

        运行下述命令检查Python版本

 python --version 

三、Python基本数据类型

Python的基本数据类型包括:

  1. 整数(int):表示整数值,例如1、2、-3等。
  2. 浮点数(float):表示带有小数点的数值,例如3.14、2.5等。
  3. 布尔值(bool):表示真(True)或假(False)的逻辑值。
  4. 字符串(str):表示文本数据,使用引号(单引号或双引号)括起来,例如"Hello"、'Python'等。
  5. 列表(list):表示一组有序的元素,可以包含不同类型的数据,用方括号括起来,例如[1, 2, 3]、['apple', 'banana', 'orange']等。
  6. 元组(tuple):类似于列表,但是不可修改,用圆括号括起来,例如(1, 2, 3)、('apple', 'banana', 'orange')等。
  7. 集合(set):表示一组唯一的元素,用大括号括起来,例如{1, 2, 3}、{'apple', 'banana', 'orange'}等。
  8. 字典(dict):表示键值对的映射关系,用大括号括起来,例如{'name': 'John', 'age': 25}等。

3. 字符串(Strings)

        字符串(Strings)是Python中的另一个基本数据类型,用于表示文本数据。字符串由一系列字符组成,并且可以使用单引号或双引号括起来。例如:"Hello World"是一个字符串。

        字符串可以进行多种操作,例如连接(通过加号运算符)、切片(通过索引和切片操作符)、长度计算(通过len()函数)等。还可以使用各种字符串方法来处理和转换字符串。

        字符串在Python中是不可变的,这意味着一旦创建了一个字符串对象,就不能修改它的值。但是可以通过字符串的方法和操作来创建新的字符串对象。

        字符串在Python中是非常常用的数据类型,用于处理文本数据、表示文件路径、存储用户输入等。它们提供了丰富的功能和操作,使得处理文本数据变得方便而高效。

1. 初始化

        字符串可以使用单引号或双引号括起来进行初始化。

str1 = 'Hello World'
str2 = "Python is awesome"

2. 索引

        可以使用索引操作符(方括号)来访问字符串中的单个字符。字符串的索引从0开始,最左边的字符索引为0,依次递增。例如,可以使用以下方式获取字符串中的字符:

str1 = 'Hello World'
print(str1[0])  # 输出:H
print(str1[6])  # 输出:W

3. 切片

  • 模式:<字符串>[begin: end: step]
    • ­左闭右开:以step为步长,取beginend-1处的全部元素
    • ­step的正负性代表了方向:当step为负时,需要反向输出
    • ­缺省值begin=0end=len(<字符串>)step=1

        可以使用切片操作符(冒号)来获取字符串的子串。切片操作可以指定起始索引和结束索引,其中起始索引包含在切片中,而结束索引不包含在切片中。例如,可以使用以下方式获取字符串的子串:

str1 = 'Hello World'
print(str1[0:5])      # 输出:Hello
print(str1[6:])       # 输出:World
print(str1[0:10:2])   # 输出:HloWr

4. 运算

a. 拼接运算

        可以使用加号运算符(+)将两个字符串进行拼接。

str1 = 'Hello'
str2 = 'World'
result = str1 + ' ' + str2
print(result)  # 输出:Hello World

b. 复制运算

        可以使用乘号运算符(*)将一个字符串复制多次。

str1 = 'Hello'
result = str1 * 3
print(result)  # 输出:HelloHelloHello

c. 子串判断

        可以使用innot in运算符来判断一个字符串是否是另一个字符串的子串。例如:

str1 = 'Hello World'
print('Hello' in str1)  # 输出:True,'Hello'是'Hello World'的子串
print('abc' not in str1)  # 输出:True,'abc'不是'Hello World'的子串

d. 取长度

        可以使用len()函数获取一个字符串的长度,即字符串中字符的个数。例如:

str1 = 'Hello World'
length = len(str1)
print(length)  # 输出:11

5. 格式化

        可以使用字符串的format()方法将变量的值插入到字符串中。可以使用占位符(花括号)来指定插入变量的位置。例如:

name = 'Alice'
age = 25
message = 'My name is {} and I am {} years old.'.format(name, age)
print(message)  # 输出:My name is Alice and I am 25 years old.

        字符串的格式化可以使用槽格式控制来实现。槽是占位符,用于指定在格式化字符串中的变量值应该插入的位置。在槽中可以使用索引、关键字参数和属性访问等方式来控制格式化的方式。

        以下是几种常见的槽格式控制方法:

a. 使用位置参数

        可以使用索引来指定要插入的变量的位置。

name = 'Alice'
age = 25
message = 'My name is {0} and I am {1} years old.'.format(name, age)
print(message)  # 输出:My name is Alice and I am 25 years old.

b. 使用关键字参数

        可以使用变量名作为关键字参数来指定要插入的变量。

name = 'Alice'
age = 25
message = 'My name is {name} and I am {age} years old.'.format(name=name, age=age)
print(message)  # 输出:My name is Alice and I am 25 years old.

c. 使用属性访问

        如果要格式化的变量是对象的属性,可以使用点号(.)来访问属性。例如:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person('Alice', 25)
message = 'My name is {p.name} and I am {p.age} years old.'.format(p=person)
print(message)  # 输出:My name is Alice and I am 25 years old.

f-string方法

        此外,还可以使用更高级的格式化方法,如f-string。f-string是Python 3.6及更高版本引入的一种字符串格式化方法,使用起来更加简洁和方便。

name = 'Alice'
age = 25
message = f'My name is {name} and I am {age} years old.'
print(message)  # 输出:My name is Alice and I am 25 years old.

  

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

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

相关文章

在家也能轻松使用用友畅捷通T3管理财务,实现高效率远程办公!

文章目录 前言1. 用友畅捷通T3借助cpolar实现远程办公1.1 在被控端电脑上&#xff0c;点击开始菜单栏&#xff0c;打开设置——系统1.2 找到远程桌面1.3 启用远程桌面 2. 安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpolar web…

三.listview或tableviw显示

一.使用qt creator 转变类型 变形为listview或tableviw 二.导出ui文件为py文件 # from123.py 为导出 py文件 form.ui 为 qt creator创造的 ui 文件 pyuic5 -o x:\xxx\from123.py form.uifrom123.py listview # -*- coding: utf-8 -*-# Form implementation generated fro…

GDAL Python 过滤Shape Polygon中的面积小于某个阈值的小图斑

# -*- coding: utf-8 -*- # !/usr/bin/mgdal_env # Time : 2023/9/6 9:36 # Author : Hexk # 过滤矢量文件中的面积小于某个阈值的小图斑from osgeo import ogr, gdal, osr import osdef ShapeFiltratePitch(_input_path, _output_path, _area_threshold):"""过…

logback/log4j基本配置和标签详解

什么是logback logback 继承自 log4j&#xff0c;它建立在有十年工业经验的日志系统之上。它比其它所有的日志系统更快并且更小&#xff0c;包含了许多独特并且有用的特性。 logback.xml 首先直接上配置&#xff0c;我在项目过程中发现一些同时遇到需要logback文件的时候就去…

2023-9-8 求组合数(一)

题目链接&#xff1a;求组合数 I #include <iostream> #include <algorithm>using namespace std;const int mod 1e9 7;int n; const int N 2010; int c[N][N];void init() {for(int i 0; i < N; i )for(int j 0; j < i; j)if(!j) c[i][j] 1;else c[i]…

学习SpringMvc第三战-利用SpringMvc实现CRUD

前言&#xff1a; 小编讲述了参数传递&#xff0c;返回值以及页面跳转&#xff01;为我们的CRUD提供了理论基础&#xff0c;接下来小编会通过SpringMvc实现CRUD来讲述在企业开发中必须要学会的CRUD 一.前期环境搭建 1.替换pom.xml的内容 <properties><project.buil…

C# WPF 自己写的一个模拟病毒传播的程序,有可视化

原程序下载: https://download.csdn.net/download/qq_34677276/88314649 主要代码 using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks;n…

向量数据库Milvus Cloud 2.3 Attu 界面升级,用户体验更友好

全新升级的Milvus Cloud 2.3 Attu带来了全新的界面设计,为用户提供了更加友好的使用体验。作为向量数据库的专家和《向量数据库指南》的作者,我将在本文中详细讲解该版本的升级内容,并提供一些案例来加深大家对于Milvus Cloud 2.3 Attu的理解。 一、界面设计优化 1.1 界面整…

使用正则表达式总结

多行匹配 使用Pattern.DOTALL | Pattern.MULTILINE参数 Pattern.CASE_INSENSITIVE&#xff1a;不区分大小写 public static void main(String[] args) {String teststr "AA aa AASSF \n\r */ DDET AA";String regStr "(?AA)\\w\\b";extracted(testst…

LeetCode(力扣)90. 子集 IIPython

LeetCode90. 子集 II 题目链接代码 题目链接 https://leetcode.cn/problems/subsets-ii/ 代码 class Solution:def subsetsWithDup(self, nums):result []path []used [False] * len(nums)nums.sort() # 去重需要排序self.backtracking(nums, 0, used, path, result)retu…

十二、集合(5)

本章概要 for-in 和迭代器 适配器方法惯用法 本章小结 简单集合分类 for-in和迭代器 到目前为止&#xff0c;for-in 语法主要用于数组&#xff0c;但它也适用于任何 Collection 对象。实际上在使用 ArrayList 时&#xff0c;已经看到了一些使用它的示例&#xff0c;下面是它…

软件生命周期及流程【软件测试】

软件的生命周期 软件生命周期是软件开始研制到最终被废弃不用所经历的各个阶段。 瀑布型生命周期模型 规定了它们自上而下、相互衔接的固定次序&#xff0c;如同瀑布流水&#xff0c;逐级下落&#xff0c;具有顺序性和依赖性。每个阶段规定文档并需进行评审。 特点&#xff…

es滚动查询分析和使用步骤

ES在进行普通的查询时&#xff0c;默认只会查询出来10条数据。我们通过设置es中的size可以将最终的查询结果从10增加到10000。如果需要查询数据量大于es的翻页限制或者需要将es的数据进行导出又当如何&#xff1f; Elasticsearch提供了一种称为"滚动查询"&#xff08…

更换 yum 阿里源 - 手把手教你怎么配置,在也不需要求别人了 - 看懂一个就相当于看懂了其他的linux系统

更换阿里源 我的是centos8 当然 centos7 也可以换 后面有更详细的怎么配 &#xff0c;再也不用求别人怎么弄了 最直接的方式 直接复制 执行 centos7 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo或者 wget -O /etc/yum.repos.…

SpringMVC:从入门到精通,7篇系列篇带你全面掌握--三.使用SpringMVC完成增删改查

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 效果演示 一.导入项目的相关依赖 二.…

规范预算编制,打造企业全面预算管理新章程

随着我国财税体系不断改革&#xff0c;经济形式日新月异&#xff0c;包括国有企业、事业单位在内的各类型企业对于财务会计和预算管理的要求越来越高。众所周知&#xff0c;传统的预算管理模式已经难以满足企业现代化、数字化进程的需求&#xff0c;面对横亘在高效工作面前的阻…

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用

深度学习推荐系统(八)AFM模型及其在Criteo数据集上的应用 1 AFM模型原理及其实现 沿着特征工程自动化的思路&#xff0c;深度学习模型从 PNN ⼀路⾛来&#xff0c;经过了Wide&#xff06;Deep、Deep&#xff06;Cross、FNN、DeepFM、NFM等模型&#xff0c;进⾏了大量的、基于不…

【计组】3.5高速缓冲存储器

一、cache基本概念 二、cache—主存 映射方式 全相联映射&#xff08;随即放&#xff09; 主存块号、块内地址&#xff08;即记录cache块大小贮存块大小&#xff09; 有效位&#xff08;记录该cache块内是否转入主存信息&#xff09;、标记&#xff08;采用主存块号进行标记…

OpenVINO2023+Win 11配置

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 前言 一、Anaconda 二、OpenVINO 三、PyCharm 前言 OpenVINO™是英特尔…

管理类联考——数学——汇总篇——知识点突破——数据分析——计数原理——排列组合——全能元素

⛲️ 一、考点讲解 1.全能元素特征 全能元素是指一个元素可以同时具备多个属性&#xff0c;在选取时&#xff0c;注意全能元素的归宿问题。 2.全能卡片 若一个卡片上的数字可以变化&#xff0c;则称为全能卡片&#xff0c;其解法是根据全能卡片是否选中来分类讨论。 二、考试解…