GVKun编程网logo

为什么2 .__ add __(3)在Python中不起作用?(python中add用法)

26

在本文中,我们将为您详细介绍为什么2.__add__的相关知识,并且为您解答关于3在Python中不起作用?的疑问,此外,我们还会提供一些关于arr.__len__()是在Python中获取数组长度的

在本文中,我们将为您详细介绍为什么2 .__ add __的相关知识,并且为您解答关于3在Python中不起作用?的疑问,此外,我们还会提供一些关于arr .__ len __()是在Python中获取数组长度的首选方法吗?、Kivy Image.reload()在python 3中不起作用、module .__ init __()在Python中最多接受2个参数错误、python __str__和__unicode__ 作用是什么?有何用?的有用信息。

本文目录一览:

为什么2 .__ add __(3)在Python中不起作用?(python中add用法)

为什么2 .__ add __(3)在Python中不起作用?(python中add用法)

整数2有一个__add__方法:

>>> "__add__" in dir(2)True

…但是调用它会引发SyntaxError:

>>> 2.__add__(3)  File "<stdin>", line 1    2.__add__(3)            ^SyntaxError: invalid syntax

为什么不能使用该__add__方法?

答案1

小编典典

2.被解析为浮点数,2.__add__SyntaxError也被解析。

您可以评估

(2).__add__(3) 代替。


In [254]: (2).__add__(3)Out[254]: 5

arr .__ len __()是在Python中获取数组长度的首选方法吗?

arr .__ len __()是在Python中获取数组长度的首选方法吗?

在Python中,以下是获取元素数量的唯一方法吗?

arr.__len__()

如果是这样,为什么会有奇怪的语法?

Kivy Image.reload()在python 3中不起作用

Kivy Image.reload()在python 3中不起作用

如何解决Kivy Image.reload()在python 3中不起作用?

我是python的新手,并且使用kivy创建图形用户界面。 我会在代码中突出显示细节,如果必须完整,请写信给你。

#main.py - import all requied
class AlapWidget(StackLayout):
    pass

class GUIApp(App):
    def build (self):
        self.load_kv(".\\KVfiles\\0.2.kv")
        return AlapWidget()


def AppLoop(*args):
    win_ref = Window.get_parent_window().children[0]
    print(''AppLoop'')
    i=0
    i=random.random()
    fotowrite("value of i: "+str(i)) #here write to image,and save in HDD
    img = cv2.imread(''blue2.jpg'',cv2.IMREAD_UNCHANGED) 
    win_ref.ids.imgm.reload()
val1=None
Clock.schedule_interval(partial(AppLoop,''val1''),1)

GUIApp().run()

和基维文件:

<AlapWidget>:
BoxLayout:                  
    orientation:''vertical''
    size_hint:0.55,0.45
    Image:
        id:imgm
        nocache:True
        source:''blue2.jpg'' #load in disk
        size: self.texture_size
        allow_stretch:True
        keep_ratio:1

所以,我没有得到错误,但是没有更新图像。 代码中的逻辑是,有一个图像,然后用图像文本编写,我想重新加载显示中的图像。

对不起,我只会说一点英语,我是初级开发人员。

感谢帮助:) 再见

编辑: 这可能会运行: main.py

import numpy as np
import cv2
from PIL import Image as IMG
from PIL import ImageDraw,ImageFont
import random

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder
from kivy.uix.stacklayout import StackLayout
from kivy.uix.Boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.uix.slider import Slider
from kivy.uix.switch import Switch
from kivy.base import EventLoopBase
from kivy.clock import Clock
from functools import partial
from kivy.core.window import Window
Builder.load_file(''kivy.kv'')

def fotowrite(message):
    image = IMG.open(''blue.jpg'')

    font = ImageFont.truetype(''Roboto.ttf'',size=20) 
    draw = ImageDraw.Draw(image)
    #message = """    """ #datat of write
    color = ''rgb(0,255,0)'' #rgb color
    draw.text((0,0),message,fill=color,font=font) #erite
    image.save(''blue2.jpg'') 



class AlapWidget(StackLayout):
    pass

class GUIApp(App):
    def build (self):
        self.load_kv("kivy.kv")
        return AlapWidget()


