• python 对比学习


    python和java面向对象的不同

    1.属性和方法

    java中类的属性(static)除外,对象全部独立拥有;

    而python中类的属性,其实例对象一个字段都没有.底层是这么搞的: 对象object获取属性时,如果自己没有并不报错,而是去类中找,找不到才报错.

    方法和java一样,普通的方法是对象的,要申明为类的静态方法必须使用@classmethod来表示是类的静态变量

    2.构造方法:

    java可以有多个,更加参数的多少决定

    而python没有方法重载,故没有多个构造方法

    一。小知识点:

    1.python没有contains,使用find返回查到的元素的位置(只查一个符合的)

    2.python的数组和集合添加元素不是add,使用append(快速构建list可是使用range(10) = [0,1,2,3,4,5,6,7,8,9])

    3.python的set添加元素add,删除元素remove(和java一样)

    4.fn(*x) x表示一个tuple; 而 fn(**x) x表示一个字典,而且对该字典you要求,key必须为str,同时fn(**x)还有个特殊写法,直接给x=xxx,y=xxx,简直太牛逼了。

    5.高阶函数一般用这种log('info'),包含了一个参数的装饰器。 首先不带参数的装饰器(2阶即可):

    第一阶:修饰的形参函数, 第二阶:函数的参数

    def log1(fn): #fn:装饰的函数
      def wapper(*args,**kw): #fn的参数
        print 'log1日志:'
        return fn(*args, **kw)
       return wapper

    @log1
    def mytest(**kw):
      sys.stdout.write('mytest函数执行,参数为:')
      for x,y in kw.items():
      sys.stdout.write(str(x) + ':' + str(y) + ', ')

    但是如果包含了参数的,则需要三阶。  第一阶:装饰器所带参数作为形参,第二阶:修饰的形参函数, 第三阶:函数的参数

    def log(txt):#一阶txt是自己的参数
      def wapper(fn): #二阶这里拿到装饰函数的形参fn
        def wapper2(*args,**kw): #三阶拿到装饰函数的参数
          sys.stdout.write(txt+'级别日志:')
          return fn(*args, **kw)
        return wapper2
      return wapper

    @log('info')
    def test(**kw):
      sys.stdout.write('test函数执行,参数为:')
      for x,y in kw.items():
        sys.stdout.write(str(x) + ':' + str(y) + ', ')

    test(x=1,y=2)

    6.django总update和insert都可以通过save方法实现,到底是insert还是update,默认通过主键是否有值来判断。 如果我们确认只需要insert,则使用 对象.save(force_insert=true,using='哪个数据库');

    如果我们确认只需要update,则使用 对象.save(force_update=True,update_fields=['aaa','bbb'])

  • 相关阅读:
    每日站立会议(八)
    第八周学习进度
    每日站立会议(七)
    Failed to get convolution algorithm. This is probably because cuDNN failed to initialize
    Ubuntu系统tensorflow-gpu版本配置
    二值图片批量阈值处理
    提取文件中的每一个mask,并将mask命名为文件名字
    python对图片批量命名
    Win10系统下安装labelme,json文件批量转化
    Win10,Anaconda,tensorflow-gpu安装教程
  • 原文地址:https://www.cnblogs.com/yanjunwu/p/10580455.html
Copyright © 2020-2023  润新知