python的日常(二)——字符串学习

python的日常(一)回顾:

字符串 str

字符串的字面值表示方式:''  ""  ''''''  """"""
三引号字符串可以隐式换行,换行会自动转换为'\n'
转义序列:\n   \t   \\   \'   \"   \xXX   \uXXXX

编码

ASCII (128个)
UNICODE16(65536个) / UNICODE32

raw 字符串

r''  r""  r''''''  r""""""
r字符串的\不作为转义字符

字符串运算

+    *   +=   *=
<   <=   >   >=   ==   !=

in / not in

索引和切片 []

常用的(自建)函数

len(x)  max(x)  min(x)

ord(c)  chr(i)

hex(i) 十六进制  bin(i) 二进制  oct(i) 八进制

str(obj='')


 

 

 

字符串方法的调用语法:对象.方法名(方法传参)
注:方法的调用属于表达式,通常可以返回一个值或None

'abc'.isalpha() # 正确
123.isalpha()

 

# 输入一个字符串
#   1. 判断您输入的字符串有几个空格
#   2. 将原字符串的左右空白字符去掉,打印出有效字符的长度
#   3. 判断您输入是否是数字

s = input("请输入一个字符串: ")

# 1. 判断您输入的字符串有几个空格
print("您输入的字符串有", s.count(' '), '个空格')

# 2. 将原字符串的左右空白字符去掉,打印出有效字符的长度
s2 = s.strip()  # 去掉空白字符
print("有效字符的个数是: ", len(s2))

# 3. 判断您输入是否是数字
if s2.isdigit():
    print("您输入的是数字")
else:
    print("您输入的不是数字")

字符串格式化表达式

运算符  %
作用:生成一定格式的字符串
语法:
格式字符串 % 参数值
格式字符串 % (参数值1, 参数值2, ...)
格式字符串中的 % 为占位符,占位符的位置将用参数值替换

# 练习:
#   输入三行文字,让这些文字依次以20字符的宽度右对齐输出.
#   如:
#   请输入第1行: hello world
#   请输入第2行: abcd
#   请输入第3行: a
#   输出结果为:
#            hello world
#                   abcd
#                      a
#   做完上面的题后再思考:
#     能否以最长字符串的长度进行右对齐显示(左侧填充空格)
#   

s1 = input("请输入第1行: ")
s2 = input("请输入第2行: ")
s3 = input("请输入第3行: ")
print('--以下是所有字符串占20个字符宽度--')
print("%20s" % s1)
print('%20s' % s2)
print('%20s' % s3)

print('--以下按最长的字符串左对齐')
m = max(len(s1), len(s2), len(s3))
print('最大长度是: ', m)
print(' ' * (m - len(s1)) + s1)
print(' ' * (m - len(s2)) + s2)
print(' ' * (m - len(s3)) + s3)

print("--方法3--")
fmt = '%%%ds' % m  # 生成一个含有占位符的字符串
print('fmt = ', fmt)
print(fmt % s1)
print(fmt % s2)
print(fmt % s3)

 

占位符和类型码之间的格式语法:% [格式语法] 类型码

格式语法:- 左对齐  + 显示正号(右对齐)  0 补零  宽度(整数)  宽度.精度(整数)

'%10d' % 123 # ' 123'
'%-10d' % 123 # '123 '
'%10s' % 'abc' # ' abc' 
'%-5s' % 'abc' # 'abc '
'%05d' % 123 # '00123'
'%7.3f' % 3.1415926 # '003.142'

 

posted @ 2019-02-13 02:01  LeoLRH  阅读(153)  评论(0)    收藏  举报