【python基础语法】函数的作用域和内置函数和关键字(第7天课堂笔记)
一、函数的作用域:
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、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:过滤器
filter:(参数1、参数2)
参数1:过滤规则的函数
参数2:要过滤的数据
2.4、zip:聚合打包 """
# 函数参数拆包
# 一个*用来接收位置参数的不定长参数
# 两个**是用来接收关键字参数的不定长参数
def func(*args, **kwargs):
print(args)
print(**kwargs)
data = (11, 22, 33, 44, 55)
data1 = [11, 22, 33, 44, 55]
# 通过*对元祖、字符串、列表(序列类型)拆包,只有在调用函数的时候可以用(用在函数的参数上)
func(*data) # 函数拆包
def func5(a,b,c):
print(a)
print(b)
print(c)
data = [11,22,33]
# 调用函数才能拆包
func5(*data)
aa,bb,cc = data
print(aa,bb,cc)
# 函数的作用域:在函数内部中定义的变量,只有在该函数中才能够使用
# 局部变量:定义在函数内部的变量叫做局部变量
# 全局变量:直接定义在文件中的变量,叫做全局变量,在该文件任何地方都能够访问
a = 100
def func1():
b = 100
print(a)
print(b)
func1() def func2():
global b
b = 100
func2()
print(b) # 扩展知识点,函数嵌套里面是默认全局变量,可以正常使用
def func3():
aa = 11
def func4():
nonlocal aa # 使用nonlocal可以在嵌套函数内部修改外部函数的局部变量的值
aa += 1
print(aa)
func4()
print(aa)
func3() # 变量的查找过程:由内向外去找的,先找自身一层作用域有没有,没有的话会去外面找
a = 100
# 如果在函数内部定义的局部变量和全局变量重名,那么最好把局部变量的定义放在该函数的最前面
def func4():
a = 11
print(a)
func4()
print(a)
'''
最大值 最小值的内置函数
min:求最小值,里面全部是数值类型
max:求最大值,里面全部是数值类型
sum:求和
'''
li = [11,34,1,54,6,88,99]
# 获取最小值
res = min(li)
print(res)
# 获取最大值
res2 = max(li)
print(res2)
# 求和sum
res3 = sum(li)
print(res3) # li = [11,22,33,44,55]
# 返回一个可以枚举的对象,enmerate将其组成一个索引序列,利用它可以同时获得索引和值
res = enumerate(li)
list2 = list(res)
print(list2) dic = {"a":11,"b":22}
print(list(dic.items())) # eval:识别字符串中的python表达式
# eval:可以将字符串类型转换为列表或者元祖
s1 = "(1,2,3)"
s2 = "[11,22,33]" print(s1,type(s1))
res11 = eval(s1)
print(res11,type(res11)) res2 = eval(s2)
print(res2,type(res2)) # 注意:如果是个纯粹的字符串,那么使用eval进行转换之后就变成了一个变量名
python = 666
s4 = "python"
res4 = eval(s4)
print(res4,type(res4)) # 过滤函数:filter(参数1,参数2)
# 参数1:函数
# 参数2:过滤的数据 # 案例 li=[11,22,33,44,55,1,2,3,4,88,99]
# 过滤所有大于33的数据
li=[11,22,33,44,55,1,2,3,4,88,99]
def func(x):
return x>33
# 方式一
new_list = []
for i in li :
if func(i):
new_list.append(i)
# 方式二
new_list = filter(func,li)
res = lambda x:x>33
print(list(new_list))
# 匿名函数
new_list = filter(lambda x:x>33,li) # zip:聚合打包
li = [11,22,33,44]
li2 = [111,222,333,444]
li3 = [1111,2222,3333,4444]
res = zip(li,li2,li3)
print(list(res)) # 案例
users_title = ["name", "age", "gender"]
user_info = [["小明", 18, "男"],
["小李", 19, "男"],
["小美", 17, "女"]
]
# 要求:将上述数据转换为以下格式
users = [{"name":"小明","age":18,"gender":"男"},
{"name":"小李","age":19,"gender":"男"},
{"name":"小美","age":17,"gender":"女"}
]
t = ["name", "age", "gender"]
s = ["小明", 18, "男"]
res = zip(t,s)
print(dict(res))
new_users = []
for user in user_info:
res = zip(users_title,user)
new_users.append(dict(res))
print(new_users)
# res = zip(t,s)
# print(dict(res))
【python基础语法】函数的作用域和内置函数和关键字(第7天课堂笔记)的更多相关文章
- python基础语法20 面向对象5 exec内置函数的补充,元类,属性查找顺序
exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) ...
- Python基础学习参考(三):内置函数
一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...
- python基础-第四篇-4.1内置函数
lambda表达式 lambda表达式是对简单函数的精简化表达 语法结构:函数名 = lambda:运算表达式 def f1(a): a = a + 1 return a ret = f1(1) pr ...
- python基础之递归,匿名,内置函数
递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯 ...
- 记录我的 python 学习历程-Day12 生成器/推导式/内置函数Ⅰ
一.生成器 初识生成器 生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概念. 唯一的不同就是: 迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来 ...
- python字符的各种处理,不用内置函数总结
一.字符的逆序,可变字符长度的最大值,自然数列表相加 # e=input("输入自然数字字符串:") # result=0 # for x in e: # result+=eval ...
- [JSP][JSTL]页面调用函数--它${fn:}内置函数、是推断字符串是空的、更换车厢
页面中调用函数--之${fn:}内置函数 函数描写叙述 fn:contains(string, substring) 假设參数string中包括參数substring,返回true fn:contai ...
- Day3 - Python基础3 函数、递归、内置函数
Python之路,Day3 - Python基础3 本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...
- 第七篇 python基础之函数,递归,内置函数
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
随机推荐
- ES6笔记分享 part 2
ECMAScript ES6 从一脸懵逼到灵活运用 接 part 1 New String Methods const id = 'adcd123456x'; const fan = 'I love ...
- SpringBoot 的不同
这些在写前端页面的时候,ssm框架中,在页面做出修改之后,保存一下,重新刷新一下浏览器页面就发生了更新 但是sprigBoot中好像不一样,好像是需要对页面进行重新编译一下,浏览器页面才会发生变化 ( ...
- Kubernetes-Ingress资源详解
什么是Ingress #阿里云称之为ingress路由!在 Kubernetes 集群中,主要用于接入外部请求到k8s内部,Ingress是授权入站连接到达集群服务的规则集合,为您提供七层负载均衡能力 ...
- Docker 使用笔记-常用基础命令
常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...
- Lambda 表达式入门,看这篇就够了
说出来怕你们不相信,刚接到物业通知,疫情防控升级了,车辆只能出不能进,每户家庭每天可指派 1 名成员上街采购生活用品.这不是谣言,截个图自证清白,出自洛阳市湖北路街道处. 看来事态严峻,这样看似好心, ...
- 微信小程序框架分析小练手(二)——天气微信小程序制作
简单的天气微信小程序. 一.首先,打开微信开发者工具,新建一个项目:weather.如下图: 二.进入app.json中,修改导航栏标题为“贵州天气网”. 三.进入index.wxml,进行当天天气情 ...
- qt连接mysql数据库实例
qt5.2版本已经封装进去了mysql驱动,所以省去了我们现编译的麻烦!!! #include <QCoreApplication> #include <QDebug> #in ...
- JavaScript 初学者容易犯的几个错误,你中招没?
JavaScript 是对初学者比较友好的一门编程语言,基本上花个半小时看下语法就能写出能运行的代码.JavaScript 是动态脚本语言,对数据类型没有太多的限制,写起来非常灵活.但正因为如此,初学 ...
- 拖延症?贪玩?来试试"百万金币时间管理法"
中午吃完饭就想休息? 一到假期就起不来? 总是想玩游戏? 究其原因是因为我们没有深刻意识到时间的价值. 这点在大气爱智慧的视频:懂这个道理,保证让你快速自律起来!拯救拖延症,更好的戒掉不良习惯中有讲到 ...
- Mongodb 3.2.8: 集群环境搭建
简介 MongoDB是一种面向文档的数据库管理系统,由C++撰写而成,以此来解决应用程序开发社区中的大量现实问题.2007年10月,MongoDB由10gen团队所发展.2009年2月首度推出. ## ...