Don’t learn to code. Code to learn!
Введение в Python
- Python — Обзор
- Основы синтаксиса Python
- Операторы в Python
- Типы данных в Python
- Условные конструкторы в Python
- Циклы в Python
- Функции в Python
- Функциональное программирование в Python
- ООП в Python
- Модули в Python
- Работа с файлами в Python
- Обработка исключительных ситуаций в Python
Что такое оператор?
Говоря простым языком, в выражении 2 + 3, числа «2» и «3» называются операндами, знак «+» оператором. В языке программирования Python существуют следующие типы операторов:
- Арифметические операторы
- Операторы сравнения (реляционные)
- Операторы присваивания
- Побитовые операторы
- Логические операторы
- Операторы членства (Membership operators)
- Операторы тождественности (Identity operators)
Рассмотрим их по порядку.
Можно Ли Делать ИГРЫ на Python?
Арифметические операторы в Python:
15 + 5 в результате будет 20
20 + -3 в результате будет 17
13.4 + 7 в результате будет 20.4
Операторы сравнения в Python:
12 <> 5 в результате будет True. Похоже на оператор !=
Операторы присваивания в Python:
с = 5
а = 2
с += а равносильно: с = с + а. с будет равно 7
с = 5
а = 2
с -= а равносильно: с = с — а. с будет равно 3
с = 5
а = 2
с *= а равносильно: с = с * а. c будет равно 10
Побитовые операторы в Python:
Побитовые операторы предназначены для работы с данными в битовом (двоичном) формате. Предположим, что у нас есть два числа a = 60; и b = 13. В двоичном формате они будут иметь следующий вид:
И» оператор, копирует бит в результат только если бит присутствует в обоих операндах. | (a background-color: #2b5b84;»>| | Бинарный «ИЛИ» оператор копирует бит, если тот присутствует в хотя бы в одном операнде. | (a | b) даст нам 61, в двоичном формате 0011 1101 |
^ | Бинарный «Исключительное ИЛИ» оператор копирует бит только если бит присутствует в одном из операндов, но не в обоих сразу. | (a ^ b) даст нам 49, в двоичном формате 0011 0001 | |
~ | Бинарный комплиментарный оператор. Является унарным (то есть ему нужен только один операнд) меняет биты на обратные, там где была единица становиться ноль и наоборот. | (~a ) даст в результате -61, в двоичном формате выглядит 1100 0011. | |
Побитовый сдвиг влево. Значение левого операнда «сдвигается» влево на количество бит указанных в правом операнде. | a | ||
>> | Побитовый сдвиг вправо. Значение левого операнда «сдвигается» вправо на количество бит указанных в правом операнде. | a >> 2 даст 15, в двоичном формате 0000 1111 |
Что такое Python и почему вы захотите его изучить?
Логические операторы в Python:
True and True равно True.
True and False равно False.
False and True равно False.
False and False равно False.
Операторы членства в Python:
В добавок к перечисленным операторам, в Python присутствуют, так называмые, операторы членства, предназначенные для проверки на наличие элемента в составных типах данных, таких, как строки, списки, кортежи или словари:
in | Возвращает истину, если элемент присутствует в последовательности, иначе возвращает ложь. | «cad» in «cadillac» вернет True. 1 in [2,3,1,6] вернет True. «hi» in вернет True. 2 in вернет False (в словарях проверяется наличие в ключах, а не в значениях). |
not in | Возвращает истину если элемента нет в последовательности. | Результаты противоположны результатам оператора in. |
Операторы тождественности в Python:
Операторы тождественности сравнивают размещение двух объектов в памяти компьютера.
is | Возвращает истину, если оба операнда указывают на один объект. | x is y вернет истину, если id(x) будет равно id(y). |
is not | Возврашает ложь если оба операнда указывают на один объект. | x is not y, вернет истину если id(x) не равно id(y). |
Приоритет операторов в Python
В следующей таблице описан приоритет выполнения операторов в Python от наивысшего (выполняется в первую очередь) до наинизшего.
** | Возведение в степень |
~ + — | Комплиментарный оператор |
* / % // | Умножение, деление, деление по модулю, целочисленное деление. |
+ — | Сложение и вычитание. |
>> | Побитовый сдвиг вправо и побитовый сдвиг влево. |
И». | |
^ | | Бинарный «Исключительное ИЛИ» и бинарный «ИЛИ» |
>= | Операторы сравнения |
<> == != | Операторы равенства |
= %= /= //= -= += *= **= | Операторы присваивания |
is is not | Тождественные операторы |
in not in | Операторы членства |
not or and | Логические операторы |
- Пятнашки на Python
- Паттерны проектирования в Python
- Множествeнное наследование в Python
- Абстрактные классы в Python
- Сапер на Python
Источник: www.pythonicway.com
Какую роль играет xx в Python-программе, и чему должен быть равен XXX :
В каких точках программы необходимо выполнять acquire() и release() замка Z , чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z): global d1, d2 # 1 d1[(x, y)] = z # 2 d2[z] = (x, y) # 3 res = len(d2) # 4 return res
В каких точках программы необходимо выполнять acquire() и release() замка Z , чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z): global d # 1 d[(x, y)] = z # 2 res = len(d) # 3 return res
Имеется определение класса:
class Ex: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._lengthp = Ex(1, 2)
Какой из вариантов его применения не допустим в программах на Python, которые пользуются экземплярами класса Ex ?
Имеется определение класса:
class Line: def __init__(self, (x, y), (x1, y1)): self._b = (x, y) self._e = (x1, y1) def length(self): import math return math.sqrt((self._b[0]-self._e[0])**2 + (self._b[1]-self._e[1])**2) def begin(self): return self._b def end(self): return self._e l = Line((1, 2), (-1, 4))
Какие из вариантов его применения не допустимы в программах на Python, которые пользуются экземплярами класса Line ?
В каких точках программы необходимо выполнять acquire() и release() замка Z , чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x): # 1 fc = open(«file.txt», «w+») # 2 fc.write(x) # 3 fc.write(«n») # 4 fc.close() # 5
Источник: bazaintuit.ru
Програмирование на языке питон. Какие характеристики можно отнести к языку программирования Python
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 0.54 Mb.
Main Heading
- строка не используется
- (Правильный ответ) в качестве заглушки, чтобы в средствах визуального форматирования было видно, что форматируется
- содержит значение, на которое можно сослаться в другом месте документа
- в качестве имени переменной для макроподстановки
- готовит XML для красивого вывода
- исправляет XML, добавляя пропущенные теги
- убирает пробелы вокруг текста
- (Правильный ответ) сводит воедино все идущие подряд текстовые узлы
import threadingl = threading.RLock()def proc(nm, n=0): l.acquire() try: if n Имеется определение класса:
class Ex: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._lengthp = Ex(1, 2)
- print p.getlen()
- (Правильный ответ) print p.__len(1,2)
- print p.position
- array([1, 2, 4])
- (Правильный ответ) array([2, 3, 5])
- array([1, 2])
- array([2, 3])
- (Правильный ответ) итератор. Пользоваться можно так: for i in a: print i
- нет особого названия. Пользоваться можно так: print a.next()
- генератор. Пользоваться можно так: for i in a(): print i
- последовательность. Пользоваться можно так: print a[2]
- нельзя одновременно делать import и from-import
- только имена sre и compile
- (Правильный ответ) только имена re и compile
- имена sre, re и compile
- (Правильный ответ)
(‘http’, ‘google.com’, ‘/search’, ‘q=Python’, ‘1’) - (‘http’, ‘google.com’, ‘/search’, », ‘q=Python’, ‘1’)
- (‘http’, ‘google.com’, ‘search’, ‘q=Python’, ‘1’)
- (‘http://’, ‘google.com/’, ‘search?’, ‘q=Python#’, ‘1’)
def f(a, b, c=1, *p, **k):
- (Правильный ответ) f(1, 2, 3, 4)
- f()
- (Правильный ответ) f(1, 2, d=3, c=4)
- f(1, d=2, 3)
- (Правильный ответ) f(1, 2)
- (Правильный ответ) f(1, 2, d=3)
- для получения следующего набора записей результата запроса
- для получения следующей записи результата запроса
- для перехода к следующей записи результата запроса
- (Правильный ответ) для перехода к следующему набору записей результата запроса
- 1
- 3
- (Правильный ответ) 4
- 2
- dictutils
- (Правильный ответ) unittest
- profile
- pdb
- список кортежей
- набор функций
- (Правильный ответ) экземпляр класса РОРЗ
- кортеж
- (Правильный ответ)
- (Правильный ответ) PythonPostReadRequestHandler
- PythonFixupHandler
- PythonAuthenHandler
- PythonHandler
(0 Что будет выведено в результате выполнения сопоставления с регулярным выражением?
- (Правильный ответ) (», ‘aaa’, ‘b’)
- (‘aa’, ‘a’, ‘b’)
- (‘aa’, ‘a’, ‘bbb’)
- (‘a’, ‘aa’, ‘b’)
- [a]*?
- (Правильный ответ) a+b++
- (a+b+)+
- (?P (ac))
- пространства имен позволяют включать однотипные XML-документы друг в друга
- (Правильный ответ) для сочетания в одном документе XML с различными DTD
- пространства имен позволяют указывать опции для приложения, обрабатывающего XML
- для маркировки тегов с целью более удобного поиска
- виджет f должен занимать три ячейки, а не две (в нем кнопка и две полоски ввода)
- ошибок нет
- (Правильный ответ) метод delete текста не содержит позиций удаляемого текста
- функция transl() должна иметь аргумент
- шаблон для операции форматирования
- (Правильный ответ) шаблон, описывающий множество строк
- шаблон для поиска файлов в каталоге
- синтаксически правильное выражение на языке Python
- b1.pack(side=BOTTOM); b2.pack(side=BOTTOM)
- b1.pack(side=TOP); b2.pack(side=BOTTOM)
- (Правильныйответ)
b2.pack(side=BOTTOM); b1.pack(side=BOTTOM) - b1.pack(side=BOTTOM); b2.pack(side=TOP)
- для показа строки ввода на экране и ввода текста от пользователя
- для получения текста от пользователя
- для чтения строки со стандартного ввода
- (Правильный ответ) для обеспечения интернационализации программы
- itertools.izip()
- (Правильный ответ) itertools.starmap()
- itertools.imap()
- map(None, …)
- foaf
- rdf:RDF
- nick
- (Правильный ответ) http://xmlns.com/foaf/0.1/
- логистическое программирование
- (Правильный ответ) императивное программирование
- (Правильный ответ) структурный стиль
- (Правильный ответ) модульное программирование
- (Правильный ответ) да, возможно
- нет, не возникнет
- да, обязательно
- 3
- 1
- (Правильный ответ) 2
- можно, если они указаны DTD
- (Правильный ответ) можно
- нельзя
- можно, если указаны пространства имен
- в каталогах /Zigzag/Example и /Zigzag
- (Правильный ответ) в каталогах /Zigzag/Example, /Zigzag и /.
- только в каталоге /Zigzag/Example/
- в каталогах /, /Zigzag и /Zigzag/Example
- (Правильный ответ) Condition
- Event
- Timer
- Lock
- func.func_locals
- никак
- func.func_globals
- (Правильный ответ)
inspect.getargspec(func)
- (Правильный ответ) большинство кодировок, распространенных сегодня
- ASCII
- ASCII, Latin-1, UTF-8
- ASCII, Unicode
- метод, XXX равен instancemethod
- метод класса, XXX равен classmethod
- функция, XXX можно опустить
- (Правильный ответ) статический метод, XXX равен staticmethod
- (Правильный ответ) is_multipart()
- (Правильный ответ) get_main_type()
- get_payload()
- items()
- (Правильныйответ)
- объекту, соответствующему потоку, нужно давать отдельное имя
- потоки-потребители очереди запущены раньше потоков-производителей
- программа зависнет, так как производителей меньше, чем потребителей
- (Правильный ответ) ошибок нет
- =a 01.23 004=
- =c 1.23 004=
- =a 1.23 004=
- (Правильный ответ) =abc 1.23 004=
- (‘AB’, ‘BC’)a, b
- «AB», «BC»a, b
- (AB, BC)a, b
- (Правильный ответ) ABa, b BC
- =a 1 4=
- = a 1 4=
- (Правильный ответ) =a 1 4 =
- СУБД общего назначения
- поддержку CGI-сценариев
- (Правильный ответ) поддержку сценариев DTML
- (Правильный ответ) собственный web-сервер
- string.decode(u, ‘koi8-r’)
- (Правильный ответ) u.encode(‘koi8-r’)
- u.recode(‘unicode’, ‘koi8-r’)
- u.decode(‘koi8-r’)
- сетевому
- представления
- сеансовому
- транспортному
- (Правильный ответ) приложений
- никакие
- (Правильный ответ) только B и C
- только C
- A, B, C
- только A и C
Источник: topuch.com