Python学习之路(七):基础知识之内置函数

1.迭代器相关

  • iter( )获取迭代器
  • next( )获取迭代对象
 1 lst = [‘白蛇传‘, ‘骷髅叹‘, ‘庄周仙游‘]
 2
 3 it = lst.__iter__()
 4 print(it.__next__())
 5 print(it.__next__())
 6 print(it.__next__())
 7
 8 # it = iter(lst)  # 内部封装的就是__iter__
 9 # print(next(it))
10 # print(next(it))
11 # print(next(it))  # 内部封装的就是__next__

2.内存相关

  • id( )获取到对象的内存地址
  • hash( )获取到对象的哈希值(int, str, bool, tuple)
1 lst = [‘白蛇传‘, ‘骷髅叹‘, ‘庄周仙游‘]
2
3 print(id(lst))
4 print(hash(‘123‘))

3.数字相关

 1 print(bin(5))  # 5的2进制  0b 二进制
 2
 3 print(oct(8))  # 0o八进制
 4
 5 print(hex(16))  # 0x十六进制
 6
 7 print(abs(32))  # 绝对值
 8
 9 print(divmod(10, 3))  # 计算商和余数
10
11 print(round(3.15))  # 四舍五入
12
13 print(pow(2, 4))  # 求次幂
14
15 print(sum([1, 3, 4], 6))  # 求和
16
17 print(min([1, 3, 4]))  # 求最小值
18
19 print(max([1, 3, 4]))  # 求最大值

4.字符串相关

 1 # 反转
 2 lst = [1, 3, 4]
 3 ll = reversed(lst)
 4 print(list(ll))
 5
 6 # 切片
 7 lst = [‘马化腾‘, ‘码云‘, ‘马大帅‘, ‘马超‘]
 8 s = slice(1, 3, 2)  # 从1切到3,每两个出一个
 9 print(lst[s])
10 print(lst[1:3:2])
11
12 s = ‘你好啊,不要睡了,我也困!‘
13 print(memoryview(s.encode(‘utf-8‘)))  # 函数返回给定参数的内存查看对象
14
15 print(ord(‘a‘))  # 查看字母a的编码位置
16 print(chr(20013))  # 根据编码位置返回相应的字符
17
18 print(‘周杰伦说:"昆凌难看"‘)
19 print("周杰伦说:\"昆凌难看\"")  # \转义
20 print(repr("周杰伦说:\"昆凌难看\""))  # repr原样输出字符串
21 print(r"周杰伦说:\"昆凌难看\"")  # 原样输出字符串
22 print(repr("周杰伦\说"))
23 # c: \在字符串中是转义字符
24 # \n 换行
25 # \t 制表符
26 # \\ \
27 # \" ‘
28 # \‘ ‘
 1 # eval 执行字符串类型的代码
 2
 3 s = "5 + 5"
 4 ret = eval(s)  #动态执行一个代码片段,侧重点在返回上
 5 print(ret)
 6
 7 a = "{‘name‘:‘汪峰‘, ‘age‘: ‘48‘}"
 8 d = eval(a)  # 还原回字典,列表
 9 print(d[‘name‘])
10
11
12 # exec()执行一段代码
13
14 s = "a = 10"
15 exec(s)  # 执行代码
16 print(a) # pycharm里的报错信息不一定是对的

5.逻辑相关

print(all([True, 1, 1, 1]))  # add的意思
print(any([False, 0, 1]))  # or的意思

6.其他

compile() 编译一段代码

1 s = "for i in range(10): print(i)"
2 c = compile(s, "", "exec")
3 exec(c)
4
5
6 s = "5+9"
7 c = compile(s, "", "eval")
8 ret = eval(c)
9 print(ret)

zip() 打包数据

1 lst1 = [‘甜蜜蜜‘, ‘往事只能回味‘, ‘难忘今宵‘, ‘枫红的回忆‘, ‘十年‘]
2 lst2 = [‘邓丽君‘, ‘韩宝仪‘, ‘李谷一‘, ‘王宝强‘]
3 lst3 = [‘2000‘, ‘3000‘, ‘5‘, ‘120‘]
4 a = zip(lst1, lst2, lst3)  # 水桶效用,# 十年没有对应位置的数据,略过不做记录
5 print(‘__iter__‘ in dir(a))  # 可迭代的
6 for i in a:
7     print(i)  # 十年没有对应的数据,略过不做记录

7.sorted

语法:sorted(iterable,key=None,reverse=False)

iteralbe-->接可迭代对象

key-->指定排序规则

reverse-->是否逆序,默认为False不逆序,逆序时令为True

 1 lst = [1, 3, 2, 5, 4]
 2 lst.sort()  #列表独有的方法
 3 print(lst)
 4
 5 # sorted是通用的方法
 6 """
 7 lst = [1,3,2,5,4]
 8 lst2 = sorted(lst)
 9 print(lst)    #原列表不会改变
10 print(lst2)   #返回的新列表是经过排序的
11 lst3 = sorted(lst,reverse=True)
12 print(lst3)   #倒叙
13
14 """
15 dic = {1: ‘a‘, 3: ‘c‘, 2: ‘b‘}
16 print(sorted(dic))   # 字典排序返回的就是排序后的key
17
18 # 和函数组合使用
19 # 定义一个列表,然后根据一元素的长度排序
20 lst = [‘天龙八部‘,‘西游记‘,‘红楼梦‘,‘三国演义‘]
21 # 计算字符串的长度
22 def func(s):
23     return len(s)
24 print(sorted(lst,key=func))
25
26 # 和lambda组合使用
27 lst = [‘天龙八部‘, ‘西游记‘, ‘红楼梦‘, ‘三国演义‘]
28 print(sorted(lst, key=lambda s: len(s)))
29
30 lst = [{‘id‘: 1, ‘name‘: ‘alex‘, ‘age‘: 18},
31     {‘id‘: 2, ‘name‘: ‘wusir‘, ‘age‘:17},
32     {‘id‘: 3, ‘name‘: ‘taibai‘, ‘age‘: 16}, ]
33 # 按照年龄对学生信息进行排序
34 print(sorted(lst, key=lambda e: e[‘age‘]))

