zoukankan      html  css  js  c++  java
  • Python随笔

    • 三元操作符:

    def reveal():
      return 1 if 2 == 1 else 0
    
    返回的值是0
    
    def reveal():
    
      return 1 if  1== 1 else 0
    
    返回的值是1  
    • 元组:

    封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)

    •  字典:

    字典是可哈希的,因此里面的相同的值是被覆盖掉的,因为根据Key通过哈希函数计算出来的地址是相同的,所以相同的地址下的值会被覆盖。且通过哈希函数计算的地址不可能是按顺序排放的,所以集合强调是无序的。另外,list没有支持__hash__方法,所以不能将列表作为Key。

    1. dict.setdufault(key,value):当 key不存在的时候,添加key并返回设置的默认值。当key存在的时候,并不会改变对应的value的值,并且返回这个值。

    2. 字典和变量的关系:给某个变量赋值时候,实际上是将变量和值以(__dict__)里的KEY和VALUE的形式存储在字典当中(参见__setattr__方法)。

    3.  1 list1=[1,2]
       2 list2=[3,4]
       3 dict1={'1':list1,'2':list2}
       4 dict2 = dict1          # 浅拷贝: 引用对象
       5 dict3 = dict1.copy()   # 浅拷贝:拷贝第一级目录,但对二级目录还是引用
       6 >>>dict1['1'][0]=3
       7 >>>dict3['1'][0]#访问字典的第二级目录,发生了改变
       8 3
       9 >>>dict1['1']=[123]
      10 >>>dict3['1']#访问第一级目录,没有发生改变
      11 [1,2]

      字典中copy()方法只是对第一级目录的拷贝,但是相对于第二级目录仍然是引用。

    •  __getattr__()和__getattribute__()比较:

    当访问实例对象的动态属性时,先调用__getattribute__方法,然后调用__getattr__方法。当访问不存在的实例对象的动态属性时,直接调用__getattr__方法。

    • 查看函数相关用法:

    1. 使用dir()函数可以查询到该模块定义了哪些变量、函数和类。
    2. 但并不是所有这些名字对我们都有用,所以要过滤掉一些不需要的东西。你可以留意到这里有个__ all__属性,事实是它就是帮助我们完成一个过滤的操作。
    3. 第一,不是所以的模块都有__ all__属性;第二,如果一个模块设置了__ all__属性,那么使用“ from timeit import * ” 这样的形式导入命名空间,就只有__ all__属性这个列表里边的名字才会被导入。其他的名字不受影响。
    4. 另外还有一个叫作__ file__的属性,这个属性指明了该模块的源代码的位置。
  • 相关阅读:
    02-print的用法
    01-Hello World
    01-查看系统整体性能情况:sar
    03-购物车
    Python之路,Day2
    02-三级菜单
    Python之路,Day1
    loadrunner中配置java脚本环境
    算法
    实现testNg的retry机制
  • 原文地址:https://www.cnblogs.com/xsy123/p/12294804.html
Copyright © 2011-2022 走看看