Python中字符串对象语法分享
作者:酷尔。 发布时间:2022-04-19 14:48:34
前言:
前面提到了Python中的数值型内置数据类型,接下来呢我们就着重介绍一下字符串类型。在Python中字符串是一个有序的字符集合,没有独立的字符数据类型,当字符串长度为1时就可以认为其是字符。Python的内置数据类型str用于字符串处理。str对象的值为字符系列字符串是不可变序列。
一、字符串的外观
1.字符串字面量
顾名思义字符串就是有一串字符所组成的东西而为了这串东西的安全,要将其放进单引号、双引号、三单引号、三双引号其中之一中。要一一对应,不可以拿单引号配三引号。【单引号、双引号创造的字符串不可以换行】
'Hello World'
"Hello World"
'''Hello World'''
"""Hello World"""
玛丽震场:
'''
Hello World
********
************
####....#.
#..###.....##....
###.......###### ### ### ### ###
........... #...# #...# #...# #...#
##*####### #.#.# #.#.# #.#.# #.#.#
####*******###### #.#.# #.#.# #.#.# #.#.#
...#***.****.*###.... #...# #...# #...# #...#
....**********##..... ### ### ### ###
....**** *****....
#### ####
###### ######
############################################################## ##################################
#...#......#.##...#......#.##...#......#.##------------------# #...#......#.##------------------#
###########################################------------------# ###############------------------#
#..#....#....##..#....#....##..#....#....##################### #..#....#....#####################
########################################## #----------# ############## #----------#
#.....#......##.....#......##.....#......# #----------# #.....#......# #----------#
########################################## #----------# ############## #----------#
#.#..#....#..##.#..#....#..##.#..#....#..# #----------# #.#..#....#..# #----------#
########################################## ############ ############## ############
'''
2.字符串与多行注释
在Python
中单行注释使用的是#,对于多行注释可以使用三个双引号,也可以使用三个单引号。
#我是单行注释
'''
我是一行注释
'''
"""
我也是一行注释
"""
3.字符串编码方式
在Python2中支持的是ASCII编码,Python3
中使用的是Unicode
,支持中文。内置函数ord()
与chr()
可以进行编码与字符之间的转换。
例如:
二、字符串对象
1.str
str(object=‘')#创建空字符串【当然这个object对象可以指向任意对象】
str()返回一个字符串对象通过str()可以将任意对象转换为str对象如果被转换对象实现了__str__()方法,则转换为指定的str对象,否则转换为repr(object)
,repr()是Python另一个内置的函数,该函数返回一个对象的更精确的字符串表示形式。
2.str实现原理
str对象是不可变对象,所以使用str方法生成的新的str对象都是一个新的对象。字符串通常会在常量池中存在,并且一个字符串只有一个这样的机制极大的节约了空间与时间称为【字符串驻留机制】
代码如下:
a='asd'
b='asd'
# 两个字符串对象地址相同
print(id(a),id(b))
3.str中的内置方法
①匹配子串
'''
参数对象在初始对象中的位置
'''
p='asdqweasdwr'
print('----------------------------------------------------')
# 找到打印,找不到抛出异常
# 找出字串第一次出现的位置
# print('asd'.index(p))
print(p.index('asd'))
# 找出子串最后一次出现的位置
print(p.rindex('asd'))
# 找子串,找不到不抛出异常打印-1
print('asd'.find(p))
print(p.find('asd'))
print(p.rfind('asd'))
②字符串的大小写转换
'''
大写转小写,小写转大写,每个单词开头转大写,每段开头转大写
转换函数都是字符串对象的函数
'''
print('----------------------------------------------------')
# 小写转大写
print('asd asd qwe'.upper())
# 大写转小写
print('aSd Asd Qwe'.lower())
# 大小写互换
print('AsD SsE qwe'.swapcase())
# 开头转成小写
print('asd asd qwe'.capitalize())
# 每个单词开头转大写
print('asd asd qwe'.title())
③字符串中的内容对齐方法
'''
字符串对齐,只有指定的宽度大于字符串长度才会进行对齐,否则没有效果
'''
print('----------------------------------------------------')
# 居中
print('qwe'.center(20,'*'))
# 左对齐
print('asd'.ljust(20,'@'))
# 右对齐
print('ert'.rjust(20,'$'))
# 零填充
print('-8750'.zfill(10))
④拆解字符串
'''
从字符串左边开始劈分,默认以空格为间隔,劈分的结果是一个列表
sep指定分劈的字符,maxsplit指定分劈的次数
'''
print('----------------------------------------------------')
# 默认从左开始劈
l='hello234234234sds World kity'.split(sep='2',maxsplit=5)
print(l)
# 默认从右开始劈
ll='hello234234234sds World kity'.rsplit()
print(ll)
⑤判断字符串类型
'''
通过函数判断字符串内含有的字符类型
'''
print('----------------------------------------------------')
# 判断字符串是不是合法的标识符
print('asdqwew.,.123'.isidentifier())
# 判断字符串是否全部由空白字符组成(回车、换行、水平制表符)
print('\n\t'.isspace())
#判断字符串是否全部由字母组成
print('asdqwewqxas'.isalpha())
# 判断字符串是否全部由十进制数字组成
print('hello234234234sds World kity'.isdecimal())
# 判断字符串是否全由数字组成
print('hello234234234sds World kity'.isnumeric())
# 判断字符串是否全由字母和数字组成
print('hello234234234sdsWorldkit'.isalnum())
⑥字符串的替代与合并
'''
字符串的费空间拼接,以及字符串的不费空间拼接
'''
print('----------------------------------------------------')
# 字符串子串的替换
# 字符串的替换,替换后原来的字符串不发生变化,返回新产生的字符串
# 参数依次是被替换的子串,新的子串,以及最大替换次数
print('asd,asdqweasdkasdjklnlhihasdnjasd'.replace('asd','qwe',2))
print()
# 字符串的拼接
# 费空间(产生字符串碎片)
a='qwe'
a=a+'asd'
# 节约空间(不产生字符串碎片)
q='qwe'
q.join('asd')
print('---------------------------------')
⑦字符串的格式化
'''
有两种方式一种是占位符,另一种是花括号
'''
name='小朱佩奇'
age=20
print('-------------------------------')
# 字符串格式化
print('我叫%s,今年%d岁了' %(name,age))
print('我叫{0},今年{1}岁了'.format(name,age))
# 小数格式化
# 一共十位,小数三位算上小数点
print('%10.3f' %3.14159265)
# 一共10位,数字占3位
print('{0:10.3}'.format(3.14159265))
⑧字符串编码
sql='为人民服务'
# GBK中中文字符占有两位
print(sql.encode('GBK'))
# UTF-8中中文字符占有3位
print(sql.encode('UTF-8'))
# 字符串转为字节码
# 编码
by1=b'hello'
by2='hello'.encode()
# 解码
print(str(b'hello'))
print(by2.decode())
4.字符串切片
代码如下:
'''
字符串切片后会产生新的字符串
'''
print('--------------------------------')
a='Hello World'
print(a[3:])
print(a[:5])
print(a[1:8:2])
print(a[:-6])
print(a[-6:])
结果:
总结:
上面就是今日分享的关于Python中字符串对象的所有内容啦。在Python中字符串语法简单但是方法的作用十分的复杂并且实用,由于东西较多想要完全掌握还是比较难滴。还望我们多多努力啦。
来源:https://blog.csdn.net/apple_51931783/article/details/123053888
猜你喜欢
- 本文实例讲述了Python使用Dijkstra算法实现求解图中最短路径距离问题。分享给大家供大家参考,具体如下:这里继续前面一篇《Pytho
- 万维网联盟(W3C)发布了HTML 5规格说明书的草稿 ,这是自HTML 4在十多年前发布以来的第一个主要的修订版.在这期间,随着开发者逐渐
- 1. 普通装饰器 import logging1. foo = use_loggine(foo) def use_loggine(func)
- 1.最小开发框架代码import sys import pygamepygame.init() size=w,h = (
- 反射的优点它的核心本质其实就是基于字符串的事件驱动,通过字符串的形式去操作对象的属性或者方法一个概念被提出来,就是要明白它的优点有哪些,这样
- 一、语法:cap = cv2.VideoCapture(0)说明:参数0表示默认为笔记本的内置第一个摄像头,如果需要读取已有的视频则参数改为
- 1、PandasPython Data Analysis Library 或 pandas 是基于NumPy 的一种工具,相当于这是Pyth
- 一、问题引发思考前阵子与同事探讨一个小需求时又遇到了按钮表示“动作”和表示“状态”间矛盾问题。想想这个问题多年前已经开始讨论了,所以在此整理
- 代码如下_init_.pyfrom flask import Flask, request, url_for, redirect, rend
- goroutine简介goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心。g
- 很多小伙伴在学习Django的时候,总是搞不定版本的问题,下面来一起看一张表,轻松解决Python版本和Django版本的兼容问题。Djan
- Hello World一个简单的hello world例子:#!/usr/bin/env perluse strict;use warnin
- 使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存
- 给输入框加个动态背景图<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi
- 本文实例讲述了Python sqlite3事务处理方法。分享给大家供大家参考,具体如下:sqlite3事务总结:在connect()中不传入
- 清空服务器缓存asp代码: <%Call RemoveAllCache()Sub RemoveAllCa
- 在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。在操作系统提供的调用中,返回错误
- 遍历数据有以下三种方法:简单对上面三种方法进行说明:iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Se
- 一、Python简介1.python介绍Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计
- 1. 带默认值的参数在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下:>> def defaultValueA