Python趣事-6-字符格式化及其异常处理

摘要

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]))))

Python趣事-6-字符格式化及其异常处理

  • 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))

Python趣事-6-字符格式化及其异常处理

  • 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))

Python趣事-6-字符格式化及其异常处理

  • '{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:抛出异常

Python趣事-6-字符格式化及其异常处理


在议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('-------')

Python趣事-6-字符格式化及其异常处理

  • 其实这个else可以看作是try语句中的一部分,那么这样就容易理解为什么输出是这样的来了

扫描右侧二维码,关注个人微信公众号:SimFG,让我们一起探索新世界吧

上一篇:bmp文件详解

猜你喜欢