欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

Python学习之内置函数和匿名函数详解

发布时间:2017-08-08 15:22  回复:0  查看:2795   最后回复:2017-08-08 15:22  

本文和大家分享的主要是python内置函数和匿名函数相关内容,一起来看看吧,希望对大家学习python有所帮助。

  一、内置函数

  由python内部定义好我们可以直接调用的函数就叫内部函数。python一共给我们68个内置函数:

Python学习之内置函数和匿名函数详解


上面就是内置函数的表,68个函数都在这儿了。我标注的红色在前面经常出现大家比较熟悉。这个表的顺序是按照首字母的排列顺序来的,你会发现都混乱的堆在一起。比如,octbinhex都是做进制换算的,但是却被写在了三个地方。。。这样非常不利于大家归纳和学习。那我把这些函数分成了7大类。有助于大家总结和记忆。

  内置函数思维导图:

Python学习之内置函数和匿名函数详解

其中在七个分类中有详细分类。中标注红色为必须掌握,黄色为重点掌握,其他的作为了解。

  二、内置函数部分详解

  1、作用域相关(localsglobals

  基于字典的形式获取局部变量和全局变量

  globals()——获取全局变量的字典

  locals()——获取执行本方法所在命名空间内的局部变量的字典

  def func():

  x = 1

  y = 2

  print(locals())  #打印局部作用域中的名字

  print(globals()) #打印全局作用域中的名字

  View Code

  2、其他

  s = input("请输入内容 : ")  #输入的内容赋值给s变量

  print(s)  #输入什么打印什么。数据类型是str

  input输入

  def print(self, *args, sep=' ', end='\\n', file=None): # known special case of print

  """

  print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)

  file:  默认是输出到屏幕,如果设置为文件句柄,输出到文件

  sep:   打印多个值之间的分隔符,默认为空格

  end:   每一次打印的结尾,默认为换行符

  flush: 立即把内容输出到流文件,不作缓存

  """

  print输出源码剖析

  import timeimport sysfor i in range(0,101,2):

  time.sleep(0.1)

  char_num = i//2      #打印多少个#

  per_str = '%s%% : %s\\n' % (i, '*' * char_num) if i == 100 else '\\r%s%% : %s'%(i,'*'*char_num)

  print(per_str,end='', file=sys.stdout, flush=True)

  进度条(了解)

  3、数据类型相关

  num = 123num1 = [1,2,3]num2 = "hello"type(num,num1,num2) #返回变量的数据类型

  type

  4、内存相关

  id(o) o是参数,返回一个变量的内存地址

  hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

hash实例

  hash函数会根据一个内部的算法对当前可hash变量进行处理,返回一个int数字。

  *每一次执行程序,内容相同的变量hash值在这一次执行过程中不会发生改变。

  5、文件操作相关

  open()  打开一个文件,返回一个文件操作符(文件句柄)

  操作文件的模式有r,w,a,r+,w+,a+ 6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

  可以用encoding指定编码

  open()

  r,w,a,r+,w+,a+,(都可以+b)

  f = open('tmp','r+')

  print(f.read(3))

  f.seek(5)

  f.write('ccccccc')#不要一边写一边读

  f.close()

  r+打开文件

  如果直接写 从头覆盖

  如果读了再写 追加

  如果seek指定了光标的位置 就在从该位置开始覆盖着写

  open

  6、模块操作相关

  import time #导入time模块

  7、帮助方法

  在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

  或者直接执行help(o)o是参数,查看和变量o有关的操作。。。

  8、和调用相关

  def func():pass

  print(callable(func))  #参数是函数名,可调用,返回True

  print(callable(123))   #参数是数字,不可调用,返回False

  判断是否调用

  9、查看参数所属类型的所有内置方法

  dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

  print(dir(list))  #查看列表的内置方法print(dir(int))  #查看整数的内置方法

  查看内置方法

  10str类型代码的执行

  print(123)"print(456)"  #字符串eval("print(456)")  #字符串->转换成python代码去执行

  exec("print(789)")

  num = 1+2+3

  num = eval("1+2+3")  #执行print(num)

  num2 = exec("4+5+6") #执行,没有返回值print(num2)

  View Code

  11、和数字相关

  数字——数据类型相关:boolintfloatcomplex

  数字——进制转换相关:binocthex

  数字——数学运算:absdivmodminmaxsumroundpow

  #绝对值print(abs(-12))

  #返回(除,余)print(divmod(7,4))

  #最小值 最大值print(min(1,2,3,4))print(max(1,2,3,4))

  #求和print(sum((1,2,3,4)))  #print(sum(1,2,3,4))这个报错因为不是序列print(sum([1,2,3,4]))print(sum((1,2,3,4)))

  #小数精确print(round(3.14159,1))print(round(3.14159,2))print(round(3.14159,3))

  #冥运算print(pow(2,4))print(2**4)

  数学运算

  12、和数据结构相关

  序列——字符串相关的:strformatbytesbytesarrymemoryviewordchrasciirepr

  #位置print(format('test', '<20>40'))print(format('test', '^40'))

  #字符编码的转换s = "你好"

  sb = bytes(s,encoding='utf-8')print(sb)

  ret = sb.decode('utf-8')print(ret)

  #格式化输出print(repr('1234'))print(repr(1234))

  字符串相关

  序列:reversedslice

  #倒叙

  l = [1,2,3,4]print(list(reversed(l)))

  reversed

  数据集合——字典和集合:dictsetfrozenset

  数据集合:lensortedenumerateallanyzipfiltermap

  filtermap

  sorted方法

  未完待续!!!

  三、匿名函数

  匿名函数 简单的需要用函数去解决的问题 匿名函数的函数体 只有一行

  也叫lambda表达式

  #这段代码def calc(n):

  return n**n

  print(calc(10))

  #换成匿名函数

  calc = lambda n:n**n

  print(calc(10))

  匿名函数


Python学习之内置函数和匿名函数详解

#函数名 = lambda 参数 :返回值

#参数可以有多个,用逗号隔开

#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值

#返回值和正常的函数一样可以是任意数据类型

 

来源:博客园

您还未登录,请先登录

热门帖子

最新帖子