Рython қателерімен танысу Рython-да ең жиі кездесетің қателіктерімен танысамыз.
Мәселе:
SyntaxError
- катесі
мысалы:
>>> a = input()
hello world
File "hello world" сөз тіркесін"hello world" сөз тіркесін, line 1
hello world
^
SyntaxError:
unexpected EOF while parsing
Себебі: сіз Python 2 бағдарламасын қостыңыз.
Шешімі: Python 3 бағдарламасын қосыңыз.
Немесе:
name = raw_input()
print name
қате:
File "hello world" сөз тіркесінa.py"hello world" сөз тіркесін, line
3
54
print name
^
SyntaxError:
invalid syntax
Себебі: Python-2
шешуі: Python-2 мен Python-3 айырмашылықтарын оқып шығып Python-3
бағдарламаны қайта жазыныз
дұрысы: name = input()
print(name)
Немесе:
код мысалы:
1 a =
5
2 if
a ==
5
3
print
(
'Ура!'
)
қате: File
"hello world" сөз тіркесінa.py"hello world" сөз тіркесін
, line
2
if
a ==
5
^
SyntaxError:
invalid syntax
себебі: қос нүкте ұмытылып кетті
дұрысы: a =
5
if
a ==
5
:
print
(
'Ура!'
)
Немесе:
код мысалы:
1 a = 5
2 if
a =
5
:
3 print
(
'Ура!'
)
қате:
File
"hello world" сөз тіркесінa.py"hello world" сөз тіркесін
, line
2
if
a =
5
^
SyntaxError:
invalid syntax
себебі: сіз теңдік белгісің қоюға ұмытып кетіпсіз
мысал шешуі:
a =
5
if
a ==
5
:
print
(
'Ура!'
)
мәселе:
TypeError
:
код мысалы:
>>>
a = input() +
5
8
55
Traceback (most recent call last):
File
"hello world" сөз тіркесін"hello world" сөз тіркесін
, line 1, in
TypeError
:
Can't convert 'int' object to str implicitly
себебі: номерді ж/е жолды қосуға болмайды
шешеуі: int() функциясын қолдана отырып санды жолға айналдырыңыз. Input()
функциясы әрқашан жолды қайтарады!
дұрысы:
>>>
a =
int
(
input
()) +
5 //
8
>>>
a // 13
Мәселе:
NameError: name ‘a’ is not defined.
Код мысалы:
print
(a)
Себебі: «а» айнымалысы жоқ.
Шешімі:
а =
10
print
(a)
Мәселе:
IndentationError:
expected an indented block.
Код мысалы:
a =
10
if
a >
0
:
print
(a)
Себебі: Шегініс қажет.
Шешуі:
a =
10
if
a >
0
:
print
(a)
Мәселе:
TabError:
Код мысалы:
a =
10
if
a >
0
:
print
(a)
print
(
'Ура!'
)
Қате:
File
"hello world" сөз тіркесінa.py"hello world" сөз тіркесін
, line
5
print
(
'Ура!'
)
^
TabError
: inconsistent use of tabs and spaces in indentation
56
Себебі: шегіністердегі бос орындар мен қойындыларды араластыру.
Шешімі:.
a =
10
if
a >
0
:
print
(a)
print
(
'Ура!'
)
Мәселе:
UnboundLocalError:
код мысалы:
def
f():
a +=
1
print
(a)
a =
10
f()
қате:
Traceback (most recent call last):
File "hello world" сөз тіркесін
a.py"hello world" сөз тіркесін
, line
7
, in
f()
File
"hello world" сөз тіркесінa.py"hello world" сөз тіркесін
, line
3
, in f
a +=
1
UnboundLocalError:
local variable 'a' referenced before assignment
қате себебі: сіз әлі жасалмаған жергілікті айнымалыға қол жеткізу әрекетін
жасамақшы болдыныз
шешуі:
def
f():
global a
a +=
1
print
(a)
a =
10
f()
Мәселе: бағдарлама орындалды, бірақ файлға ештеңе жазылмаған немесе толық
бәрі жазылмаған.
Код мысалы:
>>>
f =
open
(
'output.txt'
,
'w'
, encoding=
'utf-8'
)
>>>
f.write(
'bla'
) // 3
Себебі: файл жабылмаған, мәліметтердің бір бөлігі буферде қалуы мүмкін.
Шешімі:
>>>
f =
open
(
'output.txt'
,
'w'
, encoding=
'utf-8'
)
>>>
f.write(
'bla'
) // 3
>>> f.close()
57
Тест тапсырмалары 1 Келесі код не шығарады?
t = ( ( ) )
type (t)
A.
B.
C.
D. Type error
E.
02. IndexError қандай код шығарады
A. t = {1: 1, 2: 2} print (t[3])
B. t = {1: 1, 2: 2}t [3] = 0
C. t = [1,2, 3] print (t [3])
D. t = (1, 2, 3)t [3] = 3
E. t(3) +=1
03. Келесі код не шығарады?
t = (1, 2)
t = t * 3
print(t)
A. TypeError
B. [3, 6]
C. (1, 2, 1, 2, 1, 2)
D. (3, 6)
E. [(1, 2), (1, 2), (1, 2)]
04. Келесі код не шығарады?
58
set ([1, 2, 3, 3, 2, 1]) == {1, 2, 3, 2, 1}
A. False
B. True
C. TypeError
D. SyntaxError
E. RuntimeError
05. Қандай код қате бермейді:
A. t ={1, 2, 3}t.remove(4)
B. t ={1, 2, 3}t.discard(4)
C. t = {1, 2, 3}t.difference(4)
D. t = {1, 2, 3}t.difference_update(4)
E. t = {1, 2, 3}t.sub(4)
06. Келесі код не шығарады?
t = {1: 1, 2: 2, 3: 3}
t. values()
A. TypeError
B. dIct_values([1, 2, 3])
C. [1, 2, 3]
D. (1, 2, 3)
E. {1 , 2, 3}
08. Kелесі код не шығарады?
t = (0: 1, 1: 2, 2: 3}
any(t), all(t)
A. True, True
B. True, False
C. False, True
D. False, False
E. SyntaxError
09.КЕЛЕСІnternet және WEB-қосымшаларын бағдарламалау КОД НЕ ШЫҒАРАДЫ?
d = {i: i**2 for i in range(3)}
print(d[2])
A. 2
B. KeyError
C. SyntaxError
D. 4
E. TypeError
59
10. Келесі кодты орындағаннан кейін:
g = (i**2 for i in range(10))
A. type(g)-
B. type(g)-
C. type(g)-
D. type(g)-
E. type(g)-
11. Python тілі -:
A. динамикалық типтеу
B. статистикалық үлгілеу
C. үйректің түрленуі
D. функционалдық бағдарламалау парадигмасын қолдау
E. объектілі-бағытталған бағдарламалау парадигмасы қолдау
12. Объект құрғаннан кейін, әдіс автоматты түрде шақырылады:
A. __Init__
B. __str__
C. __new__
D. __del__
E. __repr__
13. MyClass класы берілсін:
class MyClass:
name = "hello world" сөз тіркесінno name"hello world" сөз тіркесін
def__init__( self, name) :
self. name = name
def print_name (self ) :
print (self . name)
Келесі кодты орындағаннан кейін
my_obj = MyClass ( "hello world" сөз тіркесінAlice"hello world" сөз тіркесін)
MyClass. name = "hello world" сөз тіркесінBob"hello world" сөз тіркесін
my_obj . print_name ()
A. no name
B. Alice
C. Bob
D. TypeError
E. RuntimeError
60
14. Операторды қайта жүктеу < класы үшін magic әдісін іске асыруға болады:
A._eq_(self, other)
B._ne_(self, other)
C._gt_(self, other)
D._It_(self, other)
E. _ge_(self, other)
15. Операторды қайта жүктеу // класы үшін magic әдісін іске асыруға болады:
A. _add_(self, other)
B. _sub_(self, other)
C. _muI_(self, other)
D. _div_(self, other)
E. _floordiv_(self, other)