【Python打卡日:20220518】Python字符串问题记要

今天,重新翻看了《Python字符串》章节的内容,梳理一下,加深记忆。

一、单引号、双引号、三单引号、三双引号问题

首先,看下面的例子。由输出结果知道,四个字符串虽然是同一内容,但是它们的ID确实不一样的。三、单双、引号,与单双引号,具有不同的内存地址。单引号和双引号相同;三单引号和三双引号相同。

string1 = 'python'
string2 = "python"
string3 = '''
python
'''
string4 = """
python
"""
print(id(string1),id(string2),id(string3),id(string4))

print(string1,string2,string3,string4)

print(string1 is string2)
print(string3 is string4)

print(string1 == string3)  # 其实质,两者内容不相同的,根据输出打印信息就可以看出来
print(string1 is string3) # is 比较的是内存地址,因为不相同,所以这里也是错的

### 输出结果:
2761473111280 2761473111280 2761473158384 2761473158384
python python 
python
 
python

True
True
False
[Finished in 488ms]

这里顺便复习了 is 的比较用法。 == 比较的字符串的内容;is 比较的是字符串的地址。

【变形】

如果将三、单双、引号,写在同一行,那么所有均相同。

string1 = 'python'
string2 = "python"
string3 = '''python'''
string4 = """python"""
print(id(string1),id(string2),id(string3),id(string4))

print(string1,string2,string3,string4)

print(string1 is string2)
print(string3 is string4)

print(string1 == string3)  # 其实质,两者内容不相同的,根据输出打印信息就可以看出来
print(string1 is string3) # is 比较的是内存地址,因为不相同,所以这里也是错的

### 输出结果是:
1564669883632 1564669883632 1564669883632 1564669883632
python python python python
True
True
True
True
[Finished in 182ms]

二、利用input 数据流输入的注意事项

string1 = input('请输入字符串:')
string2 = input("请输入字符串:")
print(id(string1),id(string2))

print(string1,string2)

print(string1 == string2)  # 其实质,两者内容是相同的
print(string1 is string2) # is 比较的是内存地址,两者内容是不同的

### 输出结果:
True
False

三、字符串的运算符

3.1    + 运算符-》   拼接符

3.2    * 运算符-》    'abc'*5  : 重复5遍

3.3    in 运算符 -》 rerult = 'a' in 'name ' ;  rerult = 'ame' in 'name '

3.4    not in 运算符 -》 

3.5    % 运算符 -》 字符串格式化操作 , print('%s is %s' % ('love', 'python'))
3.6    r 保留原格式运算符, print(r'%s说: \'哈哈'), 牵扯转义字符问题

3.7   []  截取操作。 [0:2]   ,    [:]  ,    [3:] ,     [:6]  , 

 [-1: -5 : -1 ](其实位置最后一位字符,倒序打印,直至倒数第四个字符打印结束)   

[1: 5 :1] 

[5: 0 :1]  : 打印空行 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那么菜

你的鼓励和批评是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值