私信  •  关注

Mahmoud Elshahat

Mahmoud Elshahat 最近创建的主题
Mahmoud Elshahat 最近回复了
7 年前
回复了 Mahmoud Elshahat 创建的主题 » python中的字符串搜索-两个列表

对于您的具体要求:

a = ['abcbdefcd'] 
t = ['ab', 'abc', 'def', 'cd', 'abcd']

for text in t:
    print(text in a[0])

输出:

True
True
True
True
False

  1. 用小写字母命名变量
  2. 您可以使用t='abcbdefcd'而不是t=['abcbdefcd'],并且代码将 if text in t 而不是 if text in t[0]
7 年前
回复了 Mahmoud Elshahat 创建的主题 » python属性设置器如何进行多级设置?

向类中添加print()将显示行为,调用 b.a.x = 1 将使x.setter在一个负责的类中,而不是b类中的a.setter

例子:

class A(object)
    .
    .
    @x.setter
    def x(self, value):
        print('x.setter acting')
        self._x = value


class B(object):
    .
    .
    @a.setter
    def a(self, value):
        print('a.setter acting')  # adding print 
        if isinstance(value, A):
            self._a = deepcopy(value)
        elif isinstance(value, tuple):
            self._a = A(value[0], value[1])
        elif isinstance(value, int):
            # ?           
            pass

b = B()
b.a.x = 1 # x.setter will be in charge not a.setter

输出:

x.setter acting

如果您希望由.setter负责,您可以:

class B(object):
        .
        .
        @a.setter
        def a(self, value):
            print('a.setter acting')  # adding print 
            if isinstance(value, A):
                self._a = deepcopy(value)
            elif isinstance(value, tuple):
                self._a = A(value[0], value[1])
            elif isinstance(value, int):
                # ?           
                self._a.x = value

b = B()
b.a = 1 # a.setter will be in charge

输出:

a.setter acting
7 年前
回复了 Mahmoud Elshahat 创建的主题 » 如何修复被函数阻塞的python脚本,即使认为它是多线程的

这里有一个问题,在“threading.thread”中,“target”参数应该是函数名,不要在函数后加括号,只需加上函数名:

把这些换掉

tt = threading.Thread(target = clock(), name = "Clock Thread")
tt.start()

bdt = threading.Thread(target = login(), name = "Backdoor Thread")
bdt.start()

到:

tt = threading.Thread(target = clock, name = "Clock Thread")
tt.start()

bdt = threading.Thread(target = login, name = "Backdoor Thread")
bdt.start()