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

这里写图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 格式化输出字符串是指将变量或常量按照一定的格式输出到屏幕或文件中。在Python中,可以使用字符格式化操作符“%”或字符串的format()方法来实现。 例如,假设有一个变量x=3.1415926,我们想要将它输出为保留两位小数的浮点数,可以使用以下代码: print("x的值为:%.2f" % x) 或者使用format()方法: print("x的值为:{:.2f}".format(x)) 输出结果为: x的值为:3.14 其中,“%.2f”表示输出浮点数,保留两位小数,“{:.2f}”表示输出浮点数,保留两位小数。 除了浮点数,还可以格式化输出整数、字符串、布尔值等类型的变量或常量。具体的格式化方式可以参考Python官方文档。 ### 回答2: Python作为一种高级编程语言,非常适合处理各种数据类型和格式,其输入输出功能也非常强大。在Python输入输出中,格式化输出字符串是一项非常关键的操作。 格式化输出字符串是指Python将数据按照特定的格式输出到终端上或者写入文件中。Python提供了多种格式化输出字符串的方式,其中最常用的方式是使用字符格式化操作符“%”。 使用“%”操作符时,需要在字符串中使用特殊字符“%”来表示被替换的位置,然后在字符串后面使用一个元组或字典来传递需要输出的值。例如: ``` name = 'Tom' age = 25 print('My name is %s, and I am %d years old.' % (name, age)) ``` 上述代码中,“%s”和“%d”分别表示需要输出的字符串和数字类型。相应的值用元组(name, age)表示,分别对应字符串变量name和整数变量age。当然,可以使用多个“%”操作符来实现多个变量的输出,例如: ``` hour = 9 minute = 30 second = 45 print("%02d:%02d:%02d" %(hour, minute, second)) ``` 在Python中,还有其他可以实现字符格式化输出的方法,比如使用format方法,使用f字符串(Python 3.6及以上版本)。这些方法各有特点,但是字符格式化操作符“%”是最常用的一种方式,可以在很多场景下发挥重要作用。 总之,在Python的输入输出中,格式化输出字符串是非常重要的一项操作,可以帮助我们更好地输出各种类型的数据,提高程序的可读性和可维护性。对于Python开发者来说,熟练掌握字符格式化输出的各种方法是非常必要的。 ### 回答3: Python中的格式化输出字符串是指将不同类型的数据按照特定的格式输出成字符串。在实际的编程过程中,格式化输出字符串的作用非常重要,可以很好的提高程序的可读性和易用性。 在Python中,格式化输出字符串有两种方式:一种是使用字符格式化运算符(%),另一种是使用字符串的format方法。 使用字符格式化运算符(%)的方式,基本语法如下: ``` %s: 字符串类型 %d: 整数类型 %f: 浮点数类型 %x: 十六进制整数类型 %%: 输出% ``` 例如,我们要将字符串和整数类型的数据格式化字符串输出: ``` name = 'Alice' age = 18 print('My name is %s, I am %d years old.' % (name, age)) ``` 使用字符串的format方法,基本语法如下: ``` {数字格式或关键字格式} ``` 例如,我们要将字符串和整数类型的数据格式化字符串输出: ``` name = 'Alice' age = 18 print('My name is {}, I am {} years old.'.format(name, age)) ``` 除了以上两种方式,Python中还提供了一种更加强大的格式化字符串方式——f-string,也称为格式化字符串字面量(Formatted string literals)。它的语法比较简单,可以直接在字符串前加上f,然后在字符串中使用{表达式}来嵌入变量值。 例如: ``` name = 'Alice' age = 18 print(f'My name is {name}, I am {age} years old.') ``` 总之,格式化输出字符串的方式有多种,开发者可以根据实际需求自由选择使用。在实际开发中,应该根据数据类型和输出的场景选择适合的方式,以保证输出的字符串具有良好的可读性和易用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值