python 基本数据类型 之 字符串

字符串数据出现的意义

掌握字符串的定义和特性

能熟练掌握字符串常用操作,并了解其他工厂方法

字符串的定义和创建

  字符串是一个有序的字符集合,用于存储和表示基本的文本信息,  用引号“           ” 之间的内容就是字符串。

创建方式

  字符串 =  “    用引号引起来就行     ”

特性:

  按照从左到右的顺序定义字符集合,下表从0开始顺序访问,有序

  

提示:

  1.字符串单引号和双引号都无法取消特殊字符的含义,假如需要取消其特殊意义:

    则在其前面加上 r 如:name = r‘I\thf‘

  2. unicode字符串与 r 连用必须在 r 前面,如 name = ur‘I\thf‘

常用操作:

#索引

name = ‘yan xia ting yu‘

print(name[0])>>:yprint(name[-1])>>:uprint(name[-2])>>:y

str.index(element)#查找元素 假如存在 则返回索引 ,不存在报错。print(name.index(‘e‘))    riase抛出异常:ValueError: substring not found

str.find(element)print(name.find(‘e‘))#元素存在返回 索引,不存在 返回-1  不会抛出异常报错
print(name.find(‘y‘))print(name.strip())#移除两边的空格print(name.lstrip())#移除左边的空格print(name.rstrip())#移除右边空格
name = ‘******   yan xia ting yu  *********‘print(name.strip("*"))#移除两边的*字符
#字符串的长度print(name.__len__())#一般不用,是len()方法的实现方式>>:35print(len(name))>>:35
name = ‘******   yan xia ting yu  *********‘
#字符串的替换print(name.replace(‘*‘,‘8‘))#不指定则全部替换>>:888888   yan xia ting yu  888888888

print(name.replace(‘*‘,‘8‘,8))#指定替换个数>>:888888   yan xia ting yu  88*******

print(name.replace(‘*‘,‘8‘,-8))>>;888888   yan xia ting yu  888888888

print(name.replace(‘*‘,‘8‘,-1))>>:888888   yan xia ting yu  888888888

#切片
name = ‘yanxiatingyu‘print(name[0:])print(name[0::])print(name[0:7])#顾头不顾尾print(name[0:7:2])#步长为2print(name[4::2])#步长为2print(name[::-1])#反向步长  #取反print(name[:-7:-1])print(name[-2:-7:-1])print(name[-1:-7:-1])

>>:yanxiatingyu
>>:yanxiatingyu
>>:yanxiat
>>:ynit
>>:itny
>>:uygnitaixnay
>>:uygnit
>>:ygnit
>>:uygnit

#一些比较有用的函数

name = ‘yanxiatingyuyanxiatingyu‘upper_name=‘YANXIATINGYU‘print(name.capitalize())print(upper_name.casefold())print(name.center(20,‘8‘))#第一个参数设置宽度,第二个:补全的字符:print(name.center(20))#不写默认为空格#原来的字符串居中,不够用字符补全print(name.count(‘y‘,0,7))#统计字符出现的次数,start_int_index,end_int_index设置查找范围print(name.count(‘y‘))#不设定不限制:默认范围是全部

Yanxiatingyuyanxiatingyu
yanxiatingyu
yanxiatingyuyanxiatingyu
yanxiatingyuyanxiatingyu
1
4

import  hashlibhs=hashlib.md5()hs.update(name.encode(‘utf-8‘))print(hs.hexdigest())>>:ecbf46328d68cca2a29e618186efd377

#字符串的格式输出

#format的三种玩法
res=‘{} {} {}‘.format(‘egon‘,18,‘male‘)
res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘)
res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18)

#字符串的拼接

单独拿出来了 有兴趣可以去看看

# in 和 not in 成员运算

if ‘y‘ in name:    print(‘存在‘)

if ‘Y‘ not in name:    print(‘不存在‘)
#1、strip,lstrip,rstrip
#2、lower,upper
#3、startswith,endswith
#4、format的三种玩法
#5、split,rsplit
#6、join
#7、replace
#8、isdigit

#strip
name=‘*egon**‘
print(name.strip(‘*‘))
print(name.lstrip(‘*‘))
print(name.rstrip(‘*‘))

#lower,upper
name=‘egon‘
print(name.lower())
print(name.upper())

#startswith,endswith
name=‘alex_SB‘
print(name.endswith(‘SB‘))
print(name.startswith(‘alex‘))

#split
name=‘root:x:0:0::/root:/bin/bash‘
print(name.split(‘:‘)) #默认分隔符为空格
name=‘C:/a/b/c/d.txt‘ #只想拿到顶级目录
print(name.split(‘/‘,1))

name=‘a|b|c‘
print(name.rsplit(‘|‘,1)) #从右开始切分>>:[‘a|b‘, ‘c‘]
#join tag=‘ ‘ print(tag.join([‘egon‘,‘say‘,‘hello‘,‘world‘])) 

#可迭代对象必须都是字符串 #replace name=‘yanxiatingyu say :i have ,my name is yanxiatingyu‘ 