8.filter

语法:ilter(function,iterable)

function-->用来筛选的函数,在filter中会自动的把iterable中的元素传递给function,然后根据function返回的True或者False来判断是否保留此项数据。

iterable-->可迭代对象。

 1 lst = [‘张无忌‘, ‘张铁林‘, ‘是可信‘]
 2
 3 # 定义一个函数,这个函数在应用filter时传入
 4
 5 def func(el):
 6     if el[0] == ‘张‘:
 7         return False
 8     else:
 9         return True
10
11
12 f = filter(func, lst)
13 print(‘__iter__‘ in dir(f))
14
15 for e in f:
16     print(e)

9.map

语法: map(function,iterable) 可以对可迭代对象中的每一个元素进映射,分别取执行function

1 lst = [1, 3, 4, 5]
2
3
4 def func(el):
5     return el ** 2
6 m = map(func, lst)  # 把后面的可迭代对象中的每一个元素传递给map函数
7 print(list(m))  # 用list输出可迭代对象

原文地址:https://www.cnblogs.com/Studying-Du/p/12350107.html

时间: 2024-11-11 13:42:45

Python学习之路(七):基础知识之内置函数的相关文章

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

[Python学习] 专题四.文件基础知识

        前面讲述了函数.语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作         文件是指存储在外部介质(如磁盘)上数据的集合.文件的操作流程为: 打开文件(读方式\写方式)->读写文件(read\readline\readlines\write\writelines)->关闭文件 1.打开文件 调用函数open打开文件,其函数格式为: file_obj=open(filename[, mode[, buffering]])

python基础知识内置函数(二)、装饰器

一.内置函数 1.chr()  ord() r= chr(65) #ASCII对应的字母 print (r) n= ord("a") #ASCII对应的数字 print(n) #以下为执行结果 A 97 可以利用此函数随机生成验证码: import random li=[] for i in range(6): r = random.randrange(0,5) if r ==2 or r==4: num = random.randrange(0,10) li.append(str(n

python学习--装饰器、生成器、内置函数、json

这周学习了装饰器和生成器,写下博客,记录一下装饰器和生成器相关的内容. 一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里面每个函数都加一个功能,用来统计每个函数的运行时间是多少,找出来运行比较慢的函数,来优化代码,就需要添加一个新的功能,来统计程序的运行时间,那这样的话,就得修改每个函数了,需要改代码,但是代码特别多,改完了公司倒闭了,这时候装饰

python学习之路_python基础(1)

学习内容: 1.python介绍 2.python程序初接触和变量 3.python用户交互 4.python数据类型 5.python循环if...(elif)...else 6.python循环while...else 7.python循环for...else 8.python循环中断break和continue 一.python介绍 1)python优缺点 先看优点: Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容

python学习之路(基础篇)——python入门

一.python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的:将人的思想转换成机器能理解的语言,利用机器的优势扩大个人的能力,实现更广阔的目标. 编程语言   : 能够被计算机所理解的语言即为编程语言.编程语言是程序员与计算机沟通的介质. 编程          :编程是程序员将自己思想流程按照编程规则写下来,产出的结果就是包含一堆字符的文件. 二.程序语言分类 机器语言:直接用二进制编程,直接操作硬件 汇编语言:简写的英

PYTHON学习之路_PYTHON基础(4)

学习内容: 1.Python函数的基本语法 2.Python函数的返回值与变量 3.Python嵌套函数 4.Python递归函数及实例(二分查找) 5.Python匿名函数 6.Python内置方法 7.Python实例 一.Python函数的基本语法 1.定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 def f(n): print (n**n) return n**2 2.特性 (一)减少重复代码 (二)使程序变的可扩展 (三)使程序变

python学习之路-5 基础进阶篇

本篇涉及内容 双层装饰器字符串格式化 双层装饰器 装饰器基础请点我 有时候一个功能需要有2次认证的时候就需要用到双层装饰器了,下面我们来通过一个案例详细介绍一下双层装饰器: 执行顺序:自上而下 解释顺序:自下而上 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

PYTHON学习之路_PYTHON基础(8)

学习内容: Python模块介绍 1.经典类 or 新式类 2.抽象接口 3.静态方法.类方法.属性方法 4.反射 5.异常处理 6.socket编程初识 7.用socket实现get.put文件等功能 一.经典类 or 新式类 二.抽象接口 3.静态方法.类方法.属性方法 4.反射 5.异常处理 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 如果你不想在异常发生时结束你的程序,只需在try里捕获它. 语法: 以下为简单的try....exce