IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python(基础):函数、深 |浅拷贝、lambda、eval()、递归、 turtle() -> 正文阅读

[Python知识库]python(基础):函数、深 |浅拷贝、lambda、eval()、递归、 turtle()

一. 函数的分类

? ? ? ? 1.内置函数:自带,无需导包,如 list()、len()等。

? ? ? ? 2.标准库函数:自带,相对不常用,需导包。

? ? ? ? 3.第三方库函数:外援,需下载和导包。

? ? ? ? 4.自定义函数:自创,需定义。

二.函数的定义格式

? ? ? ? def my_function (形参):

? ? ? ? ? ? ? ? “‘文档注释’”

? ? ? ? ? ? ? ? 函数体/若干句子

三.局部变量VS全局变量效率? ? ?

import math
import time
a = 30
def test_variable ():
    start = time.time()
    for x in range(10**7):
        a = 30
        math.sqrt(a)
    end = time.time()
    print("局部变量耗时:{0}".format(end-start))
def test_globle ():
    start = time.time()
    for x in range(10**7):
        math.sqrt(a)
    end = time.time()
    print("全局变量耗时:{0}".format(end-start))
test_variable()#局部变量耗时:1.363530158996582
test_globle()#全局变量耗时:1.4840335845947266

四.深浅拷贝及内存原理图

import copy #传参若发生拷贝则为浅拷贝!
a = [1,2,[3,4]]
b = copy.copy(a)
print("改变前a内容:{0};b内容:{1}".format(a,b))
b.append(6)
b[2].append(5)
print("浅拷贝:a内容:{0};b内容:{1}".format(a,b)) 

c = [1,2,[3,4]]
d = copy.deepcopy(c)
print("改变前c内容:{0};d内容:{1}".format(c,d))
d.append(6)
d[2].append(5)
print("深拷贝:c内容:{0};d内容:{1}".format(c,d))

?

五.参数的5中类型示例示例代码

def test(a,b,c):#位置参数
    print("{0}-{1}-{2}".format(a,b,c))
test(1,2,3)
def test(a,b,c=3):#默认参数
    print("{0}-{1}-{2}".format(a,b,c))
test(1,2)
def test(a,b,c):#命名参数
    print("{0}-{1}-{2}".format(a,b,c))
test(b=1,a=2,c=3)
def test(a,b,*c,**d):#一个*是元组存储; 两个*是字典存储
    print("{0}-{1}-{2}-{3}".format(a,b,c,d))
test(1,2,3,4,5,name=6,age=7)
def test(*a,b,c):#强制命名参数
    print("{0}-{1}-{2}".format(a,b,c))
test(1,b=2,c=3)

六.lambda表达式示例代码

a = lambda a,b,c:a*b*c  # lambda本质是函数的特例
def test(a, b, c):
    return a*b*c
print("使用lambda:{0};使用函数:{1}".format(a(2,2,2), test(2,2,2)))
b = [lambda a:a*3, lambda b:b*3, lambda c:c*3] #函数也是对象哈!python中一切皆对象
print("a:{0}; b:{1}; c:{2}".format(b[0](2), b[1](3), b[2](4)))

七.eval()函数示例代码

eval("print('abcd')") # 将字符串 str 当成有效的表达式来求值并返回计算结果。
print(eval('20+30'))
dict_num = dict(b=10, c=20)
print(eval("b+c",dict_num))

八.递归函数案例及内存分析:阶乘函数

def test(num):
    if num==1:
        return 1
    else:
        return test(num-1)*num
print(test(3))

?

九.turtle相关案例代码:绘制18*18棋盘格

import turtle
p = turtle.Pen()
for x in range(19):#先画19条横线
    if x%2==0:#此判断避免z字形绕路
        p.penup()#抬笔
        p.goto(-180,-180+20*x)
        p.pendown()#落笔
        p.goto(180, -180+20*x)
    else:
        p.penup()
        p.goto(180 , -180+20*x)
        p.pendown()
        p.goto(-180,-180+20*x)
for x in range(19):#再画19条竖线线
    if x%2==0:#此判断避免z字形绕路
        p.penup()
        p.goto(-180+20*x,180)
        p.pendown()
        p.goto(-180+20*x, -180)
    else:
        p.penup()
        p.goto(-180+20*x ,-180)
        p.pendown()
        p.goto(-180+20*x,180)
turtle.done()#避免画框自动关闭

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:52:51  更:2021-12-28 22:54:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:25:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码