68 个 Python 内置函数详解,高级Python晋升之View渲染机制

  • 集合:set 创建一个集合

  • len() 返回一个对象中的元素的个数

  • Iterable: 可迭代对象

  • key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序

  • reverse: 是否是倒叙. True: 倒叙, False: 正序

  • sorted() 对可迭代对象进行排序操作 (lamda)

lst = [5,7,6,12,1,13,9,18,5]

lst.sort() # sort是list里面的一个方法

print(lst) #[1, 5, 5, 6, 7, 9, 12, 13, 18]

ll = sorted(lst) # 内置函数. 返回给你一个新列表 新列表是被排序的

print(ll) #[1, 5, 5, 6, 7, 9, 12, 13, 18]

l2 = sorted(lst,reverse=True) #倒序

print(l2) #[18, 13, 12, 9, 7, 6, 5, 5, 1]

#根据字符串长度给列表排序

lst = [‘one’, ‘two’, ‘three’, ‘four’, ‘five’, ‘six’]

def f(s):

return len(s)

l1 = sorted(lst, key=f, )

print(l1) #[‘one’, ‘two’, ‘six’, ‘four’, ‘five’, ‘three’]

  • enumerate() 获取集合的枚举对象

lst = [‘one’,‘two’,‘three’,‘four’,‘five’]

for index, el in enumerate(lst,1): # 把索引和元素一起获取,索引默认从0开始. 可以更改

print(index)

print(el)

1

one

2

two

3

three

4

four

5

five

  • all() 可迭代对象中全部是True, 结果才是True

  • any() 可迭代对象中有一个是True, 结果就是True

print(all([1,‘hello’,True,9])) #True

print(any([0,0,0,False,1,‘good’])) #True

  • zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同

lst1 = [1, 2, 3, 4, 5, 6]

lst2 = [‘醉乡民谣’, ‘驴得水’, ‘放牛班的春天’, ‘美丽人生’, ‘辩护人’, ‘被嫌弃的松子的一生’]

lst3 = [‘美国’, ‘中国’, ‘法国’, ‘意大利’, ‘韩国’, ‘日本’]

print(zip(lst1, lst1, lst3)) #<zip object at 0x00000256CA6C7A88>

for el in zip(lst1, lst2, lst3):

print(el)

(1, ‘醉乡民谣’, ‘美国’)

(2, ‘驴得水’, ‘中国’)

(3, ‘放牛班的春天’, ‘法国’)

(4, ‘美丽人生’, ‘意大利’)

(5, ‘辩护人’, ‘韩国’)

(6, ‘被嫌弃的松子的一生’, ‘日本’)

  • fiter() 过滤 (lamda)

  • 语法:fiter(function. Iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留留此项数据 , Iterable: 可迭代对象

搜索vx:python885回复“CC”,送你一份惊喜礼包。

def func(i): # 判断奇数

return i % 2 == 1

lst = [1,2,3,4,5,6,7,8,9]

l1 = filter(func, lst) #l1是迭代器

print(l1) #<filter object at 0x000001CE3CA98AC8>

print(list(l1)) #[1, 3, 5, 7, 9]

  • map() 会根据提供的函数对指定序列列做映射(lamda)

  • 语法 : map(function, iterable)

可以对可迭代对象中的每一个元素进行映射. 分别去执行 function

def f(i): return i

lst = [1,2,3,4,5,6,7,]

it = map(f, lst) # 把可迭代对象中的每一个元素传递给前面的函数进行处理. 处理的结果会返回成迭代器print(list(it)) #[1, 2, 3, 4, 5, 6, 7]

和作用域相关


  • locals() 返回当前作用域中的名字

  • globals() 返回全局作用域中的名字

def func():

a = 10

print(locals()) # 当前作用域中的内容

print(globals()) # 全局作用域中的内容

print(“今天内容很多”)

func()

{‘a’: 10}

{‘name’: ‘main’, ‘doc’: None, ‘package’: None, ‘loader’:

<_frozen_importlib_external.SourceFileLoader object at 0x0000026F8D566080>,

spec’: None, ‘annotations’: {}, ‘builtins’: <module ‘builtins’

(built-in)>, ‘file’: ‘D:/pycharm/练习/week03/new14.py’, ‘cached’: None,

‘func’: <function func at 0x0000026F8D6B97B8>}

今天内容很多

和迭代器生成器相关


  • range() 生成数据

  • next() 迭代器向下执行一次, 内部实际使⽤用了__ next__()⽅方法返回迭代器的下一个项目

  • iter() 获取迭代器, 内部实际使用的是__ iter__()⽅方法来获取迭代器

for i in range(15,-1,-5):

print(i)

15

10

5

0

lst = [1,2,3,4,5]

it = iter(lst) # iter()获得迭代器

print(it.next()) #1

print(next(it)) #2 next()

print(next(it)) #3

print(next(it)) #4

字符串类型代码执行


  • eval() 执行字符串类型的代码. 并返回最终结果

  • exec() 执行字符串类型的代码

  • compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值

s1 = input(“请输入a+b:”) #输入:8+9

print(eval(s1)) # 17 可以动态的执行代码. 代码必须有返回值

s2 = “for i in range(5): print(i)”

a = exec(s2) # exec 执行代码不返回任何内容

0

1

2

3

4

print(a) #None

动态执行代码

exec(“”"

def func():

print(" 我是周杰伦")

“”" )

func() #我是周杰伦

code1 = “for i in range(3): print(i)”

com = compile(code1, “”, mode=“exec”) # compile并不会执行你的代码.只是编译

exec(com) # 执行编译的结果

0

1

2

code2 = “5+6+7”

com2 = compile(code2, “”, mode=“eval”)

print(eval(com2)) # 18

code3 = “name = input(‘请输入你的名字:’)” #输入:hello

com3 = compile(code3, “”, mode=“single”)

exec(com3)

print(name) #hello

输入输出


  • print() : 打印输出

  • input() : 获取用户输出的内容

print(“hello”, “world”, sep=“*”, end=“@”) # sep:打印出的内容用什么连接,end:以什么为结尾

#hello*world@

内存相关


hash() : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存

s = 'alex’print(hash(s)) #-168324845050430382lst = [1, 2, 3, 4, 5]print(hash(lst)) #报错,列表是不可哈希的 id() : 获取到对象的内存地址s = 'alex’print(id(s)) #2278345368944

文件操作相关


  • open() : 用于打开一个文件, 创建一个文件句柄

f = open(‘file’,mode=‘r’,encoding=‘utf-8’)

f.read()

f.close()

模块相关


最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

k,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-sThYQiTX-1711130035235)]

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值