一、函数的作用域:

1、全局变量

2、局部变量

3、global

二、内置函数

1、常见的内置函数

print : 输出

input : 输入

type : 查看数据类型

id : 获取数据的内存地址

range : 生成数据

len : 获取数据的长度(元素总数)

int、float 、bool 、str、list、tuple、dict、set:代表对应的数据类型

最大值 最小值的内置函数

min:求最小值

max:求最大值

sum:求和

2、python中高级内置函数

2.1、 enmerate

返回一个可以枚举的对象,enmerate将其组成一个索引序列,利用它可以同时获得索引和值

2.2 、eval:

取出字符串中的内容

将字符串str当成有效的表达式来求值,并返回计算结果

2.3 、filter:过滤器

filter:(参数1、参数2)

参数1:过滤规则的函数

参数2:要过滤的数据

2.4、zip:聚合打包

  1. """
  2. 函数的参数:
  3. 拆包
  4. 函数中可以传入参数,那么我们在传入参数的时候可不可以传入列表和字典来当做参数?
  5.  
  6. 一、函数的作用域:
  7. 1、函数的作用域:在函数内部中定义的变量,只有在该函数中才能够使用
  8. 2、局部变量:定义在函数内部的变量叫做局部变量
  9. 3、全局变量:直接定义在文件中的变量,叫做全局变量,在该文件任何地方都能够访问
  10. 4、global关键字:将函数内部的局部变量转换为全局变量
  11.  
  12. 二、内置函数
  13. 1、常见的内置函数
  14. print : 输出
  15. input : 输入
  16. type : 查看数据类型
  17. id : 获取数据的内存地址
  18. range : 生成数据
  19. len : 获取数据的长度(元素总数)
  20. int、float 、bool 、str、list、tuple、dict、set:代表对应的数据类型
  21. 最大值 最小值的内置函数
  22. min:求最小值
  23. max:求最大值
  24. sum:求和
  25. 2、python中高级内置函数
  26. 2.1、enmerate
  27. 返回一个可以枚举的对象,enmerate将其组成一个索引序列,利用它可以同时获得索引和值
  28. 2.2、eval:
  29. 取出字符串中的内容
  30. 将字符串str当成有效的表达式来求值,并返回计算结果
  31. 2.3、filter:过滤器
  32. filter:过滤器
  33. filter:(参数1、参数2)
  34. 参数1:过滤规则的函数
  35. 参数2:要过滤的数据
  36. 2.4、zip:聚合打包
  37.  
  38. """
  39. # 函数参数拆包
  40. # 一个*用来接收位置参数的不定长参数
  41. # 两个**是用来接收关键字参数的不定长参数
  42. def func(*args, **kwargs):
  43. print(args)
  44. print(**kwargs)
  45. data = (11, 22, 33, 44, 55)
  46. data1 = [11, 22, 33, 44, 55]
  47. # 通过*对元祖、字符串、列表(序列类型)拆包,只有在调用函数的时候可以用(用在函数的参数上)
  48. func(*data) # 函数拆包
  49. def func5(a,b,c):
  50. print(a)
  51. print(b)
  52. print(c)
  53. data = [11,22,33]
  54. # 调用函数才能拆包
  55. func5(*data)
  56. aa,bb,cc = data
  57. print(aa,bb,cc)
  58. # 函数的作用域:在函数内部中定义的变量,只有在该函数中才能够使用
  59. # 局部变量:定义在函数内部的变量叫做局部变量
  60. # 全局变量:直接定义在文件中的变量,叫做全局变量,在该文件任何地方都能够访问
  61. a = 100
  62. def func1():
  63. b = 100
  64. print(a)
  65. print(b)
  66. func1()
  67.  
  68. def func2():
  69. global b
  70. b = 100
  71. func2()
  72. print(b)
  73.  
  74. # 扩展知识点,函数嵌套里面是默认全局变量,可以正常使用
  75. def func3():
  76. aa = 11
  77. def func4():
  78. nonlocal aa # 使用nonlocal可以在嵌套函数内部修改外部函数的局部变量的值
  79. aa += 1
  80. print(aa)
  81. func4()
  82. print(aa)
  83. func3()
  84.  
  85. # 变量的查找过程:由内向外去找的,先找自身一层作用域有没有,没有的话会去外面找
  86. a = 100
  87. # 如果在函数内部定义的局部变量和全局变量重名,那么最好把局部变量的定义放在该函数的最前面
  88. def func4():
  89. a = 11
  90. print(a)
  91. func4()
  92. print(a)
  93. '''
  94. 最大值 最小值的内置函数
  95. min:求最小值,里面全部是数值类型
  96. max:求最大值,里面全部是数值类型
  97. sum:求和
  98. '''
  99. li = [11,34,1,54,6,88,99]
  100. # 获取最小值
  101. res = min(li)
  102. print(res)
  103. # 获取最大值
  104. res2 = max(li)
  105. print(res2)
  106. # 求和sum
  107. res3 = sum(li)
  108. print(res3)
  109.  
  110. # li = [11,22,33,44,55]
  111. # 返回一个可以枚举的对象,enmerate将其组成一个索引序列,利用它可以同时获得索引和值
  112. res = enumerate(li)
  113. list2 = list(res)
  114. print(list2)
  115.  
  116. dic = {"a":11,"b":22}
  117. print(list(dic.items()))
  118.  
  119. # eval:识别字符串中的python表达式
  120. # eval:可以将字符串类型转换为列表或者元祖
  121. s1 = "(1,2,3)"
  122. s2 = "[11,22,33]"
  123.  
  124. print(s1,type(s1))
  125. res11 = eval(s1)
  126. print(res11,type(res11))
  127.  
  128. res2 = eval(s2)
  129. print(res2,type(res2))
  130.  
  131. # 注意:如果是个纯粹的字符串,那么使用eval进行转换之后就变成了一个变量名
  132. python = 666
  133. s4 = "python"
  134. res4 = eval(s4)
  135. print(res4,type(res4))
  136.  
  137. # 过滤函数:filter(参数1,参数2)
  138. # 参数1:函数
  139. # 参数2:过滤的数据
  140.  
  141. # 案例 li=[11,22,33,44,55,1,2,3,4,88,99]
  142. # 过滤所有大于33的数据
  143. li=[11,22,33,44,55,1,2,3,4,88,99]
  144. def func(x):
  145. return x>33
  146. # 方式一
  147. new_list = []
  148. for i in li :
  149. if func(i):
  150. new_list.append(i)
  151. # 方式二
  152. new_list = filter(func,li)
  153. res = lambda x:x>33
  154. print(list(new_list))
  155. # 匿名函数
  156. new_list = filter(lambda x:x>33,li)
  157.  
  158. # zip:聚合打包
  159. li = [11,22,33,44]
  160. li2 = [111,222,333,444]
  161. li3 = [1111,2222,3333,4444]
  162. res = zip(li,li2,li3)
  163. print(list(res))
  164.  
  165. # 案例
  166. users_title = ["name", "age", "gender"]
  167. user_info = [["小明", 18, "男"],
  168. ["小李", 19, "男"],
  169. ["小美", 17, "女"]
  170. ]
  171. # 要求:将上述数据转换为以下格式
  172. users = [{"name":"小明","age":18,"gender":"男"},
  173. {"name":"小李","age":19,"gender":"男"},
  174. {"name":"小美","age":17,"gender":"女"}
  175. ]
  176. t = ["name", "age", "gender"]
  177. s = ["小明", 18, "男"]
  178. res = zip(t,s)
  179. print(dict(res))
  180. new_users = []
  181. for user in user_info:
  182. res = zip(users_title,user)
  183. new_users.append(dict(res))
  184. print(new_users)
  1. # res = zip(t,s)
    # print(dict(res))

