0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python最基本内置数据类型(2)

麦辣鸡腿堡 来源:CSDN博客 作者:时间静止不是简史 2023-03-08 17:20 次阅读

Python 中三引号可以将复杂的字符串进行赋值

Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)

hi = ’‘’hi

there‘’‘

print(hi)

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式(即所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神

sql = ’‘’

CREATE TABLE u

login VARCHAR(

uid INTEGER,

prid INTEGER)

‘’‘

print(sql)

Unicode 字符串

Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:

如下, 被替换的 u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)

字符串使用方法详解

字符串基本特点

字符串的编码

字符串的创建(单行)

字符串的创建(多行)

空字符串和len()函数

转移字符 n: 换行 r: 回车 t:横向制表符 b:退格 \:输出转义符

字符串拼接 +

字符串复制 *

不换行打印

从控制台读取输入的字符串 input()

字符串替换 replace()

数字转字符串 str()

使用[]提取指定索引下的字符

字符串切片操作 类似java substring()

split()分割字符串和join()合并字符串

字符串驻留机制和字符串比较

字符串比较和同一性

成员操作符判断子字符串

字符串常用方法汇总

去除首尾信息

大小写转换

格式排版

字符串特征判断方法

字符串的格式化

填充与对齐

数字格式化

可变字符串

上述介绍配套测试代码

1.字符串基本特点

# Python的字符串是不可变的,但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。

2.字符串的编码

# Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集。

# 使用内置函数ord()可以把字符转换成对应的Unicode码;

print(ord(”A“))

print(ord(”a“))

print(ord(”明“))

# 使用内置函数chr()可以把十进制数字转换成对应的字符。

print(chr(706))

3.引号创建字符串

# 我们可以通过单引号或双引号创建字符串。 使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。

a = ”I’m a teacher!“

print(a) # I‘m a teacher!

b = ’my_name is ”TOM“‘

print(b) # my_name is ”TOM“

4.连续三个单引号或三个双引号,可以帮助我们创建多行字符串。在长字符串中会保留原始的格式。

c = ’‘’Fake

news

‘’‘

print(c)

5.空字符串和len()函数

# Python允许空字符串的存在,不包含任何字符且长度为0。

print(len(’a‘))

print(len(’‘))

# len()用于计算字符串含有多少字符。

print(len(”天子守国门,君王死社稷“))

6.转义字符

# n: 换行 r: 回车 t:横向制表符 b:退格 \:输出转义符

print(”啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊n惺惺惜惺惺嘻嘻嘻嘻嘻嘻嘻r惺惺惜惺惺t想新b写写嘻嘻嘻惺惺惜惺惺想新写写许许多多的若若若热\二二“)

7.字符串拼接

# 可以使用 + 将多个字符串拼接起来

a = ’皮尔斯‘ + ’摩根‘

print(a)

# 可以将多个字面字符串直接放到一起实现拼接。

b = ’皮尔斯‘’摩根‘

print(b)

8.字符串复制

# 使用*可以实现字符串复制

c = ”MAGA!“ * 3

print(c)

9.不换行打印

# 我们可以通过参数end = “任意字符串”。实现末尾添加任何内容:

print(”唐纳德“, end=’ ‘)

