Python学习第二天之字符

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#上面两句分别表示1.Python是一个可执行程序(Linux和OS x系统 Windows会自动忽略)
#2.告诉Python解释器 按照Utf-8编码读取源代码否则你在源代码中写的中文输出可能会乱码
#python中的字符串
#print('包含中文 的str')

#对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
print(ord('A'))
print(ord(''))
print(chr(66))
print(chr(25530))

#如果知道字符的整数编码还可以使用十六进制写str
print('\u4e2d\u6587')
#使用encode()方法可以将str转换为 bytes
print('ABC'.encode('ascii'))
print('中国'.encode('utf-8'))
#使用decode()方法可以将bytes转成str
print(b'ABC'.decode('ascii'))
print(b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-8'))

#如果bytes中包含无法解码的字节,decode()方法会报错
#如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节
print(b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore'))

#要计算str包含多少个字符,可以用len()函数
print(len('ABCD'))
print(len(b'\xe4\xb8\xad\xe5\x9b\xbd'))
print(len(b'\xe4\xb8\xad\xe5\x9b\xbd'.decode('utf-8')))
print(len('中国'.encode('utf-8')))

#格式化 --如何输出格式化的字符串
#使用%实现
#%s表示用字符串替换 %d表示用整数替换
print('Hello,%s' % 'world')
print('Hello,%s,you have $%d.' % ('Luck',100000))

#常见的占位符
#%d 整数 %f 浮点数 %s 字符串 %x 十六进制整数 

#格式化整数和浮点数还可以指定是否补0和整数与小数的位数
print('%2d.%02d' % (3,1))
print('%.3f' % 3.1415926)

#format()格式化字符串 将传入的参数依次替换成字符串内的占位符{0},{1}...
print('hello,{0},成绩提升了{1:.1f}%'.format('小红',17.125))

#练习:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位:
s1 = 72
s2 = 85
s3 = 85-72
r = (s3/s1)*100
print('hello,{0},成绩提升了{1:.1f}%'.format('小明',r))
print('hello,%s,成绩提高了哦!成绩上升了%%%.1f.'%('小明',r))

运行结果:

posted on 2019-12-19 14:54  Xiao白白白  阅读(147)  评论(0)    收藏  举报