• <em id="ommgs"></em>
    <dd id="ommgs"><center id="ommgs"></center></dd>

    1. <em id="ommgs"><acronym id="ommgs"><u id="ommgs"></u></acronym></em>
      首 页IT知识库翔宇问吧收藏内容
      当前位置:翔宇亭IT乐园IT知识库Python

      Python ascii()函数

      减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2021-08-08 19:40:57

      微信搜索本站订阅号:优雅的代码。欢迎关注。

      ascii()是Python内置的一个函数,其作用是返回一个对象的字符串表示形式,但字符串中只包含ASCII编码的字符,而非ASCII编码的字符将使用以反斜杠“\”形式的转义字符表示。

      该函数在内部调用repr()函数来实现的,并在输出前使用转义字符来转义非ASCII字符。

      ascii()函数语法格式

      官方文档给出的ascii()语法格式如下:

      ascii(object)

      参数

      该函数的参数可以是任何原始数据类型或一个对象。

      返回值

      该函数的返回值是一个字符串,该字符串中包含了ASCII编码的可打印字符,而非ASCII编码的字符将以转义字符的形式来显示。

      Python ascii()函数

      ascii()函数使用示例

      1、参数是数值、布尔类型或字符串

      #参数是数值
      n1 = 123
      print(ascii(n1))

      n2 = 12.3
      print(ascii(n2))

      n3 = 0b1100
      print(ascii(n3))

      n4 = 3.1 + 4.5j
      print(ascii(n4))

      #参数是布尔值
      b1 = True
      print(ascii(b1))
      b2 = n1<0
      print(ascii(b2))

      #参数是字符串
      s1 = "abc ABC"
      print(ascii(s1))

      s2 = "abc\nABC"
      print(ascii(s2))

      s3 = "翔宇亭IT乐园"
      print(ascii(s3))

      输出结果如下

      123
      12.3
      12
      (3.1+4.5j)
      True
      False
      'abc ABC'
      'abc\nABC'
      '\u7fd4\u5b87\u4eadIT\u4e50\u56ed'

      从上面的输出结果中可以看出:对于数值类型,非十进制的转换成十进制后输出,其它的原样输出,对于布尔类型的也是如此。字符串中的非ASCII编码的字符将以“\”开始的转义字符形式输出。

      2、列表、元组与字典对象作为参数

      #参数是列表
      lst = ['优雅','A',123,'æ']
      print(ascii(lst))

      #参数是元组
      t = ('优雅','A','a','æ')
      print(ascii(t))

      #参数是字典
      d = {'字符':'优雅','A':'â'}
      print(ascii(d))

      输出结果:

      ['\u4f18\u96c5', 'A', 123, '\xe6']
      ('\u4f18\u96c5', 'A', 'a', '\xe6')
      {'\u5b57\u7b26': '\u4f18\u96c5', 'A': '\xe2'}

      从上面的输出结果可以看出:参数是列表的话,仍然输出列表的字符串,但列表中的元组如是非ASCII编码的字符的话,将以转义字符的形式输出。

      3、参数是自定义对象

      如果在自定义对象中定义了__repr__()函数的话,ascii()函数同样也可以使用到该对象中。

      看下面的例子。

      class Student:
          name=""
          def __init__(self,name):
              self.name = name

      class Teacher:
          name = ""
          def __init__(self,name):
              self.name = name

          def __repr__(self):
              return self.name

      S = Student("王涛")
      print(ascii(S))

      T = Teacher("苏炳添")
      print(ascii(T))

      输出结果如下:

      <__main__.Student object at 0x0000000002DB4670>
      \u82cf\u70b3\u6dfb

      从上面的例子和结果可以得知:如果自定义对象中没有定义__repr__()函数的话,输出的内容如结果中的第一行的形式;如果定义了__repr__()函数的话,ascii()函数的输出就是__repr__()返回的值。

      本文(完)


      如需转载请注明出处(翔宇亭IT乐园),并给出本文链接地址:

      http://www.dgmtwj.com/article/python/2021/6532.html

      微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

      个人成长离不开各位的关注,你的关注就是我继续前行的动力。

      知识评论评论内容只代表网友观点,与本站立场无关!

         评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
      愿您的精彩评论引起共鸣,带来思考和价值。
      用户名: 查看更多评论
      分 值:100分 90分 80分 70分 60分 40分 20分
      内 容:
      验证码:
      关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
      本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
      Copyright © 2007-2021 biye5u.com. All Rights Reserved.
      japanese日本熟妇photo