字符串相关内容

# 字符串特性:字符串是不可修改类型数据


# 虽然将不同的字符串赋予了同一个变量名,但他们存储的内容不是在同一个内存地址
# 变量名相当于指针,指向了他最后被赋值的内容的内存地址

f = 'hello'
    print(f, id(f))
f = 'hi'
    print(f, id(f))



# 使用+将字符串拼接

a = 'I'
b = ' like'
c = ' movie'
d = a + b + c
print(len(d))


# 通过索引可以找到字符串的任意一个字符

for c in d:
    print(c, end='\t')
    print()
for i in range(len(d)):
    print(d[i], end='\t')
    print()


# 使用*将字符串复制

a *= 4
print(a)



# 证明字符串是对称的方法

str = '2abc5d1d5cba2'
for i in range(1, len(str) + 1):
    if str[i - 1] != str[0 - i] and i <= len(str) // 2:
        print('No')
        break
else:
print('Yes')

for i in range(len(str) // 2):
    if str[i] != str[len(str) - 1 - i]:
        print('No')
        break
else:
print('Yes')


# 字符串单行限制只能输入20个字符,使用反斜杠换行可以输出多个字符

str1 = 'yfgjgkuygiuiyhioyhiyh' \
'gyjfguyiuhiohiohohou' \
'vtjhgvfuiyghouhoijoij'
print(str1)
str2 = '想要输出单引号只需要\'就可以了'
print(str2)
str3 = '想要换行只需要\n就可以了'
print(str3)
print('使用1\b可以删除上一个字符')



# 字符串可以相乘,输出结果是该字符串的相乘次数的结果

print(a * 3)



# 字符串的切片和索引,通过string[x]获取字符串一部分信息,x表示是该字符串索引

d = 'bkuhyhgkuhfa'


# 表示字符串索引为5的值

print(d[5])


# 输出表示字符串索引从0到9(不包含9)

print(d[0:9])


# 第一个索引不填默认为0

print(d[:9])


# 第二个索引值不填默认输出到字符串末尾

print(d[:])


# 第三个数表示间隔几个开始

print(d[::2])


# 若第三个数为-1,默认为倒着输出整个字符串

print(d[::-1])



# 字符串方法
# split()方法:通过给定的分隔符,将一个字符串分割成一个列表,输出结果为列表形式的数据

# (如果没有分隔符,程序会把空格作为分隔符)
print(d.split())
e = '我喜欢唱歌,你喜欢跳舞,真好'
print(e.split(','))



# join()方法:拼接字符串,,使用指定的字符串,使用迭代器(可以使用for遍历的)的字符串或者列表

print('++'.join('Hello word'))
print('+'.join(['1', '2', '3', '4', '5']))



# repalce()方法:类似于查找代替

f = 'I like movie'
g = f.replace('movie', 'sing')
print(g)



# count()方法:统计字符串中某元素出现的次数。
# c是要查询的内容 a:表示起始的索引, b:表示终止的索引

c = "sde"
a = 5
b = 15
print(str1.count(c, a, b))



# find()方法:默认整个字符串查找第一个出现的位置,可以指定搜索的起始位置和结束位置
# rfind()方法:从右开始查找
# 如果查找不到就会直接报错

print('uhfukhafoahofsjcna'.find('hafo', 5, 19))
print('uhfukhafoahofsjcna'.rfind('hafo'))



# index()方法:


# strip()方法:去除字符串两侧的空格或者自定义去除的内容
# rstrip()方法:去除字符串右侧的内容
# lstrip()方法:去除字符串左侧的内容

h = ' apple on the playground '
print(h.strip())
print(h.rstrip())
print(h.lstrip())
i = '***apple on the playground**** '
print(i.strip('*'))





# format():格式化字符串,默认按照顺序赋值
# 字符串格式化就像是做选择题,留个空给做题者选择。
# 在爬虫过程中,有些网页链接部分参数是可变的,这时使用字符串格式化
# 可以减少代码的使用量

j = '{} is wonderful'
print(j.format('Meixi'))



 

def hide_number(number):
change_number = number.replace(number[3:7], '*' * 4)
print(change_number)


number = input("请输入您的电话号码")
hide_number(number)

print('5 + 2 + 5 + 6 + 8 + 9'.split('+')) # split()方法是将句子中的空格或者指定字符作为分隔符将字符串分割成序列
print('Hello my darling, How are you'.split())
print(' How old are you '.strip()) # strip()方法是去除字符串两端的空格或者指定字符
print(('%%%%%% How old are you %%%%%'.strip('%')).strip())



# 字符串大小写

print('hello python world'.capitalize()) # capitalize() 字符串起始首字母大写
print('hello python world'.title()) # title()方法是将字符串中每个单词的首字母大写
print('Heiilo Python World'.lower()) # lower()方法是将字符串中的每个字母变为小写
print('hello python world'.upper()) # upper()方法是将字符串中的每个字母变为大写
print('Heiilo Python World'.swapcase()) # swapcase()方法是将字符串中的每个字符大小写调换
first_name = 'tylet'
last_name = 'swifft'
full_name = first_name + " " + last_name
print("Hello, " + full_name.title()) # python中合并字符串是使用加号(‘+’)



# 字符串对齐

print('hello python world'.center(20, '*')) # center() 字符串居中对齐,可以选择符号
print('hello python world'.ljust(20, '*')) # ljust() 字符串左对齐,可以选择符号
print('hello python world'.rjust(20, '*')) # rjust() 字符串右对齐,可以选择符号


# \t 制表符 可以在输出语句的冒号中使用
# \n 换行符 可以在输出语句的冒号中使用

print('主流编程语言包含如下几个: \n\tjava\n\tpython\n\tC++\n\tC')
username = 'Eric lisa'
message = 'hello {}, would you like to learn some Python today'
print(message.format(username).title()) # format()方法是格式化字符串,将所选内容插入到调用的字符串指定位置
print(username.upper())
print(username.lower())
favorite = ' He fu tang '
talk = '"Everything is ok in the end,if not must be not end"'
print(favorite.title().strip() + " once said: " + talk)


# 特殊字符的输出方式,可以使用转义字符'\'来进行转义输出

# 例子

print('It\'s name ,we dont\'t know') # \将上引号输出,
print('https:\\n.bing.com/') # 防止\n被识别为换行字符


# 原始字符串的输出方式可以输出任何特殊字符的字符串
# 方法:print(r'')

print(
r'https:\n.bing.com/search?pglt=43&q=python%E4%B8%AD%E8%87%AA%E5%8A%A8%E6%A0%BC%E5%BC%8F%E5%8C%96%E7%9A%84%E5%BF%AB%E6%8D%B7%E9%94%AE&cvid=401a3a7b45424e9e82da3317a7d13b59&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQABhAMgYIAhAAGEAyBggDEAAYQDIGCAQQABhAMgYIBRAAGEAyBggGEAAYQDIGCAcQABhAMgYICBAAGEDSAQkyOTc1MmowajGoAgCwAgA&FORM=ANNTA1&PC=U531')

# 编码的知识点

# encode: 编码 看不懂
# decode: 解码 看得懂
# encoding:编码格式(默认为UTF8),编解码时要保证编码格式的一致性才能输出正确内容
en = '中华人民共和国刑法'
ene = en.encode(encoding='GBK')
print(ene)
print(ene.decode(encoding='GBK'))

# ASCII 只能编码128个字符 0-127 每个数字
# ord()函数可以返回字符的ASCII
# chr()函数可以返回ASCII对应的字符
for i in range(128):
print(i, chr(i))

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值