小新学习python第七周

我们这周就来学习

函数进阶

目录

函数进阶

全局变量和局部变量

修改全局变量

global

nonlocal

匿名函数

lambda

内置函数

zip

map

reduce


我们首先要搞懂

全局变量和局部变量

函数以外的变量b和函数以内的变量b不是一回事

函数外的b就是全局变量,函数里面的b是局部变量

这个应该是很好理解

修改全局变量

要想在函数内修改外面的变量

就要用到

global

a = 200
def funa():
    global a
    a = 150
    print(a)
funa()

这样子修改之后a就从原本的200变成了150

nonlocal

是针对函数嵌套的情况下进行修改

若你想在子集作用域里面修改父级作用域的话,用这个就很合适

def funa():
    a = 100
    def funb():
        nonlocal a
        a = 150
    retuen a
print(funa())

匿名函数

lambda

一般是这么用:自定义函数名 = lambda 参数:返回值

add = lambda x,y:x+y
print(add(3,7))

优点也很明显,就是比命名函数之后再编写程序快捷的多

内置函数

这个就是python自带的一堆函数

像我们经常用的print,int,input,def等都是python自带的函数

用 print(dic(builtins))就可以看到我们当前的内置函数了

这里再介绍几个新的函数

zip

就是将多个可迭代对象一一对应,打包成元组格式返回

a = [1,2,3]
b = ["a","b","c"]
print(list(zip(a,b)))

输出来的就是一个元组格式的元组啦

map

就是将可迭代对象中的元素和函数对应执行这个函数并拿到值

li = [1,2,3,4,5]

def funa(x):
    return x*x
print(list(map(funa,li)))


[1, 4, 9, 16, 25]

最后的结果就是最下面的代码啦

reduce

就是将对象拿出来在函数里面进行运算

from functools import reduce
li = [1,2,3,4,5,6]
def funa(x,y):
    return x+y
print(return(funa,li))

eval

就是自动识别是什么数字类型,然后直接转换,很方便的一个函数

li = "[1,2,3]"
print(type(eval(li)))


print("1+2")
print(eval("1+2"))

好啦,这周的学习就到这里,下周我们讲装包和拆包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python的turtle模块绘制蜡笔小新图案的代码和效果展示: ```python import turtle # 设置画笔 pen = turtle.Turtle() pen.speed(10) pen.pensize(5) # 绘制身体 pen.fillcolor('#E60012') pen.begin_fill() pen.circle(100) pen.end_fill() # 绘制脸部 pen.penup() pen.goto(0, 120) pen.pendown() pen.fillcolor('#FEDFE1') pen.begin_fill() pen.circle(80) pen.end_fill() # 绘制眼睛 pen.penup() pen.goto(-30, 170) pen.pendown() pen.fillcolor('#FFFFFF') pen.begin_fill() pen.circle(20) pen.end_fill() pen.penup() pen.goto(30, 170) pen.pendown() pen.begin_fill() pen.circle(20) pen.end_fill() pen.fillcolor('#000000') pen.begin_fill() pen.circle(10) pen.end_fill() pen.penup() pen.goto(-10, 180) pen.pendown() pen.fillcolor('#000000') pen.begin_fill() pen.circle(5) pen.end_fill() pen.penup() pen.goto(40, 180) pen.pendown() pen.begin_fill() pen.circle(5) pen.end_fill() # 绘制鼻子 pen.penup() pen.goto(0, 140) pen.pendown() pen.fillcolor('#FF5B00') pen.begin_fill() pen.circle(15) pen.end_fill() # 绘制嘴巴 pen.penup() pen.goto(-50, 100) pen.pendown() pen.right(45) pen.circle(70, 90) pen.penup() pen.goto(-50, 100) pen.pendown() pen.left(90) pen.circle(70, 90) # 绘制手臂 pen.penup() pen.goto(-100, 0) pen.pendown() pen.right(45) pen.fillcolor('#E60012') pen.begin_fill() pen.circle(50, 180) pen.right(90) pen.forward(100) pen.right(90) pen.circle(-50, 180) pen.right(90) pen.forward(100) pen.end_fill() # 绘制腿 pen.penup() pen.goto(0, -100) pen.pendown() pen.right(90) pen.fillcolor('#E60012') pen.begin_fill() pen.forward(100) pen.right(90) pen.circle(-50, 180) pen.right(90) pen.forward(100) pen.end_fill() # 隐藏画笔 pen.hideturtle() # 点击关闭窗口 turtle.done() ``` 效果展示: ![蜡笔小新Python海龟绘图](https://i.imgur.com/5JZzvJL.png)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值