编程语言的函数都可以分为两类:内置函数和自定义函数。
内置函数分为数字相关的内置函数
abs(x) 求绝对值
print(abs(-10)) #10
“”"
divmod(x,y) (x//y)商和(x%y)余数,同时输出商和余数
x//y 整除 向下取整
x%y 余数=被除数-除数*商 10%-3=-2
“”"
x = 10
y = 3
print(divmod(10,3)) #(3, 1)
“”"
pow(x,y) 幂 x的y次方 -------x**y
pow(x,y,z) 先求x的y次方 得到的结果和z进行取余----xy%z
“”"
print(pow(x,y)) #1000
print(pow(x,y,3)) #1
print(pow(2,5,10)) #25 = 32 32%10=2
round(x,f) 四舍五入保留小数
print(round(3.1415926,4)) #3.1416
max(x1,x2,…,xn) 返回最大值
print(max(4,6,9,1,0,10)) #10
“”"
int(x) 将x转换成整数,舍弃小数部分
可以把字符串转成整数,但是你的字符串必须是数字字符串 比如"123"
“”"
print(int(3.92)) #3
print(int(“123”)) #123
#print(int(“hello”))
“”"
float(x) 将x转换成小数,增加小数部分
可以把字符串变成小数,但是字符串必须是数字字符串 比如"123" “22.9”
“”"
print(float(12)) #12.0
print(float(“22”)) #22.0
#print(float(“hello”))
“”"
complex(x) 将x变成复数,增加虚数部分
x可以是整数 、小数、数字类型的字符串
“”"
print(complex(10)) #(10+0j)
print(complex(3.14)) #(3.14+0j)
print(complex(“4.56”)) #(4.56+0j)
#complex(“hello”)
•进制的转换:bin(),oct()和hex()函数
“”"
•进制的转换:
bin() 转换成二进制(0b) 返回一个字符串
oct() 转换成八进制(0o) 返回一个字符串
hex() 转换成十六进制(0x) 返回一个字符串
“”"
a = bin(100)
print(a) #0b1100100
print(type(a)) #<class ‘str’>
ASCII码与字符的转换:∞
“”"
chr(x) 把十进制转换成ASCLL编码字符
ord(x) 把ASCLL编码字符转换成十进制
“”"
print(ord(“∞”)) #8734
print(chr(64)) #@
序列相关的内置函数
“”"
all(序列) all()接受一个序列
当序列中所有的元素都计算为真时,返回True,否则为False
[] () {} set()都是Flase
All(“张三”,12.5,3e10,())
“”"
a = [“hello”,3.14,4+3j,{“张三”:18,“李四”:20}]
print(all(a)) #True
b = [“hello”,3.14,4+3j,{“张三”:18,“李四”:20},[]]
print(all(b)) #False
“”"
any(x) any()则在序列中的任意一个元素为真时返回True,否则为False
Any(“张三”,[],(),{})
“”"
c = [{},(),set()]
print(any©) #False
“”"
range(start,stop,step) 返回一个迭代对象
左开右闭 迭代对象(需要list转换才能输出)
start:开始数值
stop:结束数值
step:步长,和间隔不一样
1.省略开始数值,开始数值会被默认成0
2.不能省略结束数值
3.步长可以省略,如果步长不写,默认是1
步长是2,间隔是1
步长是3,间隔是2
“”"
a = range(10)
print(a) #range(0, 10)
print(list(a)) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
c = range(1,10,2)
print(list©) #[1, 3, 5, 7, 9]
d = range(1,10,3)
print(list(d)) #[1, 4, 7]
Sorted(x) 排序,升序排序
List.sort(reverse = Ture)
“”"
sorted(x) 升序排序 返回一个新的序列
“”"
a = [1,7,3,5,8,2]
print(sorted(a)) #[1, 2, 3, 5, 7, 8]
Reversed(x) 反序,
“”"
reversed(x) 反序排序 返回迭代器
“”"
b = reversed(a)
print(list(b)) #[2, 8, 5, 3, 7, 1]
c = [1,2,3,4,5,6]
print(reversed©) #<list_reverseiterator object at 0x0000026D0B74C7C8>
x = [1,5,3,6,2,7,8,0,9]
a = sorted(x)
a
[0, 1, 2, 3, 5, 6, 7, 8, 9]b = reversed(a)
b
<list_reverseiterator object at 0x000002663F248BC8>list(b)
[9, 8, 7, 6, 5, 3, 2, 1, 0]
“”"
slice(start,stop,step) 切片,返回一个切片对象
左开右闭 返回一个切片对象
start:开始数值
stop:结束数值
step:步长
1.步长可以省略,默认是1
“”"
a = slice(5,15)
print(a) #slice(5, 15, None)
#把a换成一个迭代对象
b = range(20)[a]
print(b) #range(5, 15)
print(list(b)) #[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
enumerate(x) 可以迭代序号和值:返回一个迭代对象
“”"
enumerate(x) 输出序号(下标)和值
返回值是一个枚举对象,利用for循环输出
“”"
a = enumerate([‘a’,‘b’,‘c’,‘d’,‘e’])
print(a) #<enumerate object at 0x000001FFA3DC3AE8>
for xiabiao,zhi in a:
print(xiabiao,zhi)
“”"
0 a
1 b
2 c
3 d
4 e
类型相关的内置函数
“”"
int(x) 将x转换成整数,舍弃小数部分
可以把字符串转成整数,但是你的字符串必须是数字字符串 比如"123"
“”"
print(int(3.92)) #3
print(int(“123”)) #123
#print(int(“hello”))
“”"
float(x) 将x转换成小数,增加小数部分
可以把字符串变成小数,但是字符串必须是数字字符串 比如"123" “22.9”
“”"
print(float(12)) #12.0
print(float(“22”)) #22.0
#print(float(“hello”))
“”"
complex(x) 将x变成复数,增加虚数部分
x可以是整数 、小数、数字类型的字符串
“”"
print(complex(10)) #(10+0j)
print(complex(3.14)) #(3.14+0j)
print(complex(“4.56”)) #(4.56+0j)
#complex(“hello”)
“”"
isinstance(变量,类型) 类型判断,如果变量和类型一致是true,不一致是false
变量:自定义变量
类型:Str int float list stuple dict set
[1,2,3,4] --list列表
{"张三":18,"李四":20}----dict字典
{1,2,3} ---set集合
(1,2) --tuple元组
“”"
a = [1,2,3,4]
print(isinstance(a,list)) #True
print(isinstance(a,int)) #False
自定义函数
定义
·使用关键字def引导;
·def后面是函数的名称,括号中是函数的参数,不同的参数用逗号“,”隔开,参数可以为空,但括号不能省略;
·函数的代码块要缩进;
·用一对"""包含的字符串作为函数的说明,用来解释函数的用途,可省略,在查看函数帮助时会显示;
·使用关键字 return返回一个特定的值,如果省略,返回None。
def 函数名称(参数1,参数2):
代码块
return
调用
def add(x,y):
sum01 = x+y
return sum01
add(2,3)
5
参数
参数可以是0个,也可以是多个
带默认值的参数
定义
Y的默认值是10def cheng(x,y=10):
c = x*y
return c
调用
1.可以只传一个参数,那这个参数就是x,y是默认值10
2.如果传入两个参数,那么默认值不起作用cheng(2)
20cheng(2,5)
10
不定数目的参数
定义
-
- 号代表这个参数是个不确定个数的参数
2.多个参数要用for进行循环输出
3.在for循环中进行累加
def add(x,*y):
total = x
for i in y:
#累加
total += i
return total
调用
相当于x=1 y= 2,3,4,5,6,7,8,9
- 号代表这个参数是个不确定个数的参数
add(1,2,3,4,5,6,7,8,9)
45
相当于x=1 y=2
add(1,2)
3
返回值
返回值只能是一个吗,可以是多个吗
可以返回多个值,多个值之间用逗号隔开
定义
def suanfa(x,y):
sum01 = x+y
cheng01 = x*y
jian01 = x-y
return sum01,cheng01,jian01
调用suanfa(6,2)
(8, 12, 4)
模块
“”"
import 模块名1,模块2 as 别名
导入整个模块,包括模块里面的属性、变量、方法、函数
from 模块 import 成员名 as 别名
导入模块中的某一个成员,只能用成员包含的东西
“”"
#导入系统模块和文件操作模块
“”"
import sys,os as s,os
#打印python的环境变量
print(s.path)
“”"
#argv 系统中文件的信息,比如文件路径,文件名字
from sys import argv as ar
print(ar[0]) #d:/axc/Python/PythonTemp/count.py
Python模块
第五章
自定义模块
1.一个python文件就是一个模块
2. 导入的时候,直接import 文件名
3.调用:
def add(x,y):
a = x+y
return a
print(add(2,3)) #5
#import 文件名字
import count as c
#打印出5
print(c.add(3,5)) #8