一、函数(function)
定义:一段可以完成某个功能的代码。
使用函数:通过函数名即可调用函数,可以让计算机完成某个功能
举例:输入两个数,输出两个数中最大的数
a=int(input())
b=int(input())
c=max(a,b)
print(c)
分析:max()函数
功能:返回给定参数的最大值,参数可以为序列。
语法:max(x, y, z, ....) #参数可以有若干个
分类:
系统函数:提供给用户的一系列已经编制好的程序
自定义函数:用户根据自己需求编写的一段程序
系统函数
目前python版本提供的系统函数:
官方文档查询:https://docs.python.org/3.7/library/functions.html
Built-in Functions | ||||
---|---|---|---|---|
以上系统函数中常用函数整理:
1.输入输出:
input()
print()
2.数据类型及转换:
int()、float()、complex()、bool()、str()
ord()——返回字符的ASCII码值
chr()——返回ASCII码值所对应的字符
3.数学运算:
abs()——返回绝对值
round(a,2)——将a保留2位小数
pow(a,b)——返回a的b次方
sum()、max()、min()
divmod(a,b)——返回a除以b的商和余数
bin(a)——将十进制数a转换为二进制数(binary)
oct(a)——将十进制数a转换位八进制数(octal)
hex(a)——将十进制数a转换位十六进制数(hexadecimal)、
补:int() 其他用法:int(“11”,2)——将二进数11转换位十进制数。第一个参数要用字符串形式
4.序列(列表、元组、集合等等)相关:
list()——将对象转换成列表
tuple()——将对象转换成元组
set()——创建一个无序不重复元素集
dict()——创建一个新的字典
range()——创建一个整数列表
len()——返回一个对象中的元素的个数
sorted()——排序
reversed()——将序列翻转
map()——根据提供的函数对执行序列做映射
slice()——列表的切片
5.文件操作相关:
open()——打开一个文件
6.其他
help()——用于查看函数或模块用途的说明
自定义函数:
用户自己写的:根据自己的要求进行编写
模块:一系列相似功能的函数集合(第三方已编制好并发布,我们可直接导入后使用)
用户自己写的:
基本格式:
def 函数名(参数):
语句或语句组 #函数体,函数完成某功能的代码
return 返回值
其中参数用来向函数传递值,当有多个参数时,各参数之间用逗号隔开。函数执行完成后,由return语句将表达式的值返回给调用者,结束函数。
函数调用格式:函数名(参数)
代码分析:
例1:
def cf():
print("中国")
#主程序
cf()
运行结果:
中国
分析:代码从主程序开始运行,遇到不认识的函数向前找,执行自定义函数。(函数名和函数体不能省)
例2:
def cf(n): #n是一个形参
for i in range(n): #功能:输出n遍中国
print("中国")
#主程序
cf(3) #3是实参
运行结果:
中国
中国
中国
分析:代码从主程序开始运行,遇到不认识的函数向前找,将实参3的值传递给形参n,再执行函数体语句。
例3:
def lj(n):
s=0
for i in range(1,n+1):
s=s+i
return s
a=lj(10)
print(a)
运行结果:
55
分析:从主程序开始执行,将实参10的值传递给形参n,执行函数体语句,将结果s返回到调用函数即lj(10)的地方,再赋值给变量a。如果没有return s ,lj(10)这个地方则没有值,也就无法赋值或进行算术运算
模块导入:
1.导入整个模块
import 模块名
举例:import math
使用math模块中的函数仍然需要指明模块名
模块名.函数名()
举例:math.sqrt(9)——求出9的平方根
import 模块名 as 昵称
举例:import math as m
2.导入模块中的某个函数
from 模块名 import 函数名
举例:from math import sqrt
使用math模块中sqrt()函数无需指明模块名
sqrt(9)——求出9的平方根
3.导入模块中的所有函数
from 模块名 import *
举例:from math import *
使用math模块中sqrt()函数无需指明模块名
sqrt(9)——求出9的平方根
常见模块整理:
numpy模块:科学计算包,包含很多数学函数,如三角函数、矩阵计算方法等 | |
numpy.arange(0,101,2)生成一个等差数列(可以是小数数列) | |
pi:数字常量,圆周率 | |
numpy.sin(x)求x的正弦,x必须是弧度 |
matplotlib模块:python中的绘图库 | |
matplotlib.plot(x,y)将(x,y)列表对应的坐标点连起来 | |
matplotlib.title('sin(x)')创建坐标系的标题 | |
matplotlib.xlabel('x')创建x轴轴标题 | |
matplotlib.ylabel('y')创建y轴轴标题 | |
matplotlib.show()将连好的函数图像显示出来 |
tkinter 模块:GUI开发模块 | |
tkinter.Tk()创建一个窗口 | |
tkinter.StringVar()提供了一些文本变量,可以绑定到组件,可以设置它们的值 |
random 模块 | |
random.random()生成一个随机的浮点数,范围是在0.0~1.0之间。 | |
random.randint()随机生一个整数int类型,可以指定这个整数的范围 |
math模块 | |
ceil:取大于等于x的最小的整数值,如果x是一个整数,则返回x | |
cos:求x的余弦,x必须是弧度 | |
factorial:取x的阶乘的值 | |
pi:数字常量,圆周率 | |
sqrt:求x的平方根 | |
log2:返回x的基2对数 | |
fabs:返回x的绝对值 |