美文网首页
2019-09-27

2019-09-27

作者: 一介书生_1861 | 来源:发表于2019-09-27 13:28 被阅读0次

    列编辑模式

    Alt+鼠标左键选择多列

    等号赋值内存原理,值传递和址传递?

    每次给变量赋值时,都会产生一个新的地址空间,将新内容的地址赋值给变量,但是对于相同的值,地址不发生变化。
    对复杂的数据类型(列表、元祖、字典),如果添加某一项元素,或者添加几个元素,不会改变其本身的地址,只会改变其内部元素的地址引用,但是如果对其重新赋值时,就会重新赋予地址覆盖就地址,这时地址就会发生改变。

    id()

    id函数(python的内置函数,用来查看对象的身份,也就是内存地址)

    列表生成式

    根据已存在的可迭代对象推导出一个新的list。

    a = [1, 2, 3, 4]
    a = [x * 2 for x in range(5)]  # 列表生成式
    print(a)
    

    结果:[0, 2, 4, 6, 8]

    a = [
        [1, 2, 3, 4],
        [3, 4, 3, 4],
        [5, 6, 3, 4]
    ]
    a = [x[:2] for x in a]  # for x in a表示元素x来自a
    print(a)
    

    结果:[[1, 2], [3, 4], [5, 6]]

    匿名函数,高阶函数,装饰器

    1.匿名函数不用def来定义,使用lambda关键字
    声明匿名函数add():add = lambda a,b:a+b
    调用add: add(10,20)
    匿名函数有参数,只能返回一个表达式的值,不能直接调用print()函数
    2.装饰器,装饰器就是用闭包实现的
    闭包特点:外部函数包含内部函数、外部函数的返回值是内部函数本身、内部函数使用了外部函数的局部变量。

    def f1(fff):  
        def f2():
            print('内部函数') # 验证用的代码
            fff()
        return f2
    @f1  # 装饰器,等同于f3=f1(f3)将f3作为参数传入f1,里面的fff变成了f3,先执行了f2输出print,然后再调用f3
    def f3():
        print(111)
    f3()
    

    操作符优先级

    1.算术运算符:加+,减 -,乘 *,除 / ,取模%(求余),取整除 //(求商),幂 **

    2.比较运算符:大于 >,小于 <,等于 ==,小于等于 <=,大于等于 >=,不等于 != 计算结果是TRUE和FALSE

    3.赋值运算符:等于 =,加等于+=,减等于-=,乘等于=,/=,%=,//=,*=,
    4.位运算符:<<(左移), >>(右移), ~(取反), &(与), | (或),^(异或)
    5.逻辑运算符:逻辑与and,逻辑或or,逻辑非not

    6.成员运算符:in ,not in,.

    7.身份运算符:is,is not

    优先级

    逻辑运算符<成员运算符<身份运算符<比较运算符<位运算符<算术运算符<正负号<幂运算

    类继承,self理解,静态方法

    1.当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。多重继承: 一个子类具备多个父类的特征
    2.self是当前对象。
    3.静态方法 static:静态的意思是一直存在在内存当中,可以随时调用,全局的,不会动态新生成和销毁。类中的静态方法不需要实例化就可以随时调用。

    相关文章

      网友评论

          本文标题:2019-09-27

          本文链接:https://www.haomeiwen.com/subject/nxoouctx.html