kelaiji

博客园 首页 联系 订阅 管理

我会持续更新....

字符串类型

字符串定义:
字符串的格式:'字符串', "字符串",  """字符串"""
字符串一旦被创建,不能被修改,一旦修改或者拼接,都会重新生成字符串
字符串有序,可以索引,可以切片,可迭代对象

语法:
a = '我是字符串' # 单引号 b = "我也是字符串" # 双引号 c = """我照样是字符串""" # 三引号 # 第一个引号会找到第二个相同引号作为结束
单个"我"是一个字符
abc 是字符串, "我"是abc里面的子字符串,子序列

 运算符: in       not in

a = '我是字符串'             
b = "我也是字符串"         
c = """我照样是字符串"""
if "" in a:        # 问你  "我"在不在a字符串里面,  在里面,满足if条件,执行if下面的代码块.if判断的就是真假,真就执行,假就不执行(下面我会演示)
    print("ok")
else:
    print("Error")
执行结果:
ok
----------------------------------------------------------------------------------------------------

if "" not in c:      # 问你: "我"不在c字符串里面?    因为"我"在字符串里面,所以不对,不满足if条件,执行else. else执行的都是假
    print("ok")
else:
    print("Error")
执行结果:
Error

 演示真假(bool值)

真假也是一种数据类型,叫布尔值(bool),常用于判断
    True : 真==1     首字母大写
    False: 假==0    首字母大写
引用上面代码a的变量
v = "" in a      
print(v)        # 执行结果为: True   
v1 = "" not in a    
print(v1)        # 执行结果为: False
v2 = v + 10
print(v2)        # 执行结果为: 11
v3 = v1 + 10
print(v3)        # 执行结果为: 10

由此得证两点:1.if底层就是判断真假
       2.True==1,False==0

对字符串操作的方法:

----------------------------------------------------
字符串的方法:
0.--------------------------------------------------
str()
# 强制类型转换
i = 123
s = str(123)    
print(s)
执行结果:"123"
1.--------------------------------------------------
capitalize(self) 
# 首字母变大写
test = "kelaiji"
T = test.capitalize()
print(T)
执行结果:Kelaiji
2.--------------------------------------------------
casefold(self)
# 变小写,不仅仅是字母
test = "KELAIJI"
T = test.casefold()
print(T)
执行结果:kelaiji
3.--------------------------------------------------
lower(self)
# 字母转换成小写
test = "KELAIJI"
T = test.lower()
print(T)
执行结果:kelaiji
4.--------------------------------------------------
 islower(self)
 # 至少一个字符,且都是小写字母才返回True
 s = "Kelaiji"
