大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
数学相关
创新互联,专注为中小企业提供官网建设、营销型网站制作、响应式网站、展示型做网站、网站制作等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
abs(a) : 求取绝对值。abs(-1)
max(list) : 求取list最大值。max([1,2,3])
min(list) : 求取list最小值。min([1,2,3])
sum(list) : 求取list元素的和。 sum([1,2,3]) 6
sorted(list) : 排序,返回排序后的list。
len(list) : list长度,len([1,2,3])
divmod(a,b): 获取商和余数。 divmod(5,2) (2,1)
pow(a,b) : 获取乘方数。pow(2,3) 8
round(a,b) : 获取指定位数的小数。a代表浮点数,b代表要保留的位数。round(3.1415926,2) 3.14
range(a[,b]) : 生成一个a到b的数组,左闭右开。range(1,10) [1,2,3,4,5,6,7,8,9]
类型转换
int(str) : 转换为int型。int('1') 1
float(int/str) : 将int型或字符型转换为浮点型。float('1') 1.0
str(int) : 转换为字符型。str(1) '1'
bool(int) : 转换为布尔类型。 str(0) False str(None) False
bytes(str,code) : 接收一个字符串,与所要编码的格式,返回一个字节流类型。bytes('abc', 'utf-8') b'abc' bytes(u'爬虫', 'utf-8') b'xe7x88xacxe8x99xab'
list(iterable) : 转换为list。 list((1,2,3)) [1,2,3]
iter(iterable): 返回一个可迭代的对象。 iter([1,2,3]) list_iterator object at 0x0000000003813B00
dict(iterable) : 转换为dict。 dict([('a', 1), ('b', 2), ('c', 3)]) {'a':1, 'b':2, 'c':3}
enumerate(iterable) : 返回一个枚举对象。
tuple(iterable) : 转换为tuple。 tuple([1,2,3]) (1,2,3)
set(iterable) : 转换为set。 set([1,4,2,4,3,5]) {1,2,3,4,5} set({1:'a',2:'b',3:'c'}) {1,2,3}
hex(int) : 转换为16进制。hex(1024) '0x400'
oct(int) : 转换为8进制。 oct(1024) '0o2000'
bin(int) : 转换为2进制。 bin(1024) '0b10000000000'
chr(int) : 转换数字为相应ASCI码字符。 chr(65) 'A'
ord(str) : 转换ASCI字符为相应的数字。 ord('A') 65
相关操作
eval****() : 执行一个表达式,或字符串作为运算。 eval('1+1') 2
exec() : 执行python语句。 exec('print("Python")') Python
filter(func, iterable) : 通过判断函数fun,筛选符合条件的元素。 filter(lambda x: x3, [1,2,3,4,5,6]) filter object at 0x0000000003813828
map(func, *iterable) : 将func用于每个iterable对象。 map(lambda a,b: a+b, [1,2,3,4], [5,6,7]) [6,8,10]
zip(*iterable) : 将iterable分组合并。返回一个zip对象。 list(zip([1,2,3],[4,5,6])) [(1, 4), (2, 5), (3, 6)]
type():返回一个对象的类型。
id(): 返回一个对象的唯一标识值。
hash(object):返回一个对象的hash值,具有相同值的object具有相同的hash值。 hash('python') 7070808359261009780
help():调用系统内置的帮助系统。
isinstance():判断一个对象是否为该类的一个实例。
issubclass():判断一个类是否为另一个类的子类。
globals() : 返回当前全局变量的字典。
next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容。
reversed(sequence) : 生成一个反转序列的迭代器。 reversed('abc') ['c','b','a']
import math
a = abs
print(a(-1))
n1 = 255
print(str(hex(n1)))
def my_abs(x):
# 增加了参数的检查
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x = 0:
return x
else:
return -x
print(my_abs(-3))
def nop():
pass
if n1 = 255:
pass
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
x, y = move(100, 100, 60, math.pi / 6)
print(x, y)
tup = move(100, 100, 60, math.pi / 6)
print(tup)
print(isinstance(tup, tuple))
def quadratic(a, b, c):
k = b * b - 4 * a * c
# print(k)
# print(math.sqrt(k))
if k 0:
print('This is no result!')
return None
elif k == 0:
x1 = -(b / 2 * a)
x2 = x1
return x1, x2
else:
x1 = (-b + math.sqrt(k)) / (2 * a)
x2 = (-b - math.sqrt(k)) / (2 * a)
return x1, x2
print(quadratic(2, 3, 1))
def power(x, n=2):
s = 1
while n 0:
n = n - 1
s = s * x
return s
print(power(2))
print(power(2, 3))
def enroll(name, gender, age=8, city='BeiJing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
enroll('elder', 'F')
enroll('android', 'B', 9)
enroll('pythone', '6', city='AnShan')
def add_end(L=[]):
L.append('end')
return L
print(add_end())
print(add_end())
print(add_end())
def add_end_none(L=None):
if L is None:
L = []
L.append('END')
return L
print(add_end_none())
print(add_end_none())
print(add_end_none())
def calc(*nums):
sum = 0
for n in nums:
sum = sum + n * n
return sum
print(calc(1, 2, 3))
print(calc())
l = [1, 2, 3, 4]
print(calc(*l))
def foo(x, y):
print('x is %s' % x)
print('y is %s' % y)
foo(1, 2)
foo(y=1, x=2)
def person(name, age, **kv):
print('name:', name, 'age:', age, 'other:', kv)
person('Elder', '8')
person('Android', '9', city='BeiJing', Edu='人民大学')
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
def person2(name, age, *, city, job):
print(name, age, city, job)
person2('Pthon', 8, city='BeiJing', job='Android Engineer')
def person3(name, age, *other, city='BeiJing', job='Android Engineer'):
print(name, age, other, city, job)
person3('Php', 18, 'test', 1, 2, 3)
person3('Php2', 28, 'test', 1, 2, 3, city='ShangHai', job='Pyhton Engineer')
def test2(a, b, c=0, *args, key=None, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'key=', key, 'kw =', kw)
test2(1, 2, 3, 'a', 'b', 'c', key='key', other='extra')
args = (1, 2, 3, 4)
kw = {'d': 99, 'x': '#'}
test2(*args, **kw)
在写python程序时,常能用到一些函数和方法,总结一下,保存起来,方便查询。
一、内置函数
# abs()获取数字绝对值
# chr(i)数字转换为字符类型
# divmod() 获取两个数值的商和余数
# enumerate() 将可遍历序列组合为索引序列
# float()转换为浮点数
# format() 格式化字符串
# int()转换为整数
# input() 接受用户输入内容
# len() 计算元素个数
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定数值的上舍整数
# open()打开文件并返回文件对象
# pow() 幂运算
# print()打印输出
# range() 生成器
# reversed()反转所有元素
# round()四舍五入求值
# sorted()对可迭代对象进行排序
# str() 转换为字符串
# sum() 求和
# set() 创建集合
# tuple() 将序列转换为元组
# zip()将可迭代对象打包成元组
二、方法
# append() 添加列表元素
# capitalize()首字母转换为大写
# count()字符出现次数
# close() 关闭文件
# decode() 解码字符串
# dict.keys() 获取字典所有的键
# find()字符串首次出现的索引
# f.read() 读取文件内容
# dict.update()更新字典
# dict.items() 获取字典键/值对
# dict.get() 返回指定键的值
# encode() 编码字符串
# list.sort() 排序列表元素
# index() 元素首次出现的索引
# isdigit() 判断字符串是否只由数字组成
# isupper() 是否所有字母都为大写
# isnum() 判断字符串是否由字母和数字组成
# islower() 是否所有字母都为小写
# isdecimal() 检查字符串是否只包含十进制字符
# isalpha() 检测字符串是否为纯字母
# random.shuffle()随机排序
# random.sample()返回无重复随机数列表
# random.choice() 返回一个随机元素
# random.randint() 生成指定范围的随机整数
# random.randrange() 生成指定范围的指定递增基数随机整数
# pop() 删除列表中的元素
# remove()删除列表中的指定元素
# strip()去除空格
# lstrip()去除左侧空格
# rstrip() 去除右侧空格
# readline() 读取单行内容
# root.after() Tkinter中等待一段时间后再执行命令
# str.isnumeric() 验证字符串是否为数字(适用于Unicode)
# split()分割字符串
# ord() 将字符转换为整数
# replace() 字符串替换
# ljust() 左对齐填充
# rjust() 左对齐填充
# readlines() 读取所有行内容
# datetime.datetime.now() 返回指定时区的本地日期时间
# datetime.datetime.today() 获取当前本地日期的date对象
# datetime.utcnow() 返回当前UTC时间的datetime对象
# time.strptime()把时间字符串解析为元组
# time.time()返回当前时间的时间戳
# time.sleep()暂停指定秒数
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收时间元组并返回时间戳
# os.getcwd() 获取当前工作目录
# os.listdir() 获取指定路径下的目录和文件列表
# os.makedirs() 递归创建目录
# os.rename() 重命名目录或文件
# os.path.exists() 判断路径是否存在
# upper() 全部转换为大写字母
# lower() 全部转换为小写字母
# sys.stdout.write() 标准输出打印
# sys.stdout.flush()刷新输出
# shutil.copy() 复制单个文件到另一文件或目录
# write() 写入文件内容
# winsound.Beep() 打开电脑扬声器
# zfill() 在字符串前面填充0
三、循环语句
# break终止当前循环
# continue 终止本循环进入下一次循环
# with open() as file 以with语句打开文件(数据保存)
四、转义字符
\ 行尾续行符
\' 单引号
\'' 双引号
\a 响铃
\e 转义
\n 换行
\t 横向制表符
\f 换页
\xyy 十六进制yy代表的字符
\\反斜杠符号
\b 退格
\000 空
\v 纵向制表符
\r 回车
\0yy 八进制yy代表的字符
\other 其他的字符以普通格式输出
将函数作为参数传入,这样的函数称为高阶函数。 函数式编程就是指这种高度抽象的编程范式。
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。如下所示:
map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回。
定义一个匿名函数并调用,定义格式如--lambda arg1,arg2…:表达式
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
闭包的定义?闭包本质上就是一个函数
如何创建闭包?
如何使用闭包?典型的使用场景是装饰器的使用。
global与nonlocal的区别:
简单的使用如下:
偏函数主要辅助原函数,作用其实和原函数差不多,不同的是,我们要多次调用原函数的时候,有些参数,我们需要多次手动的去提供值。
而偏函数便可简化这些操作,减少函数调用,主要是将一个或多个参数预先赋值,以便函数能用更少的参数进行调用。
我们再来看一下偏函数的定义:
类func = functools.partial(func, *args, **keywords)
我们可以看到,partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用。简单介绍下:
总结
本文是对Python 高阶函数相关知识的分享,主题内容总结如下: