摘要
1.字符格式化详解,主要函数有:
format()
:格式化数据,主要是字符串中内容
str()/repr()/eval()
:str类型相关的输出函数
rjust()/ljust()/center()/zfill()
:也是数据格式化,主要是字符串中的格式
2.异常处理
1>常见错误类型
2>错误类型的捕捉,及其自己抛出
3>在谈else
字符串格式化
转换为字符串
str()/repr()
def main():
print(str([1, 2, 3]))
print(repr([1, 2, 3]))
print('-------')
a = 'hello,world'
print(str(a))
print(repr(a))
print('-------')
print(type(eval(repr([1, 2, 3]))))
- str() ,就是将其他类型转换为字符类型,主要是针对用户查看的
- repr(),也是将其他类型转换为字符类型,主要是针对计算机本身
- eval(),将转换为字符对象的字符转换为初始对象
数据样式格式化
rjust()/ljust()/center()/zfill()
def main():
stra = "this is string example!!!"
print(stra.rjust(50, '*'))
print(stra.ljust(50, '-'))
print(stra.center(50, '.'))
print(stra.zfill(50))
print('3.14159265359'.zfill(5))
- rjust,ljust,center分别表示右、左、中,用法一样
- rjust,居左对其,第一个参数是字符长度,第二个是填补字符,相信你已经知道这三个函数的使用方法了
- zfill,只需要传一个参数,参数意义是表示字符所占长度,占位符就是0,居右对其,如果字符长度大于参数长度,则显示所有字符
数据格式化
format
def main3():
print(str.format('{0:2},{1:2},{0:2}', 'a', 'b'))
print('We are the {} who say "{}!"'.format('knights', 'Ni'))
print('{0:10s} ==> {1:10d}'.format('hello', 123))
print('The value of PI is approximately {0:.3f}.'.format(math.pi))
print('-------')
hi = 'hello,world'
# 依次表示居左、居右、居中
print('{:<30}'.format(hi))
print('{:>30}'.format(hi))
print('{:^30}'.format(hi))
# 这里*表示填充符,当然也可以换成其他的
print('{:*^30}'.format(hi))
print('-------')
print('This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible'))
user= {'name':'simfg','password':'123456'}
# 注意最后的两个*号
print('name:{name},password:{password}'.format(**user))
'{0:1}'.format()
:0表示format参数中的第一个,1表示这个字符所占最小位置- 如果中括号中没有参数也是可以的,那么将会依序进行匹配
'{0:1s}'.format()
:s表示参数为字符串,默认居左对其,常用的还有d(int类型的数字),f(浮点数){0:.3f}
:其中点后面表示保留小数点多少位- 也可以使用在中括号中用名称来表示参数
异常处理
常见错误类型
# 常见的error
# SyntaxError 语法错误
# ZeroDivisionError
# NameError 使用为初始化变量
# TypeError --- '2' + 2
# ValueError 数据类型转换错误
异常捕捉及其抛出
try:
pass
except Exception:
pass
finally:
pass
- 以上便是最基本的异常捕捉结构面,注意finally不是必须的
def main():
try:
# raise 抛出异常
raise Exception('sim', 'fg')
except Exception as e:
print(type(e))
print(e)
print(e.args)
x, y = e.args
print('x=', x)
print('y=', y)
raise
:抛出异常
在议else
看看这个有趣的代码
def main():
a = (0,1)
for i in a:
try:
result = 2 / i
except ZeroDivisionError:
print("division by zero!")
else:
print("result is", result)
finally:
print("executing finally clause")
print('-------')
- 其实这个else可以看作是try语句中的一部分,那么这样就容易理解为什么输出是这样的来了
扫描右侧二维码,关注个人微信公众号:SimFG,让我们一起探索新世界吧