zoukankan      html  css  js  c++  java
  • python学习(三)数字类型示例

    奶奶的报了这个错,我以为可以像java中字符串加数字的嘛

    Traceback (most recent call last):
       File "./number.py", line 13, in <module>
         print("你懂得: " + 2**10)
    TypeError: must be str, not int

    踩了了个坑

    首先强调一点的是,python是强类型的语言,如果你把一个字符串和数字直接做连接的操作的话,会报错:
    TypeError: unsupported operand type(s) for +: 'int' and 'str'

    如果你要数字和字符串连接的话,可以把数字通过str的方法转换成字符串的形式,然后再做连接的操作。
    比如c = str(a) + b

    我的妈,python是强语言类型,为啥不重载加号捏

    这里又有一个点可以展开讲

    尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的"官方"字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。

    练习脚本number.py

    #!/usr/bin/python
    
    # 突然邪恶地想了一下, py是个好邪恶的词
    # 赶快弃python去py吧
    
    # python中包含的数有: 整数、浮点数、复数、固定精度的十进制数、带分子和分母的有理数
    
    # 支持的运算有: +表示加法、*表示乘法、**表示乘方
    
    print(123+222)                     # 两个数直接相加
    print(1.5 * 4)
    
    print("你懂得: " + str(2**10))      # 注意这个非字符串类型要用str处理一下, 不然会报错
    
    print("python不用写分号, 所以你随意写, 刚开始可能会不习惯的")
    
    print(2**100)                      # python会帮你处理这种情况的
    
    # print(len(str( 2 ** 1000000)))   # 这他妈都不溢出, 有兴趣你可以执行一下, 比较耗时
    
    3.1415 * 2
    print(3.1415 * 2)
    print(repr(3.1415 * 2))            # repr是数据的一种内在表示吧
    
    import math                        # 这个是引入python中的模块, 先知道这样写就可以了
    print(math.pi)
    print(math.sqrt(85))
    
    import random
    print(random.random())
    print(random.choice([1, 2, 3, 4])) # 见名知意啊
    # end 大概数字就这么写用法吧
  • 相关阅读:
    java中的Iterator和Iterable 区别
    Ubuntu 12.04 部署 PostGIS 2.1
    postgres模板数据库
    在ubuntu 10.04 上QGIS的安装步骤
    js----解决异步之Generator && async
    js----promise.all() promise.race()
    js----异步之Promise,Generator,Async
    js----CSRF-跨站请求伪造攻击
    js----js实现继承的方式及其优缺点
    vue----nextTick获取最新dom结构
  • 原文地址:https://www.cnblogs.com/tuhooo/p/7697712.html
Copyright © 2011-2022 走看看