print(”特朗普“, end=’##‘)

print(”特离谱“)

10.从控制台读取字符串

# 我们可以使用input()从控制台读取键盘输入的内容。

# myCash = input(”请输入付款金额“”(若付款, 概不退换): “)

# print(”您的收款金额是: “ + myCash)

11.replace() 实现字符串替换

# 整个过程中,实际上我们是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。

a = ”Mr Trump say: Fake news!“

a = a.replace(”Trump“, ”Trace“)

print(a)

12.str()实现数字转型字符串

a = str(5.20) # 结果是:a = ‘5.20’

b = str(3.14e2) # 结果是:b = ’314.0’

c = str(True) # 结果是:c = ‘True’

print(a)

print(b)

print(c)

”“”

13.使用[]提取字符

字符串的本质就是字符序列,我们可以通过在字符串后面添加[], 在[]里面指定偏移量,可以提取该位置的单个字符。

正向搜索:

最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1为止。

反向搜索:

最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止

“”“

a = ”Ivanka Trump“

# 字符串开头

print(a[0])

print(a[-len(a)])

# 字符串结尾

print(a[-1])

print(a[len(a) - 1])

14.字符串切片slice操作

pYYBAGQEXraAVzbIAAEejVfvOCk364.png

# 切片slice操作可以让我们快速的提取子字符串。标准格式为 起始偏移量start:终止偏移量end:步长step

# 典型操作(三个量为正数的情况)如下

a = ”Donald Trump“

print(”[:] 提取整个字符串: “, a[:])

print(”[start:] 从start索引开始到结尾: “, a[2:])

print(”[:end] 从头开始知道end-1: “, a[:2])

print(”[start:end] 从start到end-1: “, a[2:4])

print(”[start:end:step] 从start提取到end-1,步长是step: “, a[1:8:2])

# 其他操作(三个量为负数)的情况:

print(”倒数三个:“, a[-3:])

print(”倒数第八个到倒数第三个(包头不包尾): “, a[-3:-1])

print(”步长为负,从右到左反向提取: “, a[::-1])

# 切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长 度-1”会被当成-1。

print(a[7:100])

15. split()分割和join()合并

# split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符

a = ”Mr Trump say: Fake news!“

print(a.split())

print(a.split(”:“))

# join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。

b = [’Mr‘, ’Trump‘, ’say:‘, ’Fake‘, ’news!‘]

print(’-‘.join(b))

16. 字符串驻留机制和字符串比较

# 字符串驻留:常量字符串只保留一份

c = ”dd#“

d = ”dd#“

print(c is d) # True

17. 字符串比较和同一性

# 可以直接使用 == != 对字符串进行比较,是否含有相同的字符

# 使用 is not is ,判断两个对象是否同一个对象。比较的是对象的地址,即 id(obj1) 是否和 id(obj2) 相等。

a = ”Donald Trump“

b = ”Ivanka Trump“

print(a == b)

print(a is not b)

18. 成员操作符判断子字符串

# in not in 关键字,判断某个字符(子字符串)是否存在于字符串中。’

print(”ab“ in ”abcdefg“)

19. 字符串常用方法汇总

a = ‘’‘明太祖朱元璋,朱标,建文帝朱允炆

明成祖朱棣,明仁宗朱高炽,明宣宗朱瞻基,明英宗朱祁镇,明代宗朱祁玉

明宪宗朱见深,明孝宗朱佑樘,明武宗朱厚照,明睿宗朱祐杬,

明世宗朱厚熜,明穆宗朱载垕,明神宗朱翊钧,

明光宗朱常洛。明熹宗朱由校,明思宗朱由检

’‘’

print(len(a))

print(a.startswith(”明太祖“))

print(a.endswith(”朱由检“))

print(”第一次出现指定字符串的位置: “, a.find(”朱“))

print(”最后一次出现指定字符串的位置“, a.rfind(”朱“)) # 测试为false, 原因待定位

print(”指定字符串出现了几次: “, a.count(”宗“))

print(”所有字符全是字母或数字: “, a.isalnum())

20. 去除首尾信息

# 我们可以通过strip()去除字符串首尾指定信息。通过lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息。

print(”-abc-“.strip(”-“))

print(”-abc-“.lstrip(”-“))

print(”-abc-“.rstrip(”-“))

21. 大小写转换

a = ”Mr Trump say: Fake news!“

print(”产生新的字符串,首字母大写: “, a.capitalize())

print(”产生新的字符串,每个单词都首字母大写:“, a.title())

print(”产生新的字符串,所有字符全转成大写: “, a.upper())

print(”产生新的字符串,所有字符全转成小写: “, a.lower())

print(”产生新的,所有字母大小写转换: “, a.swapcase())

22. 格式排版

# center() 、 ljust() 、 rjust() 这三个函数用于对字符串实现排版。

a = ”asd“

print(a.center(100, ”*“))

print(a.center(100))

print(a.ljust(100, ”*“))

print(a.rjust(100, ”*“))

‘’‘

23. 特征判断方法

isalnum() 是否为字母或数字

isalpha() 检测字符串是否只由字母组成(含汉字)

isdigit() 检测字符串是否只由数字组成

isspace()检测是否为空白符

isupper() 是否为大写字母

islower() 是否为小写字母

’‘’

a = ”trump拆那“

print(a.isalnum())

print(a.isalpha())

print(a.isdigit())

print(a.isspace())

print(a.isupper())

print(a.islower())

print(a.isdecimal())

# 24. 字符串的格式化

# format() 基本用法基本语法是通过 {} 和 : 来代替以前的 % 。

# format() 函数可以接受不限个数的参数,位置可以不按顺序。

a = ”今年是{0}年, 是农历十二生肖中的{1}年“

print(a.format(2022, ”鼠“))

# 我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便。

b = ”爸爸的爸爸叫什么? 爸爸的爸爸叫{grandpa}“

print(b.format(grandpa=”爷爷“))

# 25. 填充与对齐

# 填充常跟对齐一起使用

# ^ 、 《 、 》 分别是居中、左对齐、右对齐,后面带宽度

# : 号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

print(”{:*》10}“.format(”testStr“)) # 在十个字符中将字符串居右对齐, 多出的用*补齐

print(”我是{0},{1:w^6}这里你把握不住“.format(”潘长江“, ”嘎子“))

# 26. 数字格式化

# 浮点数通过 f ,整数通过 d 进行需要的格式化。

a = ”您的支付宝到账{:.2f}元, 需还款{:10d}元“

print(a.format(14138.552673, 6))

# 27. 可变字符串

# Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。

# 确实需要原地修改字符串,可以使用io.StringIO对象或array模块

import io

s = ”hello, EVA“

sio = io.StringIO(s) # 可变字符串

print(sio)

v1 = sio.getvalue()

print(”v1:“, v1)

char7 = sio.seek(7) # 指针知道索引7这个位置

sio.write(”OnePiece“)

v2 = sio.getvalue()

print(”v2:“, v2)

# 类型转换总结

# 转换为int

print(‘int()默认情况下为:’, int())

print(‘str字符型转换为int:’, int(‘010’))

print(‘float浮点型转换为int:’, int(234.23))

# #十进制数10,对应的2进制,8进制,10进制,16进制分别是:1010,12,10,0xa

print(‘int(’0xa‘, 16) = ’, int(‘0xa’, 16))

print(‘int(’10‘, 10) = ’, int(‘10’, 10))

print(‘int(’12‘, 8) = ’, int(‘12’, 8))

print(‘int(’1010‘, 2) = ’, int(‘1010’, 2))

# 转换为float

print(‘float()默认情况下为:’, float())

print(‘str字符型转换为float:’,

float(‘123.01’))

print(‘int浮点型转换为float:’, float(32))

# 转换为complex

print(‘创建一个复数(实部+虚部):’, complex(12, 43))

print(‘创建一个复数(实部+虚部):’, complex(12))

# 转换为str字符串

print(‘str()默认情况下为:’, str())

print(‘float型转换为str:’, str(232.33))

print(‘int转换为str:’, str(32))

lists = [‘a’, ‘b’, ‘e’, ‘c’, ‘d’, ‘a’]

print(‘列表list转换为str:’, ‘’.join(lists))

# 转换为list

strs = ‘hongten’

print(‘序列strs转换为list:’, list(strs))

# 转换为tuple(元组)

print(‘列表list转换为tuple:’, tuple(lists))

# 字符和整数之间的转换

print(‘整数转换为字符chr:’, chr(67))

print(‘字符chr转换为整数:’, ord(‘C’))

print(‘整数转16进制数:’, hex(12))

print(‘整数转8进制数:’, oct(12))

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6888

    浏览量

    88826
  • 编程
    +关注

    关注

    88

    文章

    3591

    浏览量

    93593
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84450
收藏 人收藏

    评论

    相关推荐

    Python中常用的数据类型

    数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,
    发表于 04-19 15:14

    史上最全Python数据类型详解

    数据类型是每个编程语言必不可少的基础知识,也是必须要掌握的技能,很多人知识简单的进行理解,并没有很系统的进行知识的梳理,以下是对python语言的全部数据类型详细汇总:Python中可
    发表于 06-15 14:57

    精通Python数据类型必知技能

      计算机程序,就是对数据进行操作。无论你学习那种语言开发,都需要学习具体的数据类型,每种开发语言都有自己不同数据类型。  下面是针对python语言的全部
    发表于 07-19 16:48

    python数据类型有哪些?

    python数据类型有哪些?Python定义函数一般格式是什么?
    发表于 12-27 06:26

    vhdl数据类型

    VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。VHDL中的数据类型可以分成四大类: 标量型(SCALAR TYPE):属单元素的最基本数据类型,通常用于描述一个单值数据
    发表于 03-30 15:59 11次下载

    Python数据类型有几种

    的实部 a 和虚部 b 都是浮点型。  2. 字符串  在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类
    发表于 02-18 17:59 1516次阅读

    python教程之变量和简单数据类型

    本文档的主要内容详细介绍的是python教程之变量和简单数据类型
    发表于 04-26 08:00 7次下载
    <b class='flag-5'>python</b>教程之变量和简单<b class='flag-5'>数据类型</b>

    Python数据类型与变量赋值

    Python有六个标准的数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。
    的头像 发表于 02-10 10:23 1798次阅读

    type( ) 函数查询数据类型是什么

    常用的3种数据类型Python数据类型第一种:字符串(str)。 Python数据类型第二种:整数(int)。
    的头像 发表于 02-23 14:59 2083次阅读

    什么是数据类型转换

    常用的3种数据类型:1、Python数据类型第一种:字符串(str)。 2Python数据类型
    的头像 发表于 02-23 15:21 1746次阅读

    定义数据类型

    在运算之前我们必须首先定义出数据类型,定义出脚本支持的数据类型,这是运算的基础。 这一小节我们将定义出数据类型,在这里我们暂时定义四个数据类型:
    的头像 发表于 03-03 10:10 909次阅读

    Python最基本内置数据类型(1)

    最基本内置数据类型 1. 基本数据类型和运算符 python中变量没有类型,但是对象都有
    的头像 发表于 03-08 17:17 847次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>最基本</b><b class='flag-5'>内置</b><b class='flag-5'>数据类型</b>(1)

    网络工程师学Python之变量和简单数据类型

    Python是一种广泛应用于编程和数据科学的高级编程语言,它支持许多不同类型的变量和简单数据类型
    的头像 发表于 04-15 17:56 728次阅读

    python变量与基本数据类型介绍

    1、前言 熟练掌握一门编程语言,最好的方法就是充分了解,掌握基础知识,并亲自体验,多敲代码,熟能生巧。本文首先介绍python基础知识的保留字与标识符,然后将介绍在python中如何使用变量以及各种数据类型
    的头像 发表于 07-05 15:51 729次阅读

    Redis的数据类型有哪些

    用的一种数据类型,普通的key- value 存储都可以归为此类。其中Value既可以是数字也可以是字符串。使用场景:常规key-value缓存应用。常规计数: 微博数, 粉丝数。 2、Hash:Hash 是一个键值(
    的头像 发表于 10-09 10:51 764次阅读