欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 23:50:14
...

摘要

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,让我们一起探索新世界吧