深入理解Python3 内置函数大全


Posted in Python onNovember 23, 2017

本文主要介绍了Python3 内置函数,分享给大家,具体如下:

内置函数

深入理解Python3 内置函数大全

以下代码以Python3.6.1为例

#coding=utf-8
# builtin_function.py 内置函数
import os

def fun():
  all([True, False]) # 迭代器(为空or)所有元素为true,返回true => False
  any([True, False]) # 迭代器任意一个元素为true,返回true => True

  num = abs(-1.23) # 绝对值
  num = pow(5, 3) # 幂次方 x**y =>125
  num = pow(5, 3, 3) # 幂次方再取余 (x**y) % z => 2
  num = round(1.23) # 返回浮点数近似值,默认保留0位,且四舍五入
  num = round(1.23, 5) # 5为保留小数点后位数
  num = sum([1, 2, 3, 4, 5]) # 对列表数字求和
  strs = ascii(os) # 返回对象的ascii字符串形式
  strs = bin(123) # 整数转为二进制字符串(若被转对象非int类型可在__index__里定义)
  boolean = bool(0) # 获取真假(假:None / False / 任何类型的0 / 空""()[]{} / __bool__返回False / __len__返回0)
  bytes = bytearray("You were, are and will be in my heart!", "utf-8") # 字符串(字符串,编码):按编码转为字节序列 / 数字(数字):生成相应大小的空数组 / 无参():0数组
  bytes = bytes("You were, are and will be in my heart!", "utf-8") # 同bytearray(),但是不可变
  strs = chr(123) # 整数(Unicode)转为char类型(范围[0, 1 114 111])
  num = ord("{") # char类型转为整数(Unicode)
  num = complex("1+2j") # 将字符串或数字转为复数(不能含有空格)
  num = float('1.1') # 构建浮点数
  strs = format(123,'f') # 格式化(类型:x,b,f... / 位移:>(>10),<,^ / 长度:5 / E)
  strs = hex(123) # 将整数转为16进制字符串
  strs = oct(123) # 十进制转成8进制字符串
  num = int(123.1) # 转为整数
  strs = str(123) # 将对象转为字符串
  strs = str(b"123", "utf-8")
  elem = max([1,2,3,4], [2,4,6]) # 可接收1个iterable,或多个元素 => [2, 4, 6]
  elem = max(1,2,3,4) # => 4
  elem = max([1,2,3,4, 6], key = lambda x : x == 2) # => 2
  elem = min(1,2,3,4) # 与max相反

  exe = compile("print('O_O')", filename = 'strs', mode='exec') # 编译为代码, mode(编译模式:可执行语句'exec',单个语句'eval',交互式语句'single')
  exec(exe) # 执行已编译代码
  exec("print('O_O')") # 执行String未编译代码
  eval(compile("print('O_O')", filename = 'strs', mode='eval')) # 不接受字符串类型

  delattr(Clazz("Hello!"), "name") # 删除某对象属性 = del clazz.name 详情见 类 文章的 反射 代码块(https://3water.com/article/128897.htm)
  setattr(Clazz("Hello!"), "name", "World!") # 给对象某属性赋值
  strs = getattr(Clazz("Hello!"), "name") # 获取某个对象的属性值
  strs = getattr(Clazz("Hello!"), "name", -1) # -1为未找到属性的返回
  boolean = hasattr(Clazz("Hello!"), "name") # 该对象是否有该属性
  lists = dir(Clazz("Hello!")) # 查看函数
  clazz = type(os) # 获取类型
  dicts = globals() # 获取当前全局函数与对象
  dicts = locals() # 获取当前局部函数与对象
  dicts = vars() # 同locals() (__dict__)
  dicts = vars(Clazz("Hello!"))
  num = hash(Clazz("Hello!")) # 获取某对象的hash值 
  help(os) # 获取某对象的帮助文档
  num = id(os) # 获取某对象的id
  boolean = isinstance(Clazz("Hello!"), Clazz) # 对象是否是该类的实例
  boolean = issubclass(Clazz, Clazz) # 该类(前)是否是该类(后)的子类(包括自己)
  strs = repr(os) # 将对象转为字符串表达形式
  # - super() # 代理父类对象,详情见 类 文章(https://3water.com/article/88315.htm)
  # - memoryview(obj) # 内存视图,详解 数据结构 文章(https://3water.com/article/128892.htm)

  dics = dict() # 创建字典
  tups = divmod(10, 5) # 返回元组,(商(10/5),余数(10%5))
  lists = enumerate(['a', 'b', 'c']) # 返回枚举对象
  lists = filter(lambda x: True if (ord(x) > 66) else False, ['a', 'b', 'c']) # function为Frue保留,False移除
  sets = frozenset([1, 2, 3]) # 返回新的frozenset对象(集合)
  num = len([1, 2, 3]) # 长度
  lists = list((1, 'a')) # 转为list类型
  tups = tuple([1, 2, 3]) # 转为tuple元组类型
  ran = range(5) # 不可变序列
  ran = range(0,5)
  ran = range(0,5,2) # (起始,结束,增加量)
  sets = set([1,2,3]) # 返回set集合
  maps = map(lambda x, y: x*y, [1, 2, 3], [65, 66, 67, 68]) # 返回一个迭代器,元素通过自定义函数筛选,可接收多个iterable参数 => [65, 132, 201]
  iters = zip(["A", "B", "C", "D", "E", "F"], [1, 2, 3]) # 创建新的迭代器, 聚合每个迭代器元素 => [('A', 1), ('B', 2), ('C', 3)]
  iters = iter([1, 2, 3, 4, 5]) # 返回一个迭代器对象
  elem = next(iters) # 从迭代器中获取下个元素; 实现原理见 内置函数 文章 lis 块代码(https://3water.com/article/128890.htm)
  iters = reversed([1,2,3]) # 返回反向的遍历器 => [3, 2, 1]
  lists = [1,2,3,4,5][slice(3)] # 切片 => [1, 2, 3]
  lists = [1,2,3,4,5][slice(1,3)] # [slice(3) == slice(None, 3, None) / slice(1,3) == slice(1, 3, None) / slice(1,3,1) == slice(1, 3, 1)
  lists = sorted([2,5,3,1,4]) # 排序 => [1, 2, 3, 4, 5]
  lists = sorted(['a','B',';','t','D','1'], key = lambda x : ord(x), reverse = True) # key:比较键的函数, reverse是否反向遍历


  strs = input("请输入数据:") # 输入数据
  f = open("temp.txt", "r+") # 打开文件,详情见os文章
  print("字符串%d"%123) # 打印字符 => 字符串123
  print("字","符", "串", sep="-") # sep为分隔 => 字-符-串
  print("字","符", "串", sep="-", end="\r\n") # end为尾部 => 字-符-串/r/n
  print("字","符", "串", sep="-", end="\r\n", file=open("temp.txt","w+")) # 打印到文件


