python基础--2 字符串

随声附和 提交于 2020-04-07 11:32:50

整型 int

python3里,不管数字多大都是int类型

python2里面有长整型long

将整型字符串转换为数字

# a='123'
# print(type(a),a)
# b=int(a)
# print(type(b),b)

需要注意如果是浮点型的数字字符串,不能用int类型强制转换,而需要用float浮点类型

# a='12.3'
# print(type(a),a)
# b=float(a)
# print(type(b),b)

#当前数字的二进制位,至少用n位表示

age=3
r=age.bit_length()
print(r)

#字符串类型的常见内置函数用法

test = "aLax"#
v = test.capitalize()  # 首字母大写,除首字母以外其余都为小写,数据类型的魔法函数必须带括号
print(v)

 

v1=test.casefold()#将字符串转换为小写
# print(v1)
# v2=test.lower()
# print(v2)

  

# 设置宽度,并将内容居中
# 20 代指总长度
# * 空白位置填充
test = "alex"
v3 = test.center(20, '*')
print(v3)

  

# v=test.rjust(20,'*') rjust 向右填充指定字符数
# print(v)
#
# v=test.ljust(20,'*') ljust 向左填充指定字符数
# print(v)

  

 

# 去字符串中寻找,寻找子序列出现次数
# 可以设置查找的起始位置
# test="alaxxxx"
# v=test.count('x')
# print(v)

# test="alaxxxx"
# v=test.count('x',4,5)#第二个和第三个参数分别是起始位置和结束位置
# print(v)
# 以什么什么结尾
# 以什么什么开头,如果查找到指定字符返回True,否则Flase
# test='alex'
# v=test.endswith('ex',2)
# v1=test.startswith('al')
# print(v1)
# print(v)

  

# 从开始往后找,找到第一个之后,获取其位置,未找到-1
test = "alexalex"
v1 = test.find("ex", 5, 10)
print(v1)

  

# 格式化,将一个字符串中的占位符替换为指定的值
# test="I am {name},age {a}"
# print(test)
# v=test.format(name="alex",a=19)
# print(v)

# 将一个字符串中的占位符替换为指定的值
# test="I am {0},age {1}"
# print(test)
# v=test.format('alex',19)
# print(v)


# 格式化,传入的值{'name':'alex,'a':19}
# test="I am {name},age {a}"
# v=test.format(name='df',a=10)
# print(v)
# v1=test.format_map({'name':'df','a':19})
# print(v1)

  

# index找不到报错,通过字符串查找子序列的起始位置
# test="alexalexalex"
# v=test.index('ex')
# print(v)

  

# 字符串中是否只包含字母和数字,如果是True,否则false
# test="uasf890_+"
# v=test.isalnum()
# print(v)

  

# expandtabs,断句20,制表,字符串中必须包含\t
test="123456aa\t123\n789\t123"
v=test.expandtabs(20)
print(v,len(v))

  

# 是否是字母,汉字
# test="as唐dr"
# v=test.isalpha()
# print(v)

  

# 当前输入是否是数字
# test="123②"
# v2=test.isdecimal() 数字
# v1=test.isdigit() 数字②
# v3=test.isnumeric() 数字②二
# print(v2,v1,v3)

  

# 大小写切换
# test='ALEX'
# v=test.swapcase()
# print(v)

  

# 判断字符串是否包含字母,数字,下划线: 标识符
# a="_123"
# v=a.isidentifier()
# print(v)

  

# 是否存在不可显示的字符
# \t制表符  \n换行符
# test="hashh\t111"
# v=test.isprintable()
# print(v)

 

# 判断是否全部都是空格
# test=" "
# v=test.isspace()
# print(v)

 

# 判断是否是标题,或把他变成标题,标题首字母要大写
# test="Return the futer"
# v=test.istitle()
# v1=test.title()
# print(v,v1)

 

# &****join将字符串中的每一个元素按照指定分割符进行拼接
# test="你是风儿我是啥"
# print(test)
# t=' '
# v=t.join(test)
# print(v)
# a="b"#
# b="acdef"
# v=a.join(b)
# print(v)

 

# 判断是否全部是小写和全部转换为小写
# test="ALex"
# v1=test.lower()
# v2=v1.islower()
# print(v1,v2)
# 判断是否全部是大写和全部转换为大写
# v1=test.isupper()
# v2=test.upper()
# print(v1,v2)

 

# 移除指定字符串
# 有限最多匹配
# test="xalex"
# v=test.lstrip('x')
# v2=test.rstrip('xea')
# print(v,v2)

 

# 去除左右空白
# test=" \nalex "
# test.lstrip()
# test.rstrip()
# test.strip()
# v=test.lstrip()
# v1=test.strip()
# print(v,v1)

# 去除 \t \n
# v=test.lstrip()
# print(v)

 

# test  ="aeiou"
# test1 ="12345"
# v="funckududjjjcaaayuyiw"
# m=str.maketrans(test,test1)
# new_v=v.translate(m)#将字符串一一对应替换
# print(new_v)

 

# 分割字符串
# test="testdsd"
# v=test.partition("st")
# print(v)
# v=test.rpartition("s")#返回一个包含分割条件的元祖,只能分割成三段
# print(v)
#
# v=test.split('s',2)#返回一个不包含分割条件的列表,第二个参数表示分割条件的次数
# print(v)
# test.rsplit()
# 正则表达式
# 是否想要分割的元素

 

# 分割,只能根据换行分割,True,False:是否保留换行
# test="asdfasdf\nasfdkks\nikedkk\nqkskk"
# v=test.splitlines(False)
# print(v)

 

# 大小写转换
# test="ALEX"
# v=test.swapcase()
# print(v)

 

# 将字符串替换为指定字符,第一个参数指定被替换的字符串,第二个参数替换字符串,第三个参数替换的次数
test = "alexalex"
v = test.replace("ex", "bb", 1)
print(v)

 

字符串类型常用内置方法

join()split()find()strip()upper()lower()replace()#对字符串进行操作的方法
test = "证见闻妹子看过来"

# for循环
# for 变量名 in 字符串
#   print()

count = 0
while count < len(test):
    print(test[count])
    count += 1

print("+++++++++++")

for item in test:
    print(item)

# 索引, 下标,获取字符串中的某一个字符
# print(test[0])

# 切片
v=test[0:10]  #0<=  <10
v1=test[0:-1]
print(v,v1)


# Python3 len 获取当前字符串中有几个字符组成
# print(len(test))


# len("dasg") 字符数
# '_'.join('aadss')

# a="anameljhshahljsljsj"
# v=a.split('l')默认为全部分隔,可指定分个数
# print(v)


# li=[11,22,33,44,'sss']#,分割计算
# print(len(li))


'''for循环 切片 索引 len'''

test = "funck来吧"
# 将文字对应的索引打印出来

test1 = input(">>>>")
v = len(test1)
for item in range(v):
    print(item, test1[item])

# for item in test:
#     print(item)
#     break

# 帮助创建连续的数字,通过设置步长来指定不连续
# v=range(0,10,5)
#
# for item in v:
#     print(item)

 

字符串的注意事项

# 字符串一旦创建,就不可修改
# 一旦修改或者拼接,都会造成重新生成新的字符串
name = "hdshhs"
age = '18'
cname = name + age
print(cname)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!