print(name.replace(‘yanxiatingyu‘,‘88‘,1)) #isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法

age=input(‘>>: ‘) print(age.isdigit())

  

print(name.capitalize())#首字母大写print(name.swapcase())#全部大写print(name.istitle())#判断首字母是否大写
#find,rfind,index,rindex,count
name=‘egon say hello‘
print(name.find(‘o‘,1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
# print(name.index(‘e‘,2,4)) #同上,但是找不到会报错
print(name.count(‘e‘,1,3)) #顾头不顾尾,如果不指定范围则查找所有

#center,ljust,rjust,zfill
name=‘egon‘
print(name.center(30,‘-‘))
print(name.ljust(30,‘*‘))
print(name.rjust(30,‘*‘))
print(name.zfill(50)) #用0填充

#expandtabs
name=‘egon\thello‘
print(name)
print(name.expandtabs(1))

#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg=‘egon say hi‘
print(msg.title()) #每个单词的首字母大写

#is数字系列
#在python3中
num1=b‘4‘ #bytes
num2=u‘4‘ #unicode,python3中无需加u就是unicode
num3=‘四‘ #中文数字
num4=‘Ⅳ‘ #罗马数字

#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False

#isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False

#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True

#三者不能判断浮点数
num5=‘4.3‘
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
‘‘‘
总结:
    最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
    如果要判断中文数字或罗马数字,则需要用到isnumeric
‘‘‘

#is其他
print(‘===>‘)
name=‘egon123‘
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成

print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())

原文地址:https://www.cnblogs.com/yanxiatingyu/p/9276757.html

时间: 2024-10-05 05:04:56

python 基本数据类型 之 字符串的相关文章

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

python基本数据类型之字符串(三)

python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法和相应的判断方法放在一起进行讲解. 这些方法包括:capitalize.casefold.lower\islower.upper\isupper.maketrans\translate.swapcase.title\istitle 1.capitalize.title.istitle capital

python基本数据类型之字符串(四)

python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值都是bool类型(True\False). 方法包括:startswith\endswith.isalnum\isalpha.isdecimal\isdigit\isnumeric.isidentifier.isprintable.isspace 1.startswith.endswith 这两个方

python基本数据类型之字符串(五)

python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字符串的遍历可以使用for循环. s = 'goodhappynewyear' li = [] for item in s: li.append(item) print(li) 打印结果: ['g', 'o', 'o', 'd', 'h', 'a', 'p', 'p', 'y', 'n', 'e',

python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环

Python基础数据类型(4.29) bool str int 三者之间的转换 str索引切片,常用操作方法 for循环(大量的练习题) 1.基础数类型总览 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). 10203 123 3340 int 主要用于计算+- * / 等等 '今天吃了没?' str 存储少量的数据,并进行相应的操作.str1 + str2, str *int , 索引,切片, 其他操作方法 Tru

Python的数据类型--数字--字符串

先讲一个概念 在Python里,一切皆对象,对象基于类创建 所以,以下这些值都是对象: "wupeiqi".38.['北京', '上海', '深圳'],并且是根据不同的类生成的对象. 1.变量类型与对象 1.程序中需要处理的状态很多,就要有不同类型的变量值来表示, 在python中所有数据都是围绕对象这个概念来构建的,对象包含一些基本的数据类型:数字,字符串,列表,元组,字典等 程序中存储的所有数据都是对象,包含了1.身份(id),2.类型(type),3值(通过变量名来查看)每个对象

【python】数据类型,字符串和编码

python笔记,写在前面:python区分大小写1.科学计数法,把10用e代替,1.23x10·9就是 1.23e9                            或者 0.00012就是1.2e-42.转义字符 \ 或者 r''[相当于C#里的@]r代表 raw string里边的\不转义   要表示  \   就要写成 \\   换行符 可以用 '''内容''' ,也可以前面加上r显示          例子:               print('''1           

Python基本数据类型以及字符串

基本数据类型                数字  int ,所有的功能,都放在int里            a1 = 123            a1 = 456                        - int                将字符串转换为数字                    a = "123"                    print(type(a),a) b = int(a)                    print(type(

python之数据类型(字符串)

字符串用双引号" "或单引号' '都可以. (一)字符串拼接 代码: 1 s1 = "这是数字: " 2 p = 99.8 3 # 使用str()将数值转换成字符串 4 print(s1 + str(p)) 5 # 字符串直接拼接数值,程序报错 6 print(s1 + p) 结果: 这是数字: 99.8 Traceback (most recent call last): File "D:/code/python_code/python_pickle.p

python 基础数据类型之字符串02

1.字符串去除空格 # # strip(self, chars=None) #去除字符串两端空格 # lstrip(self, chars=None) #去除字符串左端空格 # rstrip(self, chars=None) #去除字符串右端空格 程序: str1 = "  hello world!  " print str1.strip() print str1.lstrip() print str1.rstrip() 运行结果: hello world! hello world!