python中各种函数的用法及注意事项(持续记录)

tomako123 / 2024-01-16 / 原文

比较函数

使用这个函数要先导入operator模块:

 ``import operator``


  常用的比较函数(> >= < <= == !=)依次在下列出
  operator.gt(a,b)
  operator.ge(a,b)
  operator.lt(a,b)
  operator.le(a,b)
  operator.eq(a,b)
  operator.ne(a,b)

直接赋值和使用copy函数的区别

  #!/usr/bin/python3
  
  a = {'user':'aooa','num':[1,2,3]}
  b = a
  c = a.copy()

  a['user']='root'
  a['num'].remove(1)
  print(a)
  print(b)
  print(c)

  输出结果:  
  {'user': 'root', 'num': [2, 3]}
  {'user': 'root', 'num': [2, 3]}
  {'user': 'aooa', 'num': [2, 3]}

  解析:这里涉及到一个直接赋值,浅拷贝和深拷贝的概念。  
       直接赋值相当于是直接引用原本的内容,原本内容修改之后被赋值的对象也会跟着修改内容。

       浅拷贝相当于新建了一个新的对象(父目录)但是对象中的子目录(内容)是引用。在这个例程中  
    a['user']='root'相当于是建立了一个具有新地址的a,更改了其中的字符串内容,后续的a都代指这  
    个新的,但是原本copy来的c的父目录也就是这个地址还是对应的原来的,所以里面的字符串还是对应 
    的原来的。后续的remove操作是在原本的a里面进行的,而子目录又是引用的原本的a,所以num更改了

        深拷贝就相当于完全复制了一个新的,不受原本那个对象变更的影响。