Python技术文档
下载了一个Python官方中文技术文档的pdf,回归官方注释总是好的。
函数库
内置函数
内置函数有很多,用的时候去技术文档里看下用法就好,还有就是注意输入参数的格式如字符串、列表、数值。
自己多打印,才能对每种函数有自己的认识。
定义函数
def语句
def func_name(x,y):
#注意函数名不要和关键词冲突;注意写冒号
if x >= 0:
z = x+y
return z
else:
z = x*y
return -z
print(func_name(-12,2))
#result:2
内置模块
由多个同一类别的函数构成,比如专门用于数学运算的模块,用于爬虫的模块等等。也可以自定义模块。可以把模块看成函数的集合。
类似于函数,模块也可以被引用。
调用模块中的函数时,可以用
模块.模块中的函数
形式调用
例:math模块
math.ceil(x):求大于等于x的最小的整数值;
math.sin(x):求正弦;
math.cos(x):求余弦;
math.tan(x):求正切;
math.sqrt(x):求平方根;
math.pow(x, y),求x的y次方。
在使用模块前需要先引入该模块,即用import引入:
import math
注意:在调用模块的时候,python文件的名称和模块名称不能相同,否则会报错。比如你调用的模块是math,你的python文件名就不能叫math.py。
import math
value1 = 9
value2 = 16
value3 = 100
print(math.sqrt(value1))
print(math.sqrt(value2))
print(math.sqrt(value3))
查看模块定义好了哪些函数
使用**dir()**函数
此函数会返回一个模块里定义的所有模块、变量和函数。
import math
content = dir(math)
print(content)
from…import语句
我的理解是另一种调用模块中的函数的方式。
打印math模块中常量pi的值
同上math.sqrt()的用法。
pip管理库
库在Python里相当于是Windows的软件,Windows的第三方软件需要下载,Python的第三方库同样也是下载;下载Windows的软件我们可以到Windows的应用中心去下载,下载Python的第三方库,我们会用到pip。
用到的时候再具体看吧。
Python与数学模块
递归函数
递归函数求阶乘
def factorial(n):
if n==1:
return 1
else:
return n*factorial(n-1)
print(factorial(6))
递归函数求斐波那契数列
def fib(n):
if n==1 or n==2:
return 1
return fib(n-1)+fib(n-2)
print(fib(20))
调用外部Python文件的函数
可以用from 文件名 import 函数名,来调用Python外部文件的函数
from fact import factorial#这里的fact是文件名,factorial是函数名
print(factorial(6))
经典内置函数
range函数
range() 函数是Python的内置函数,作用是创建一个整数列表,一般用在for循环中
range(start,stop[,step])
#start:计数从start开始。默认从0开始。例如range(5)等价于range(0,5)
#stop:计数到stop结束但不包括stop。例如:range(0,5)是[0,1,2,3,4],没有5;
#step:步长,默认为1.
#[]表示里面的参数非必须,默认为1
range(5)
#range(0,5,1)
例:
List函数
==List()==函数可以构造一个列表,其实是将元组转换为列表。
元组:元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
range函数与List函数的区分
学习过程中感觉在参数均为整数的情况下这两个函数好像啊。
网上查到的解释是:
range()是依次取顺序的数值,常与for循环一起用,如for each in rang(0,10): for循环执行10次,each取值依次是0~9
list()是把字符串转换为列表,如 b = ‘123456’ c = list(b) c打印出来会是一个列表 :[‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
在这里把能打印的打印一下,看看有什么不同。
print(range(10))
#range(0,10)
print([range(10)])
#[range(0,10)]
#[x]表示“创建一个元素为x的列表”
print(list(range(10)))
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#list可以理解为“列出一个元素是x元素的列表”
print(list(1))
#报错:'int' object is not iterable
#含义:'int’对象不可迭代
#解决办法:不能直接用int进行迭代,而必须加个range
打印九九乘法表
#前面已经说过for in语句是用于列表List类型或字符串类型,而range()函数刚好可以建立一个整数列表
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}\t'.format(i, j, i*j), end='')
print()
format之前①学到过,就是把format的内容传入大括号
print默认是打印一行,结尾加换行。end=’ '意思是末尾不换行,加空格。
statistics模块
statistics模块是Python的内置模块之一,提供了一些统计学的函数,如平均值 mean() 函数、中位数 median() 函数、方差 pvariance() 函数、标准差 pstdev() 等函数。
调用时:
#引入模块
import statistics
#调用
t=statistics.mean([4,3,5,9,8,2,10])
print (t)
random模块
random模块主要用于生成一个随机数。
import random
# 产生 1 到 10 的一个整数型随机数
print( random.randint(1,10) )
# 产生 0 到 1 之间的随机浮点数
print( random.random() )
# 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.uniform(1.1,5.4) )
# 生成从1到100的间隔为2的随机整数
print( random.randrange(1,100,2) )
# 将序列a中的元素顺序打乱
a=[1,3,5,6,7]
random.shuffle(a)
print(a)
本节参考文章:
函数、模块和库
用python做数学题