v = s.islower()
print(v)
执行结果:False
5.--------------------------------------------------
upper(self)
# 转换大写字母
s = "Kelaiji"
v = s.upper()
print(v)
执行结果:KELAIJI
6.--------------------------------------------------
isupper(self)
# 至少一个字符,且都是小写字母才返回True
s = "Kelaiji"
v = s.islower()
print(v)
执行结果:False
7.--------------------------------------------------
ljust(self, width, fillchar=None)
# 设置长度,并放左边,不够用fillchar代替,默认空白代替
test = "KELAIJI"
T = test.ljust(20, "*")
print(T)
执行结果:KELAIJI*************
8.--------------------------------------------------
center(self, width, fillchar=None)
# 设置长度,并居中,不够用fillchar代替,默认空白代替
test = "KELAIJI"
T = test.center(20, "*")
print(T)
执行结果:******KELAIJI*******
9.--------------------------------------------------
rjust(self, width, fillchar=None)
# 设置长度,并放右边,不够用fillchar代替,默认空白代替
test = "KELAIJI"
T = test.rjust(20, "*")
print(T)
执行结果:*************KELAIJI
10.--------------------------------------------------
count(self, sub, start=None, end=None)
# 统计元素的在字符串出现的次数,可以设置查询范围
test = "KELAIJI"
T = test.count("I", 4, 5)
print(T)
执行结果:1
11.--------------------------------------------------
startswith(self, prefix, start=None, end=None)
# 检查以什么为开头,是的返回True,不是返回False,默认起始和终止位置为None
test = "kelaiji"
T = test.startswith("ke")
print(T)
执行结果:True
12.--------------------------------------------------
encode(self, encoding='utf-8', errors='strict')
# 把Unicode编码成指定编码
s = "周科"
s = s.encode("utf-8")     # 参数为指定编码格式
print(s)
执行结果:b'\xe5\x91\xa8\xe7\xa7\x91'
13.--------------------------------------------------
decode(self, encoding='utf-8', errors='strict')
# 将原编码转换成指定编码
s1 = s.decode("utf-8")     # 参数为原编码格式
print(s1)
执行结果:周科
14.--------------------------------------------------
endswith(self, prefix, start=None, end=None)
# 检查以什么为开头,是的返回True,不是返回False,默认起始和终止位置为None
test = "kelaiji"
T = test.endswith("i", 10)
print(T)
执行结果:False
15.--------------------------------------------------
expandtabs(self, tabsize=8)
默认一个表格的长度最少为8个字符,不够用空白补
test = "username\tpassword\tage\tsex\nkelaiji\t1318905\t18\t男"
T = test.expandtabs(20)
print(T)
执行结果:
username            password            age                 sex
kelaiji             1318905             1816.--------------------------------------------------
find(self, sub, start=None, end=None)
# 查找字符的第一个索引位置.没找到返回-1,可以设置起始和终止的范围
test = "kelaiji"
T = test.find("o")
print(T)
执行结果:-1
17.--------------------------------------------------
index(self, sub, start=None, end=None)
# 找字符的第一个索引位置.没找到报错,不建议使用
test = "kelaiji"
T = test.index("i")
print(T)
执行结果:4
18.--------------------------------------------------
format(self, *args, **kwargs)
# 格式化输出
第一种用法:
s = "I am {}".format("kelaiji")
print(s)
执行结果:I am kelaiji
第二种用法:
s = "I am {}"
v = s.format("kelaiji")
print(v)
执行结果:I am kelaiji
第三种用法:
s = "I am {}"
v = s.format("kelaiji")
print(v)
执行结果:I am kelaiji
第四种方法:
s = "I am {}"
v = s.format("kelaiji")
print(v)
执行结果:I am kelaiji
第五种方法,保留小数:
a = '{:.2f}'.format(12.333)
print(a)    
执行结果:12.33
第六种方法,百分比格式:
a = '{:.2%}'.format(0.333)
print(a)
执行结果:33.30%
第七种方法,左对齐,长度为10
a = '{a:<10}'.format(a=12.3)
print(a)
执行结果:12.3         # 这后面有10个空格
第八种方法,右对齐,长度为10
a = '{a:0>10}'.format(a=12.3)
print(a)
执行结果:00000012.3
第九种方法,居中对齐,长度为10
a = '{a:0^10}'.format(a=12.3)
print(a)
执行结果:00012.3000
第十种方法********用法:
L = ["kelaiji", 18, "Python"]
s = "我叫{}\n我的年龄{}\n我在学{}".format(*L)
print(s)   
执行结果:
我叫kelaiji
我的年龄18
我在学Python 
19.--------------------------------------------------
format_map(self, mapping)
格式化输出,字典
s = "I am {name}"
v = s.format_map({"name": "kelaiji"})
print(v)
执行结果:I am kelaiji
20.--------------------------------------------------
isdecimal(self)
# 判读是不是数字,支持十进制
s = ""
v = s.isdecimal()
print(v)
执行结果:False
21.--------------------------------------------------
isdigit(self)
# 判读是不是数字,支持特殊字符
s = ""
v = s.isdigit()
print(v)
执行结果:True
22.--------------------------------------------------
isnumeric(self)
# 判读是不是数字,支持中文的数字
s = ""
v = s.isnumeric()
print(v)
执行结果:True
23.--------------------------------------------------
isalnum(self)
# 判断字符串是不是字母和数字,是True,不是返回False
s = "123asd_+="
v = s.isalnum()
print(v)
执行结果:False
24.--------------------------------------------------
isalpha(self)
# 这个值判断是否是字母,汉字
s = "kelaiji"
v = s.isalpha()
print(v)
执行结果:True
25.--------------------------------------------------
join(self)
# 将字符串的每一个元素按照指定的分隔符进行拼接 
s = "KELAIJI123"
v = ":".join(s)
print(v)
执行结果:K:E:L:A:I:J:I:1:2:3
26.--------------------------------------------------
isprintable(self)
# 是否存在不可显示的字符\t \n, 存在就是False
s = "Kelaiji\t"
v = s.isprintable()
print(v)
执行结果:False
27.--------------------------------------------------
isspace(self)
# 至少一个字符,且都是空格才返回True
s = " "
v = s.isspace()
print(v)
执行结果:True
28.--------------------------------------------------
title(self)
# 转换成标题
s = "Return True if"
v = s.title()
print(v)
执行结果:Return True If
29.--------------------------------------------------
istitle(self)
# 判断是否是标题
v = Return True If
v1 = v.istitle()
print(v1)
执行结果:True
30.--------------------------------------------------
swapcase(self)
# 大写可以转换成小写,小写可以转换成大写
s = "KELAIJI"
v = s.swapcase()
print(v)
执行结果:kelaiji
31.--------------------------------------------------
isidentifier(self)
# 符合 字母,数字,下划线: 标识符 def class
s = "1KELAIJI"
v = s.isidentifier()
print(v)
执行结果:True
32.--------------------------------------------------
lstrip(self, chars=None)
# 默认移除左边空白,加参数,移除左边指定字符
s = "kelaijike"
s1 = s.lstrip("ke")
print(s1)
执行结果:laijike
33.--------------------------------------------------
strip(self, chars=None)
# 默认移出左右空白
s = "kelaijike"
s1 = s.strip("ke")
print(s1)
执行结果:laiji
34.--------------------------------------------------
rstrip(self, chars=None)
# 默认移除右边空白,加参数,移除右边指定字符,移出\t,\n
s = "kelaijike"
s1 = s.rstrip("ke")
print(s1)
执行结果:kelaiji
35.--------------------------------------------------
translate(self, table)
# 暂时不会用,以后更新
36.--------------------------------------------------
zfill(self, width)
# 返回指定长度的字符串,原字符串右对齐,前面填充0
s = "kelaijike"
s1 = s.zfill(20)
print(s1)
执行结果:00000000000kelaijike
37.--------------------------------------------------   
replace(self, old, new, count=None) 
# 替换   参数: 被替换的 , 替换成, 替换次数,默认全部
s = "kelaijike"
s1 = s.replace("ke", "ek", 1)
print(s1)
执行结果:eklaijike
38.--------------------------------------------------
partition(self, sep)
# 以什么分割成三部分,并以元组的形式返回
s = "keilaijike"
s1 = s.partition("i")
print(s1)
执行结果:('ke', 'i', 'laijike')
39.--------------------------------------------------
split(self, sep=None, maxsplit=-1)
# 分割成指定数量,默认全部分割,并以列表的形式返回
s = "keilaijike"
s1 = s.split("i", 1)
print(s1)
执行结果:['ke', 'laijike']
40.--------------------------------------------------
splitlines(self, keepends=None)
# 根据换行符来进行分割,true,false:是否保留换行符,并以列表的形式返回
test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(True)    # False不显示换行符
print(v)
执行结果:['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf']
 
    
    
    
    
    
    
    
    
    
    
View Code

 

posted on 2019-04-24 17:11  kelaiji  阅读(242)  评论(0编辑  收藏  举报