2016-09-01 2 views
-4
def CsMatrix(X not None): 

Я встречаю этот фрагмент кода. Для X нет None, я не встречал такого рода синтаксис? Поэтому я пишу свой тестовый код:Определение функции Python

def test(x not None): 

    pass 

Однако у меня есть синтаксис SyntaxError: invalid. Может ли кто-нибудь объяснить этот синтаксис?

+1

Это не действительный синтаксис ... –

+1

Это не действительный Python. –

+7

Где вы встречали его? Если бы это было в баре, возможно, программист был пьян. – Barmar

ответ

0

Вы не можете этого сделать. Что вы можете сделать, это

def test(x): 
    if x is None: 
     return 
    ... # All the further actions with x 
0

Это не действительный синтаксис ни для python 2.x ни python 3.x, может быть, вы не хотели, чтобы объявить функцию со значением None по умолчанию, что-то вроде этого:

def CsMatrix(X = None): 
    if X is None: 
     print("Yeah, I'm None") 

CsMatrix() 
0
def CsMatrix(X not None): 
    pass 

ли возможно, вы неправильно прочитали его? Определенно недействительно ... Если у вас есть ссылка на сайт, где вы его видели, не могли бы вы его опубликовать?

Вы также сказали: «For x not None» подразумевает, что он может использоваться и в цикле for? Это также будет плохой синтаксис. Вы можете (как это было предложено) установить значение по умолчанию для «х», в данном случае «None»

def test(x = None): 
    if x is None: 
     print "Nothing was passed to this function!" 
    elif x not None: 
     print "The function received: ", x 
    else: 
     print "There's no way this should ever print" 
Смежные вопросы