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 大概数字就这么写用法吧
原文地址:https://www.cnblogs.com/tuhooo/p/7697712.html