class Clazz:
  def __init__(self, name):
    self.name = name;

  @classmethod # 将函数包装成类方法
  def setName_cls(cls, name):
    pass

  @staticmethod # 将函数包装成静态方法
  def setName_sta(name):
    pass

  def getname(self):
    return self.name
  def setname(self, value):
    self.name = value
  def delname(self):
    del self.name

  # property(fget=None, fset=None, fdel=None, doc=None) # 返回一个property 属性
  # property 为属性方法, 有两种实现方式,详情见 类 文章的 属性方法代码块(https://3water.com/article/68235.htm) 
  x = property(getname, setname, delname)

 

if __name__ == "__main__":
  fun()

  # property 的使用
  c = Clazz("柳岩")
  print(c.x) # => 柳岩
  c.x = '汤唯'
  print(c.getname()) # => 汤唯
  del c.x

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的词法分析与语法分析
May 18 Python
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
Python警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
python实现list由于numpy array的转换
Apr 04 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
python在回调函数中获取返回值的方法
Feb 22 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
Python内置函数delattr的具体用法
Nov 23 #Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 #Python
Python3 操作符重载方法示例
Nov 23 #Python
Python3安装Scrapy的方法步骤
Nov 23 #Python
Python 和 JS 有哪些相同之处
Nov 23 #Python
深入理解Python分布式爬虫原理
Nov 23 #Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 #Python
You might like
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
jquery日历控件实现方法分享
2014/03/07 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
vue+elementUI动态生成面包屑导航教程
2019/11/04 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
Python数据类型学习笔记
2016/01/13 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
mac下如何将python2.7改为python3
2018/07/13 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
linux 下selenium chrome使用详解
2020/04/02 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
浅析与CSS3的loading动画加载相关的transition优化
2015/05/18 HTML / CSS
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
竟聘演讲稿范文
2013/12/31 职场文书
项目计划书范文
2014/01/09 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
买房委托公证书
2014/04/08 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
企业开业庆典答谢词
2015/01/20 职场文书