【python基础语法】函数的作用域和内置函数和关键字(第7天课堂笔记)的更多相关文章

  1. python基础语法20 面向对象5 exec内置函数的补充,元类,属性查找顺序

    exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) ...

  2. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

  3. python基础-第四篇-4.1内置函数

    lambda表达式 lambda表达式是对简单函数的精简化表达 语法结构:函数名 = lambda:运算表达式 def f1(a): a = a + 1 return a ret = f1(1) pr ...

  4. python基础之递归,匿名,内置函数

    递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯 ...

  5. 记录我的 python 学习历程-Day12 生成器/推导式/内置函数Ⅰ

    一.生成器 初识生成器 生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概念. 唯一的不同就是: 迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来 ...

  6. python字符的各种处理,不用内置函数总结

    一.字符的逆序,可变字符长度的最大值,自然数列表相加 # e=input("输入自然数字字符串:") # result=0 # for x in e: # result+=eval ...

  7. [JSP][JSTL]页面调用函数--它${fn:}内置函数、是推断字符串是空的、更换车厢

    页面中调用函数--之${fn:}内置函数 函数描写叙述 fn:contains(string, substring) 假设參数string中包括參数substring,返回true fn:contai ...

  8. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  9. 第七篇 python基础之函数,递归,内置函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

随机推荐

  1. echats 的使用

    第一步在我们的电脑上百度搜索echarts,点击进去,如下图所示: 2 第二步进去之后,点击下载,选择要下载的echarts版本,一般选择源代码,如下图所示: 3 第三步下载完成之后,我们也可以来使用 ...

  2. 内网IP的解释

    https://baike.baidu.com/item/%E5%86%85%E7%BD%91ip/8881186?fr=aladdin

  3. linux--->PHP常用模块解析

    PHP常用模块解析 php-gd :GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印 php-ldap :LDAP是轻量 ...

  4. abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析

    老版Abp对Castle的严重依赖在vnext中已经得到了解决,vnext中DI容器可以任意更换,为了实现这个功能,底层架构相较于老版abp,可以说是进行了高度重构.当然这得益于.Net Core的D ...

  5. 使用.NET Core优雅获取并展示最新疫情数据

    前言 新型冠状病毒的出现,着实让人紧张.我每天一大早都会去查看今天的最新数据,可是每次的数据都挺让人揪心的.今天突然间很想看看过去的历史的数据,结果查了很多资料都不是很全.反正国家让我们待在家里做贡献 ...

  6. ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)

    本文转自:自己的微信公众号<集成电路设计及EDA教程> <ICC教程 - Flow系列 - 概念系列 - ECO (理论+实践+脚本分享)> 这篇推文讲一下数字IC设计中的po ...

  7. 发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方案

    在Android平台下,进行多线程编程时,经常需要在主线程之外的一个单独的线程中进行某些处理,然后更新用户界面显示.但是,在主线线程之外的线程中直接更新页面显示的问题是 报异常:android.vie ...

  8. # 通过 DockerFile 打包镜像

    在介绍 Docker 具体的操作前,先简要复习下 Docker 的架构,这样可以更好地帮助我们理解 Docker 中的各个命令. 首先我们一直对 Docker 这个叫法就有些误解,Docker 其实指 ...

  9. 每日一练_PAT_B_PRAC_1004客似云来

    题目描述 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来:并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝.于是,这 ...

  10. python 更改pip源

    用pip安装依赖包时默认访问https://pypi.Python.org/simple/,但是经常出现不稳定以及访问速度非常慢的情况,国内厂商提供的pipy镜像目前可用的有: http://pypi ...