day9-基础函数的学习(四)
这几天一直赶着写写作业,博客的书写又落下了,要加油鸭,开写
今日份目录
1.内置函数
2.递归函数
开始今日份总结
1.内置函数
内置函数就是python内部包含的函数,总计有68种,不过有些事真的天天用,按照个人以及老师的想法会对函数标注重要性
1.1 三星函数
1.1.1 作用域相关函数
这俩个函数在学闭包的时候用的比较多
locals:函数会以字典的类型返回当前位置的全部局部变量
globals:函数以字典的类型返回全部全局变量
1.1.2 输入输出相关
这俩基本是天天用吧
input:用户交互,接收到的数据都是string类型
print:打印输出,print的带参用法
print(1,2,3,sep='|') # 设置打印的分隔符
print(1,2,3,end=' ') # 设置结束时的格式
f = open('log','w',encoding='utf-8')
print('写入文件',file=f)#用打印的方式将打印的内容直接写入到文件
1.1.3内存相关
hash:获取一个对象(可哈希对象:int,str,bool,tuple)的哈希值
id:用于获取对象的内存地址,例如:深浅copy中
1.1.4 文件操作
这个文件操作都在用啊
open: 函数用于打开一个文件,创建一个文件句柄(file对象),相关的方法才可以调用
1.1.5帮助
help:函数用于查看函数或模块用途的详细说明
1.1.6调用相关
callable:函数用于检查一个对象是否可以调用,返回True调用对象有可能不成功,但是False是绝对调用失败
def func():
pass
func1 = 77
print(callable(func))
print(callable(func1))
1.1.7迭代器生成器相关
range:函数创建一个整数对象,一般用在for循环中
1.1.8数学运算
sum:求和
min:求最小值,可加key,key为函数名,通过函数的规则,返回最小值
l1 = [3, 2, 7, 9, 10]
print(min(l1)) l1 = [3, 2, 7, 9, -10, -1]
print(min(l1,key=abs)) dic = {'a': 3 ,'b': 2,'c': 1}
def func(x):
# x = a 第一次
# x = b 第二次
# x = c 第二次
return dic[x]
dic['a'] 3
dic['b'] 2
dic['c'] 1
print(min(dic)) # 默认比较字典的key 将最小的key返回
print(min(dic,key=func)) # 将dic中的每个键传入函数中,以函数的返回值比较最小。
print(dic[min(dic,key=func)]) # 将dic中的每个键传入函数中,以函数的返回值比较最小。
print(min(dic,key=lambda x: dic[x])) # 将dic中的每个键传入函数中,以函数的返回值比较最小。
print(dic[min(dic,key=func)])
l1 = [('a', 3), ('b', 2), ('c', 1)]
# print(min(l1))
print(min(l1,key=lambda x: x[1]))
max:求最大值,可以加key,key为函数名,通过函数返回最大值
1.1.9字符相关
str:与编码相关
bytes:与编码相关
1.1.10
len:返回长度
sorted:对可迭代对象进行排序操作
zip:将可迭代的对象作为参数,将对象中对应的元素打包成元祖,如果俩个列表元素长度不一致按照最短的操作
# l1 = [1, 2, 3]
# l2 = ['a', 'b', 'c', 5]
# l3 = ('*', '**', '***')
# iter1 = zip(l1, l2, l3)
# # print(iter1)
# for i in iter1:
# print(i)
filter:返回一个迭代器,类似列表推导式的筛选模式
map:返回一个迭代器,循环类似与列表推导式的循环模式
1.2 二星函数
1.2.1文字处理相关(慎重使用,尽量不用,有风险)
eval:执行字符串类型的代码,并返回最终结果。
msg ='1+2+3+4'
print(eval(msg))
#结果
10
exec:执行代码串类型的代码流
s4 = '''
for i in range(1,5):
print(i)
'''
print(s4)
#exec 执行字符串类型的代码流
exec(s4)
#结果
for i in range(1,5):
print(i)
1
2
3
4
complie:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。(真没用过)
1.2.2查看内置属性
dir:函数不带参数时,返回当前范围内的变量;当函数带参数时,返回参数的属性与办法列表
1.2.3迭代器生成器相关
next:内部实际调用的是__next__的方法,返回迭代器的下一个项目
iter:函数用来生成迭代器(一个可迭代对象如何生成一个迭代器)
float:将整数或者是字符串转换成浮点数
1.2.4进制转换
bin:十进制转换成二进制并返回
oct:十进制转换成八进制并返回
hex:十进制转换成十六进制并返回
1.2.5 数字相关
bool:给参数转换成布尔类型
int:将一个字符串或者是数字转换为整型,有些浮点型的会直接截断小数直接取整
abs:返回一个数字的绝对值
round:保留浮点数的小数位数,默认是保留整数
pow:求幂
tuple:将一个可迭代对象转换成元祖,(如果是字典,默认将key放在元祖中)
reversed:将一个序列翻转,并返回此翻转序列的迭代器
dict:创建一个字典,与dic有区别的
set:创建一个集合
frozenset:返回一个冻结的集合
1.3 一星函数
__import__:函数用于动态加载类和函数
slice:用于生成一个切片对象,方便列表切片
format:与具体数据相关,主要用于各种小数,精算等(如果是数据分析用 的比较多)
bytearry:返回一个新字节的数组
memoryview:
ord:找到一个字符在ascii码中的位置
chr:与ord相反,输入数字找到对应ascii码中的字符
2.递归函数
人理解函数, 神理解递归
递归函数,就是函数自己调用本身,自己玩自己
def func1():
# print("我是谁")
# print("我在哪")
# func1()
#
# func1() # import sys
# print(sys.getrecursionlimit()) # def func1(n):
# n += 1
# print(n)
# func1(n)
#
# func1(0) # sys.setrecursionlimit(100000)
# 递归函数,会在内存空间不断地开辟新的内存空间,直到内存占满为止 # def func1(n):
# n += 1
# print(n)
# func1(n)
#
# func1(0) # 递归函数的应用: # os模块的三个知识点
# import os
#
# file_list = os.listdir("D:\python骑士计划3期") # (1)获取目录下所有文件和目录, 通过list返回
# # print(file_list)
#
# for file in file_list:
# file_path = os.path.join("D:\python骑士计划3期", file) # (2)将上级文件路径与文件拼接,返回文件路径
# # print(file_path)
# if os.path.isdir(file_path): # (2)判断文件是否是目录
# print("这是目录", file)
# else:
# print("这是文件", file) import os def read(path, n): # n = 0
file_list = os.listdir(path) # 获取目录下所有文件和目录, 通过list返回 for file in file_list:
file_path = os.path.join(path, file) # 将上级文件路径与文件拼接,返回文件路径 if os.path.isdir(file_path): # 判断文件是否是目录
print(" " * n, file)
read(file_path, n+1)
else:
print(" " * n, file) read("D:\python骑士计划3期", 0)
day9-基础函数的学习(四)的更多相关文章
- Python学习---基础函数的学习
1.1. 基础函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 灌输一个概念:Python中函数就是对象,函数和我们之前的[1,2,3],'abc ...
- day 83 Vue学习四之过滤器、钩子函数、路由、全家桶等
Vue学习四之过滤器.钩子函数.路由.全家桶等 本节目录 一 vue过滤器 二 生命周期的钩子函数 三 vue的全家桶 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 Vue的过滤 ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
- SVG 学习<四> 基础API
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
- 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解
salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解 建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schem ...
- Android JNI学习(四)——JNI的常用方法的中文API
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
- (转)零基础入门深度学习(6) - 长短时记忆网络(LSTM)
无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...
- 前端总结·基础篇·JS(四)异步请求及跨域方案
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 零基础该如何学习UI设计
零基础学习该如何学习UI设计,没有基础该怎么开始学习呢?UI设计可以说是入行门槛很低的职业了,而且随着互联网的快速发展,UI设计的市场前景也越来也好,更多的人看到了这个高薪的行业也开始心动了,想要在 ...
- SCARA——OpenGL入门学习四(颜色)
OpenGL入门学习[四] 本次学习的是颜色的选择.终于要走出黑白的世界了~~ OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数 ...
随机推荐
- shell高级特性-4
1.shell模块 shell脚本中可以加载配置文件或调用已经完成函数或脚本. a.加载配置文件 新建配置文件config,插入以下代码: reboot_mode=True 在同一路径下,新建文件mo ...
- 模拟实现 DBUtils 工具 , 技术原理浅析
申明:本文采用自己 C3P0 连接池工具进行测试 自定义的 JDBCUtils 可以获取 Connection: package com.test.utils; import java.sql.Con ...
- Spring Boot 2.x(十三):你不知道的PageHelper
PageHelper 说起PageHelper,使用过Mybatis的朋友可能不是很陌生,作为一款国人开发的分页插件,它基本上满足了我们的日常需求.但是,我想去官方文档看看这个东西配合Spring B ...
- 微信小程序实现瀑布流布局
前言 最近在做微信小程序,有一个图片列表页面,想通过瀑布流方式来实现,个人比较喜欢这种效果 先看实现效果图 实现原理及代码 将布局分为两列,我们可以使用flex设置 displex:flex 然后每列 ...
- Jenkins结合.net平台综合应用之通过SSH方式拉取代码
上一节我们讲解了如何Jenkins如何通过轮训来监听git仓库变化然后拉取最新代码,上一节中我们使用的是https方式,然后正式环境中企业更倾向使用ssh方式.这里我们讲解一下如何通在Jenkins中 ...
- Python系列文章
前面带有[]符号的是待补充文章,有些可能在随后会跟着补上,有些可能有缘再补
- MySQL ProxySQL相关维护说明
背景: 前面的2篇文章MySQL ProxySQL读写分离使用初探和MySQL ProxySQL读写分离实践大致介绍了ProxySQL的使用说明,从文章的测试的例子中看到ProxySQL使用SQLIT ...
- Python爬虫之使用celery加速爬虫
celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度.关于celery的更多介绍及例子,笔者可以参考文章Python之celery的简介与使用. 本文将介绍 ...
- 【默认加入持久化机制,防止消息丢失,v0.0.3】对RabbitMQ.Client进行一下小小的包装,绝对实用方便
RabbitMQ是一个老牌的非微软的消息队列组件,一般来说应该能满足中小型公司对消息队列生产的需求,平时我们在.NET开发环境下运用它是可能会需要RabbitMQ.Client的SDK库,此库是官网提 ...
- Linux 桌面双击运行脚本
创建桌面文件 touch myapp.desktop 编辑此文件写入一下内容 [Desktop Entry] Name = myapp Exec = /usr/bin/xxxx/xxx.sh Icon ...