Day01

Python学习(一)

1. 初识

事件 时间
python面世 1991
python 1.0 1994
python 2.0 2000
python 3.0 2008
我开始学python 2019

python之父:Guido van Rossum
python之禅:(在编译器内输入import this,发现新世界)


2. 注释

#我是单行注释
'''
而
我是
多行
注释
'''

3. 变量

  • 变量命名以下划线,字母开头
  • 变量命名应该有实际意义
  • type()函数查看变量类型

4. 数字

4.1 运算符

加减乘基本运算符同c++,取余用%,绝对值用abs(),的运算特殊,用**
3**2的结果是9
最值得注意的是除法/ 在python中同c++的小数除法(常规除法,总是返回一个浮点数), // 同c++的整数除法(整除,尽管结果总是整数,但结果的数据类型同操作数的数据类型

>>> 10 / 3
3.3333333333333335
>>> 10 / 5
2.0
>>> 10 // 3
3
>>> 10.0 // 3.0 #结果为整数,但数据类型仍然是float
3.0
>>> 10 % 3
1
>>> 10.0 % 3.0
1.0

4.2 类型转换

int函数舍小数(对字符串甚至都有用),round函数四舍五入(能用第二个参数控制小数位数)

>>> int(4.5)
4
>>> int(3.9)
3
>>> float(4)
4.0
>>> round(3.14)
3
>>> round(3.5)
4
>>> pi = 3.141592653
>>> round(pi, 2)
3.14
>>> int("32")
32

4.3 高级操作(math库)

基本同c++的algorithm,cmath(除了几乎每一个函数前都要加math.,连调用pi都需要加上math.)

>>> import math
>>> print(math.sqrt(4))
2.0
>>> print(math.sin(math.pi))
1.2246467991473532e-16
>>> print(int(math.sin(math.pi)))
0
>>> print(math.ceil(4.3))
5
>>> print(math.floor(4.7))
4

4.4 超酷的特性

>>> print(2**1000)
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

Python对于大的、精确的值有一个更好的解决方案。Python的int不是固定的大小,而是扩展到适应任何值。唯一的限制是计算机可用的内存量。当值很小时,Python就用计算机的底层int表示和操作。当值变大时,Python会自动转换为使用更多位的表示。当然,为了对更大的数字执行操作,Python必须将操作分解为计算机硬件能够处理的更小的单元,类似于你手工计算长除法的方式。这些操作不会那么有效(它们需要更多的步骤),但是它们允许Python的int增长到任意大小

4.5 奇怪的地方

>>> print(0.1+0.1)
0.2
>>> print(0.2+0.4)
0.6000000000000001
>>> print(0.1+0.2)
0.30000000000000004

原因:
为什么 0.1 + 0.2 不等于 0.3
解决方法:

  1. 格式化(同c语言)
    2.Decimal 模块(待学)

你可能感兴趣的:(Day01)