一、集合数据类型(set):无序不重复的集合,交集、并集等功能

二、三元运算符

三、深浅拷贝

1)字符串和数字:深浅内存地址都一样

2)其他:浅拷贝:仅复制最外面第一层

  • 深拷贝:除了最内层其他均拷贝

四、函数:

1)创建:def 函数名(参数)

2)返回值

  • return 返回值,如果不指定return则默认返回None
  • 一旦遇到return后面的代码不再执行

3)参数

  • 形参、实参
  • 普通参数数量要一致并且一一对应
  • 指定参数,执行参数的时候指定形参=实参
  • 指定参数的默认值,默认值一定要放在参数的尾部
  • 动态参数  *args  **args,调用的时候可以使用*实参列表,这样相当于循环实参加入元组,**字典,可以直接传输字典不需要(key1=123,key2=456)
def f1(*args):
print(args) f1(11,22,33)
#打印:(11, 22, 33)
def f1(**kwargs):
print(kwargs) f1(k1=11,k2=22)
#打印输出:{'k1': 11, 'k2': 22}
def f1(*args,**kwargs):
print(args,kwargs) f1(11,22,33,k1=11,k2=22)
#打印输出:(11, 22, 33) {'k1': 11, 'k2': 22}
def f1(n,*args,**kwargs):
print(n,args,kwargs) f1(11,22,33,k1=11,k2=22)
#打印输出:11 (22, 33) {'k1': 11, 'k2': 22}
def f1(*args):
print(args) n = [11,22,33]
f1(n)
#打印输出:([11, 22, 33],)
f1(*n)
#打印输出:(11, 22, 33)
def f1(**kwargs):
print(kwargs) n = {"k1":11,"k2":22}
#f1(n)
#报错
f1(**n)
#打印输出:{'k1': 11, 'k2': 22}

4)在python中传参数时,对列表、元组、字典类型传输的是引用

 def func1(args):
args.append() li = [,,]
func1(li)
print(li) #输出[, , , ]

五、局部变量和全部变量

1)全局变量用大写,局部变量用小写

2)全局变量在函数内部可以使用,但不能修改,如果要修改,那么要加global 变量名

name='张三'
def f1():
name="李四" #不会修改全局变量,会在函数内部新建一个变量
return(name) def f2():
return ("我的名字是" + name) #可以使用全局变量 def f3():
global name #加上global之后下面可以修改全局变量的值,加上global后相当于把name变成全局变量,如果外层没有name则声明全局变量name,如果有则引入全局变量name
name = "王五"
return name print(f1()) #李四
print(f2()) #我的名字是张三
print(f3()) #王五
def func1():
a = 10
def func2():
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 10
def func1():
a = 10
def func2():
nonlocal a #不作为局部变量,向上层找,但不能超出局部变量范围,不会找到全局变量
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 20

函数:globals() 打印全局变量

locals() 打印局部变量 ,放在全局打印的与globals一样,放在函数内则只打印函数内部的变量

六、判断是某个实例属于哪个类

st = 'abdc'
#第二个参数可以是元组,例如判断st是字符串或字典或列表,
#则可以写为:bol = isinstance(st,(str,dict,list)
bol = isinstance(st,str)
print(bol) #返回True,说明st是字符串类型
def func1():
a = 10
def func2():
nonlocal a #不作为局部变量,向上层找
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 20

最新文章

  1. Atitit.redis操作总结
  2. MFC之进度条CProgressCtrl
  3. 练习sql语句的好去处——http://www.sqlzoo.cn/
  4. Codevs 1021 (玛丽卡)
  5. JavaScript的运动框架学习总结
  6. 在Xcode中想要清屏该怎么实现
  7. [转]利于ThreadLocal管理Hibernate Session
  8. jquery ajax清除缓存的方法
  9. Professional iOS Network Programming Connecting the Enterprise to the iPhone and iPad
  10. java异常面试常见题目
  11. 什么是内存泄漏?(What is a memory leak?)
  12. 解决React通过ajax加载数据更新页面不加判断会报错的问题
  13. pytorch:修改预训练模型
  14. SNF快速开发平台2018-移动端代码生成器已发布
  15. python中matplotlib的颜色及线条控制
  16. laravel的启动过程---摘自网络博客个人学习之用
  17. mybatis四大接口之 ResultSetHandler
  18. Python提示信息表示内容
  19. ffmpeg Win8移植记(一)
  20. IT路上的应该注意自我规划 学习规划与自我修炼

热门文章

  1. Delphi版俄罗斯方块-前奏
  2. Delphi-DLL远程注入
  3. java基础之Math类
  4. python 之 字符串处理
  5. elasticsearch query 和 filter 的区别
  6. CentOS使用rpm离线安装mariadb
  7. 廖雪峰Java10加密与安全-4加密算法-4密钥交换算法
  8. springcloud之配置中心用法
  9. 【bzoj2120】数颜色 带修莫队
  10. webpack 处理图片文件