1.可变数据类型不能做函数参数:

参数会动态改变

def func(a, l=[]):l.append(a)print(id(l))return lf1 = func(1)
print(f1)  # [1]  l的id:2174081262216
f2 = func(2,[1])
print(f2)  # [1, 2]  l的id:2174083239112
f3 = func(3)
print(f3)  # [1, 3]  l的id:2174081262216print(f1, f2, f3)  # [1, 3]  [1, 2]  [1, 3]

代码中传参的列表对象是可变数据类型,指向同一块内存;
手动传入的list对象是另一个内存

2.打乱列表内容:

使用random模块下的shuffle方法

# 打乱列表内容
import random
list1 = [1, 2, 3, 4, 5]
random.shuffle(list1)
print(list1)

3.装饰器:

外层函数outer的参数是一个函数f,内层函数inner调用外层函数的参数(函数f)然后返回这个参数的结果,外层函数返回值为内层函数

# 装饰器函数
def outer(f):def inner(*args, **kwargs):print('11111')res = f(*args, **kwargs)print('22222')return resreturn inner@outer
def say_hi(name):print('hi,', name)say_hi('wangyudong')执行结果:
11111
hi, wangyudong
22222

4.剥皮函数:

把[1, 2, 3, [4, 5, [6, 7]], [8, 9], 10]列表里的嵌套列表元素拿出来

# 剥皮函数
def func(list1):res =[]for i in list1:if isinstance(i, list):for j in func(i):res.append(j)else:res.append(i)return reslist1 = [1, 2, 3, [4, 5, [6, 7]], [8, 9], 10]
print(func(list1))执行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

5.时间间隔:

# 时间间隔
import datetimenow_time = datetime.datetime.now()
latter_time = datetime.timedelta(days=7)
res_time = now_time + latter_timeprint(now_time, res_time)执行结果:
2020-09-19 14:47:30.252049 2020-09-26 14:47:30.252049

Python基础(可变数据类型不能做函数参数、装饰器、剥皮函数、时间间隔)相关推荐

  1. python基础知识7——迭代器,生成器,装饰器

    迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器 ...

  2. Python自学记录——返回函数、匿名函数、装饰器与偏函数

    国庆节快乐~~虽说今天是假期的最后一天.. 好久没学习Python了..值得高兴的是 <怪物猎人:世界>目前所有的龙我(统枪)都打过一遍了 (/得意). 正题,开始学习.记录: 返回函数 ...

  3. python 运行时间 装饰器_python 装饰器统计某个函数的运行时间

    import datetime def count_time(func): def int_time(*args, **kwargs): start_time = datetime.datetime. ...

  4. 五、python函数、装饰器、内置函数、json及模块

    一.递归调用 1.一个函数自己调用自己就是递归调用,最多一个函数递归调用自己999次,超过就会出错 2.递归必须有一个明确的结束条件 3.每次进入更深一层递归时,问题规模相比上次递归都应有所减少 4. ...

  5. 让计算机等待的函数_第56p,装饰器,闭包函数的应用

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第56篇文章,第三阶段的课程:Python进阶知识:Python进阶知识:详细讲解Python中的函数(九)====> 函数的 ...

  6. 装饰器 and 闭包函数 未完。。。。。

    装饰器是一个返回函数的高阶函数.装饰器=高阶函数+函数嵌套+闭包 装饰器需要遵循的原则:不修改被装饰函数的源代码,不修改被装饰函数的调用方式. 高阶函数 1.函数接收的参数是一个函数名 2.函数的返回 ...

  7. python 基础(数据类型、运算符、流程控制、推导式、函数等...更新中)

    python基础 一.认识Python 1.python起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum),江湖人称"龟叔". 1991年,第一个Py ...

  8. python开发基础04-函数、递归、匿名函数、高阶函数、装饰器

    匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1):return x+y+z匿名 lambda x,y,z=1:x+y+z #与函数有 ...

  9. python基础-函数之装饰器、迭代器与生成器

    1. 函数嵌套 1.1 函数嵌套调用 函数的嵌套调用:在调用一个函数的过程中,又调用了其他函数 def bar():print("from in the bar.")def foo ...

最新文章

  1. php mysql emoji表情_php 让MySQL支持Emoji表情 mysql 5.5.3+
  2. opencv Canny边缘检测用法
  3. 小巫新闻客户端底部菜单切换实现
  4. so文件反编译_安卓攻防so模块自动化修复实战
  5. Java学习的5个阶段,助大家步步攀升
  6. linux mariadb 升级,linux mariadb
  7. java代码创建jar_Java 创建ZIP和JAR文件
  8. 东芝M300系列笔记本拆解图片教程 (跟自己电脑很像)
  9. 实现平衡二叉排序树的各种算法(包括二叉树的递归遍历、非递归遍历)
  10. IOS之xib计算cell的高度
  11. SoundPool详解
  12. c++编写断点续传和多线程下载模块【转】
  13. Beta冲刺第二周王者荣耀交流协会第三次会议
  14. python耗时方法_Python中统计函数运行耗时的方法
  15. 用友t6请先设置文件服务器,用友T6-餐饮管理软件标准版发版说明
  16. Kubeadm init报错解决
  17. 小白学习爬虫的第三天之数据解析bs4与pyQuery的使用
  18. c语言控制台数字键打地鼠,C语言编程打地鼠
  19. 一个生成公章图片的简易工具
  20. 生僻字用计算机怎么弹数字,抖音生僻字计算器乐谱完整版 抖音生僻字计算器数字简谱...

热门文章

  1. 青蛙豪华版内存地址修改无限流
  2. 关于VS2015安装(亲测)
  3. outlook2007 配置保留服务器邮件副本
  4. qq空间密码算法java_C#最新版QQ空间密码加密算法
  5. linux不清楚软件包名字,技术|Shilpa Nair 分享的 RedHat Linux 包管理方面的面试经验...
  6. 回顾系列3-刀塔传奇
  7. 现况调查的方法及种类
  8. mysql数据库tcl_MySQL数据库笔记三:数据查询语言(DQL)与事务控制语言(TCL)
  9. QQ超市模拟排配2D版1.171 (XNA4.0)
  10. html 反引号 用法,JavaScript中的反引号符号(`)的用法是什么?