def AppLoop(*args):
    win_ref = Window.get_parent_window().children[0]
    print(''AppLoop'')
    i=0
    i=random.random()
    fotowrite("value of i: "+str(i)) #here write to image,1)

GUIApp().run()

kivy.kv

<AlapWidget>:
    BoxLayout:                  
        orientation:''vertical''
        size_hint:0.55,0.45
        Image:
            id:imgm
            nocache:True
            source:''blue2.jpg'' #load in disk
            size: self.texture_size
            allow_stretch:True
            keep_ratio:1

第二张照片重新加载,但第一张照片没有重新加载。在我的complate代码中,第一个可见。为什么?为什么在这里有两个图像?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

module .__ init __()在Python中最多接受2个参数错误

module .__ init __()在Python中最多接受2个参数错误

我有3个文件,factory_imagenet.py,imdb.py和imagenet.py

factory_imagenet.py具有:

import datasets.imagenet

它也有一个函数调用

datasets.imagenet.imagenet(split,devkit_path))
...

imdb.py具有:

class imdb(object):
def __init__(self,name):
    self._name = name
    ...

imagenet.py具有:

import datasets
import datasets.imagenet
import datasets.imdb

它也有

class imagenet(datasets.imdb):
    def __init__(self,image_set,devkit_path=None):
        datasets.imdb.__init__(self,image_set)

所有这三个文件都在数据集文件夹中。

当我运行与这些文件交互的另一个脚本时,出现此错误:

Traceback (most recent call last):
  File "./tools/train_faster_rcnn_alt_opt.py",line 19,in <module>
    from datasets.factory_imagenet import get_imdb
  File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/factory_imagenet.py",line 12,in <module>
    import datasets.imagenet
  File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/imagenet.py",line 21,in <module>
    class imagenet(datasets.imdb):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)

这是什么问题,如何解决此类继承问题的直观解释是什么?

python __str__和__unicode__ 作用是什么?有何用?

python __str__和__unicode__ 作用是什么?有何用?

两则区别:

    __str__()             python2,它返回字节。python3返回的是字符

    __unicode__()    python3中被弃用

__unicode__

    python2 

    用于实现内建的unicode()调用;应该返回一个Unicode对象。当该方法没有定义时,则尝试使用字符串转换,并且将字符串转换的结果,使用系统默认的编码转换为Unicode。

    在python2由于兼容性问题,应该将所有的字符串格式化__unicode__(),并创建一个存根__str__()方法:

def __str__(self):
    return unicode(self).encode('utf-8')

    python3

    在Python 3 上,因为所有的字段都原生被认为是Unicode,只需使用__str__() 方法(__unicode__() 方法被废弃)

ptyhon2参考资料:http://usyiyi.cn/translate/python_278/reference/datamodel.html#objects-values-and-types

__str__

     在python2中返回的是ASCII字符

     在python3总返回的是unicode字符,因为python3默认为unicode类型

代码示例:

class Test:

    def __init__(self, name, job):
        self.name = name
        self.job = job  
		
	def __str__(self):
        return 'Name:' + self.name
        
instance = Test('xiaoming', 'Teacher')
print(instance)

同时兼用python2和python3方法

使用python_2_unicode_compatible装饰器

代码示例:

#! /usr/bin/env python

from future.utils import python_2_unicode_compatible
from sys import version_info

@python_2_unicode_compatible
class SomeClass():
    def __str__(self):
        return "Called __str__"


if __name__ == "__main__":
    some_inst = SomeClass()
    print(some_inst)
    if (version_info > (3,0)):
        print("Python 3 does not support unicode()")
    else:
        print(unicode(some_inst))

django相关资料:

参考资料:http://python.usyiyi.cn/translate/django_182/ref/models/instances.html


我们今天的关于为什么2 .__ add __3在Python中不起作用?的分享已经告一段落,感谢您的关注,如果您想了解更多关于arr .__ len __()是在Python中获取数组长度的首选方法吗?、Kivy Image.reload()在python 3中不起作用、module .__ init __()在Python中最多接受2个参数错误、python __str__和__unicode__ 作用是什么?有何用?的相关信息,请在本站查询。

本文标签: