2.1 Python代码的组织形式和注释方式
2.1.1 用缩进来分层
代码缩进一般用在函数的定义、类的定义及一些控制语句中,用来表示主程序的子结构。
一般来说,行尾的“:”表示代码缩进的开始。
2.1.2 代码的两种注释方式
注释以字符“#”开始,后面的语句不再被执行。
如果需要大段的注释,则可以使用三个单引号''' 或者三个双引号""" 将注释内容包围。
2.1.3 Python语句的断行
一般来说,一条语句占用一行,在每条语句的结尾处不需要使用“;”来作为结束的标志,但是可以使用“;”将两条语句写在同一行。
如果缩进语句块中只有一条语句,则也可以直接将这条语句写在“:”之后,如下:
另外,单引号和双引号无区别,可以互相包围,也可以包围字符串。
2.2 Python的基本输入/输出函数
2.2.1 接收输入的input()函数
input()函数的返回值是字符串,不管输入的是数字还是字母,都可以把返回的字符串使用內建函数进行数据类型的转换。比如输入“111”,使用int函数可以转变为整型数,如下图:
类型转换的函数:
2.2.2 输出内容的print()函数
使用print()函数可以输出所有数据类型的值,不需要事先指定要输出的数据类型。如果自定义了某个新的类型(或者类),则可以通过重载_repr_,让print()函数支持对该自定义类型的输出。
下面是一些常用的代码用例:
#输出字符串:
print("Hello World!")
#输出多个对象:
name = "Alice"
age = 20
print("My name is", name, "and I'm", age, "years old.")
#自定义分隔符:
print("apple", "orange", "banana", sep=", ")
#自定义结束符:
print("apple", "orange", "banana", sep=", ")
#输出结果:apple, orange, banana
#输出到文件:
with open("output.txt", "w") as f:
print("Hello World!", file=f)
#刷新缓冲区:
import time
for i in range(10):
print(i, end="", flush=True)
time.sleep(1)
2.3 Python对中文的支持
Python3 默认可以使用中文
2.4 简单实用的Python计算器
2.4.1 直接进行算术运算
# 加法
a = 5
b = 3
c = a + b
print(c) # 输出 8
# 减法
a = 5
b = 3
c = a - b
print(c) # 输出 2
# 乘法
a = 5
b = 3
c = a * b
print(c) # 输出 15
# 除法
a = 5
b = 3
c = a / b
print(c) # 输出 1.6666666666666667
# 取整除法
a = 5
b = 3
c = a // b
print(c) # 输出 1
# 取余数
a = 5
b = 3
c = a % b
print(c) # 输出 2
# 幂运算
a = 5
b = 3
c = a ** b
print(c) # 输出 125
2.4.2 math函数提供丰富的数学函数
Python中提供了很多内置模块,其中名为math的模块提供了丰富的数学函数,在提交给Python运算的表达式中可以包含这些数学函数。
from math import *
主要函数如下:
常量
- e:数学常数 e = 2.718281…,精确到可用精度
- pi:数学常数 π = 3.141592…,精确到可用精度
- inf:浮点正无穷大,相当于 float('inf')
- nan:浮点“非数字”(NaN)值,相当于 float('nan')
- tau:数学常数 τ,等于 2π
数论与表示函数
- ceil(x):上取整
- floor(x):下取整
- factorial(x):阶乘
- comb(n, k) : C n k C_{n}^{k} Cnk
- perm(n, k=None): A n k A_{n}^{k} Ank
- gcd(a, b):最大公约数
- fsum(iterable):精确浮点值,比 sum 更精确
- fabs(x):绝对值
- prod(iterable, *, start=1):计算输入的 iterable 中所有元素的积。 积的默认 start 值为 1。
- fmod(x, y):取余。 fmod() 在使用浮点数时是首选, x % y 在使用整数时是首选。
- copysign(x, y):基于 x 的绝对值和 y 的符号的浮点数
- frexp(x):以 (m, e) 对的形式返回 x 的尾数和指数。 m 是一个浮点数, e 是一个整数。正好是 x == m * 2**e
- isclose(a, b, *, rel_tol=le-09, abs_tol=0.0):a, b是否接近。
幂函数与对数函数
- exp(x): e x e^{x} ex
- log(x[, base]):对数,没有提供 base 时以 e e e 为底
- pow(x, y): x y x^{y} xy
- sqrt(x): x \sqrt{x} x
三角函数
- acos(x):以弧度为单位返回 x 的反余弦值
- asin(x):以弧度为单位返回 x 的反正弦值
- atan(x):以弧度为单位返回 x 的反正切值
- atan2(y, x):以弧度为单位返回 atan(y / x)
- sin(x):返回 x 弧度的正弦值
- cos(x):返回 x 弧度的余弦值
- tan(x):返回 x 弧度的正切值
- dist(p, q):返回 p 与 q 两点之间的欧几里得距离。sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))
- hypot(*coordinates):欧几里得范数。sqrt(sum(x**2 for x in coordinates))
角度转换
- degrees(x):将角度 x 从弧度转换为度数
- radians(x):将角度 x 从度数转换为弧度
引用说明
《Python数据分析从入门到精通》 张啸宇 李静 编著