Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вывод результатов работы программы

Поиск

print("Строка 1")

print("Строка 2")

 

 

print("Строка 1", "Строка 2")

 

 

print("Строка1", "Строка2", sep="")

 

 

print("Строка 1", "Строка 2", end=" ")

print("Строка 3")

# Выведет: Строка 1 Строка 2 Строка 3

 

 

for n in range(1, 5):

print(n, end=" ")

print()

print("Это текст на новой строке")

 

 

print("""Строка 1

Строка 2

Строка 3""")

 

 

import sys # Подключаем модуль sys

sys.stdout.write("Строка") # Выводим строку

 

 

import sys

sys.stdout.write("Строка 1\n")

sys.stdout.write("Строка 2")

Ввод данных

Листинг 1.9. Пример использования функции input()

# -*- coding: utf-8 -*-

name = input("Введите ваше имя: ")

print("Привет,", name)

input("Нажмите <Enter> для закрытия окна")

 

 

try:

s = input("Введите данные: ")

print(s)

except EOFError:

print("Обработали исключение EOFError")

 

 

# -*- coding: utf-8 -*-

result = eval(input("Введите инструкцию: ")) # Вводим: 2 + 2

print("Результат:", result) # Выведет: 4

input()

 

Листинг 1.10. Получение данных из командной строки

# -*- coding: utf-8 -*-

import sys

arr = sys.argv[:]

for n in arr:

print(n)

 

 

cd C:\book

 

 

C:\Python34\python.exe test3.py -uNik -p123

Доступ к документации

>>> help(input)

 

 

>>> import builtins

>>> help(builtins)

 

 

# -*- coding: utf-8 -*-

""" Это описание нашего модуля """

def func():

""" Это описание функции"""

pass

 

 

# -*- coding: utf-8 -*-

import test4 # Подключаем файл test4.py

help(test4)

 

 

# -*- coding: utf-8 -*-

import test4 # Подключаем файл test4.py

print(test4.__doc__)

print(test4.func.__doc__)

 

 

>>> print(input.__doc__)

 

 

# -*- coding: utf-8 -*-

import test4 # Подключаем файл test4.py

print(dir(test4))

 

 

>>> import builtins

>>> print(dir(builtins))

 

 

# -*- coding: utf-8 -*-

import test4 # Подключаем файл test4.py

print(dir())

Переменные

Именование переменных

Листинг 2.1. Список всех ключевых слов

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue',

'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',

'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',

'try', 'while', 'with', 'yield']

 

Листинг 2.2. Ошибочное переопределение встроенных идентификаторов

>>> help(abs)

Help on built-in function abs in module builtins:

 

abs(...)

abs(number) -> number

 

Return the absolute value of the argument.

 

>>> help = 10

>>> help

>>> help(abs)

Traceback (most recent call last):

File "<pyshell#5>", line 1, in <module>

help(abs)

TypeError: 'int' object is not callable

 

Листинг 2.3. Получение списка встроенных идентификаторов

>>> import builtins

>>> dir(builtins)

 

 

>>> ИмяПеременной = 10 # Лучше так не делать!!!

>>> ИмяПеременной

 

 

>>> x = 10; X = 20

>>> x, X

(10, 20)

Типы данных

>>> type(True), type(False)

(<class 'bool'>, <class 'bool'>)

>>> int(True), int(False)

(1, 0)

 

 

>>> type(None)

<class 'NoneType'>

 

 

>>> bool(None)

False

 

 

>>> type(2147483647), type(999999999999999999999999)

(<class 'int'>, <class 'int'>)

 

 

>>> type(5.1), type(8.5e-3)

(<class 'float'>, <class 'float'>)

 

 

>>> type(2+2j)

<class 'complex'>

 

 

>>> type("Строка")

<class 'str'>

 

 

>>> type(bytes("Строка", "utf-8"))

<class 'bytes'>

 

 

>>> type(bytearray("Строка", "utf-8"))

<class 'bytearray'>

 

 

>>> type([1, 2, 3])

<class 'list'>

 

 

>>> type((1, 2, 3))

<class 'tuple'>

 

 

>>> type(range(1, 10))

<class 'range'>

 

 

>>> type({"x": 5, "y": 20})

<class 'dict'>

 

 

>>> type({"a", "b", "c"})

<class 'set'>

 

 

>>> type(frozenset(["a", "b", "c"]))

<class 'frozenset'>

 

 

>>> type(...),...,... is Ellipsis

(<class 'ellipsis'>, Ellipsis, True)

>>> class C():

def __getitem__(self, obj): return obj

 

>>> c = C()

>>> c[..., 1:5, 0:9:1, 0]

(Ellipsis, slice(1, 5, None), slice(0, 9, 1), 0)

 

 

>>> def func(): pass

 

>>> type(func)

<class 'function'>

 

 

>>> import sys

>>> type(sys)

<class 'module'>

 

 

>>> class C: pass

 

>>> type(C)

<class 'type'>

>>> type(type(""))

<class 'type'>

 

 

>>> arr = [1, 2, 3]

>>> arr[0] = 0 # Изменяем первый элемент списка

>>> arr

[0, 2, 3]

 

 

>>> str1 = "авто"

>>> str2 = "транспорт"

>>> str3 = str1 + str2 # Конкатенация

>>> print(str3)

автотранспорт

 

 

>>> arr = [1, 2]

>>> i = iter(arr)

>>> i.__next__() # Метод __next__()

>>> next(i) # Функция next()

 

 

>>> d = {"x": 1, "y": 2}

>>> i = iter(d)

>>> i.__next__() # Возвращается ключ

'y'

>>> d[i.__next__()] # Получаем значение по ключу

 

 

>>> for i in [1, 2]:

print(i)

 

 

>>> for i in "Строка":

print(i + " -", end=" ")

 

 

>>> d = {"x": 1, "y": 2}

>>> for key in d:

print(d[key])

Присваивание значения переменным

>>> x = 7 # Тип int

>>> y = 7.8 # Тип float

>>> s1 = "Строка" # Переменной s1 присвоено значение Строка

>>> s2 = 'Строка' # Переменной s2 также присвоено значение Строка

>>> b = True # Переменной b присвоено логическое значение True

 

 

>>> x = y = 10

>>> x, y

(10, 10)

 

 

>>> x = y = [1, 2] # Якобы создали два объекта

>>> x, y

([1, 2], [1, 2])

 

 

>>> y[1] = 100 # Изменяем второй элемент

>>> x, y

([1, 100], [1, 100])

 

 

>>> x = [1, 2]

>>> y = [1, 2]

>>> y[1] = 100 # Изменяем второй элемент

>>> x, y

([1, 2], [1, 100])

 

 

>>> x = y = [1, 2] # Один объект

>>> x is y

True

>>> x = [1, 2] # Разные объекты

>>> y = [1, 2] # Разные объекты

>>> x is y

False

 

 

>>> x = 2; y = 2; z = 2

>>> x is y, y is z

(True, True)

 

 

>>> import sys # Подключаем модуль sys

>>> sys.getrefcount(2)

 

 

>>> x, y, z = 1, 2, 3

>>> x, y, z

(1, 2, 3)

 

 

>>> x, y = 1, 2; x, y

(1, 2)

>>> x, y = y, x; x, y

(2, 1)

 

 

>>> x, y, z = "123" # Строка

>>> x, y, z

('1', '2', '3')

>>> x, y, z = [1, 2, 3] # Список

>>> x, y, z

(1, 2, 3)

>>> x, y, z = (1, 2, 3) # Кортеж

>>> x, y, z

(1, 2, 3)

>>> [x, y, z] = (1, 2, 3) # Список слева, кортеж справа

>>> x, y, z

(1, 2, 3)

 

 

>>> x, y, z = (1, 2, 3, 4)

Traceback (most recent call last):

File "<pyshell#130>", line 1, in <module>

x, y, z = (1, 2, 3, 4)

ValueError: too many values to unpack (expected 3)

 

 

>>> x, y, *z = (1, 2, 3, 4)

>>> x, y, z

(1, 2, [3, 4])

>>> x, *y, z = (1, 2, 3, 4)

>>> x, y, z

(1, [2, 3], 4)

>>> *x, y, z = (1, 2, 3, 4)

>>> x, y, z

([1, 2], 3, 4)

>>> x, y, *z = (1, 2, 3)

>>> x, y, z

(1, 2, [3])

>>> x, y, *z = (1, 2)

>>> x, y, z

(1, 2, [])

 

 

>>> *x, y, *z = (1, 2, 3, 4)

SyntaxError: two starred expressions in assignment

Проверка типа данных

>>> a = "Строка" # Тип str

>>> a = 7 # Теперь переменная имеет тип int

 

 

>>> type(a)

<class 'int'>

 

 

>>> x = 10

>>> if type(x) == int:

print("Это тип int")

 

 

>>> s = "Строка"

>>> if isinstance(s, str):

print("Это тип str")

2.5. Преобразование типов данных

>>> 2 + "25"

Traceback (most recent call last):

File "<pyshell#0>", line 1, in <module>

2 + "25"

TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

 

>>> bool(0), bool(1), bool(""), bool("Строка"), bool([1, 2]), bool([])

(False, True, False, True, True, False)

 

 

>>> int(7.5), int("71")

(7, 71)

>>> int("71", 10), int("71", 8), int("0o71", 8), int("A", 16)

(71, 57, 57, 10)

 

 

>>> int("71s")

Traceback (most recent call last):

File "<pyshell#9>", line 1, in <module>

int("71s")

ValueError: invalid literal for int() with base 10: '71s'

 

 

>>> float(7), float("7.1")

(7.0, 7.1)

>>> float("Infinity"), float("-inf")

(inf, -inf)

>>> float("Infinity") + float("-inf")

nan

 

 

>>> str(125), str([1, 2, 3])

('125', '[1, 2, 3]')

>>> str((1, 2, 3)), str({"x": 5, "y": 10})

('(1, 2, 3)', "{'y': 10, 'x': 5}")

>>> str(bytes("строка", "utf-8"))

"b'\\xd1\\x81\\xd1\\x82\\xd1\\x80\\xd0\\xbe\\xd0\\xba\\xd0

\\xb0'"

>>> str(bytearray("строка", "utf-8"))

"bytearray(b'\\xd1\\x81\\xd1\\x82\\xd1\\x80\\xd0\\xbe\\xd0

\\xba\\xd0\\xb0')"

 

 

>>> obj1 = bytes("строка1", "utf-8")

>>> obj2 = bytearray("строка2", "utf-8")

>>> str(obj1, "utf-8"), str(obj2, "utf-8")

('строка1', 'строка2')

>>> str(obj1, "ascii", "strict")

Traceback (most recent call last):

File "<pyshell#16>", line 1, in <module>

str(obj1, "ascii", "strict")

UnicodeDecodeError: 'ascii' codec can't decode byte

0xd1 in position 0: ordinal not in range(128)

>>> str(obj1, "ascii", "ignore")

'1'

 

 

>>> bytes("строка", "cp1251")

b'\xf1\xf2\xf0\xee\xea\xe0'

>>> bytes("строка123", "ascii", "ignore")

b'123'

 

 

>>> b = bytes([225, 226, 224, 174, 170, 160])

>>> b

b'\xe1\xe2\xe0\xae\xaa\xa0'

>>> str(b, "cp866")

'строка'

 

 

>>> bytearray("строка", "cp1251")

bytearray(b'\xf1\xf2\xf0\xee\xea\xe0')

 

 

>>> b = bytearray([225, 226, 224, 174, 170, 160])

>>> b

bytearray(b'\xe1\xe2\xe0\xae\xaa\xa0')

>>> str(b, "cp866")

'строка'

 

 

>>> list("12345") # Преобразование строки

['1', '2', '3', '4', '5']

>>> list((1, 2, 3, 4, 5)) # Преобразование кортежа

[1, 2, 3, 4, 5]

 

 

>>> tuple("123456") # Преобразование строки

('1', '2', '3', '4', '5', '6')

>>> tuple([1, 2, 3, 4, 5]) # Преобразование списка

(1, 2, 3, 4, 5)

 

Листинг 2.4. Получение данных от пользователя

# -*- coding: utf-8 -*-

x = input("x = ") # Вводим 5

y = input("y = ") # Вводим 12

print(x + y)

input()

 

Листинг 2.5. Преобразование строки в число

# -*- coding: utf-8 -*-

x = int(input("x = ")) # Вводим 5

y = int(input("y = ")) # Вводим 12

print(x + y)

input()

Удаление переменной

>>> x = 10; x

>>> del x; x

Traceback (most recent call last):

File "<pyshell#1>", line 1, in <module>

del x; x

NameError: name 'x' is not defined

 

 

>>> x, y = 10, 20

>>> del x, y

Операторы

Математические операторы

>>> 10 + 5 # Целые числа

>>> 12.4 + 5.2 # Вещественные числа

17.6

>>> 10 + 12.4 # Целые и вещественные числа

22.4

 

 

>>> 10 — 5 # Целые числа

>>> 12.4 — 5.2 # Вещественные числа

7.2

>>> 12 — 5.2 # Целые и вещественные числа

6.8

 

 

>>> 10 * 5 # Целые числа

>>> 12.4 * 5.2 # Вещественные числа

64.48

>>> 10 * 5.2 # Целые и вещественные числа

52.0

 

 

>>> 10 / 5 # Деление целых чисел без остатка

2.0

>>> 10 / 3 # Деление целых чисел с остатком

3.3333333333333335

>>> 10.0 / 5.0 # Деление вещественных чисел

2.0

>>> 10.0 / 3.0 # Деление вещественных чисел

3.3333333333333335

>>> 10 / 5.0 # Деление целого числа на вещественное

2.0

>>> 10.0 / 5 # Деление вещественного числа на целое

2.0

 

 

>>> 10 // 5 # Деление целых чисел без остатка

>>> 10 // 3 # Деление целых чисел с остатком

>>> 10.0 // 5.0 # Деление вещественных чисел

2.0

>>> 10.0 // 3.0 # Деление вещественных чисел

3.0

>>> 10 // 5.0 # Деление целого числа на вещественное

2.0

>>> 10 // 3.0 # Деление целого числа на вещественное

3.0

>>> 10.0 // 5 # Деление вещественного числа на целое

2.0

>>> 10.0 // 3 # Деление вещественного числа на целое

3.0

 

 

>>> 10 % 5 # Деление целых чисел без остатка

>>> 10 % 3 # Деление целых чисел с остатком

>>> 10.0 % 5.0 # Операция над вещественными числами

0.0

>>> 10.0 % 3.0 # Операция над вещественными числами

1.0

>>> 10 % 5.0 # Операция над целыми и вещественными числами

0.0

>>> 10 % 3.0 # Операция над целыми и вещественными числами

1.0

>>> 10.0 % 5 # Операция над целыми и вещественными числами

0.0

>>> 10.0 % 3 # Операция над целыми и вещественными числами

1.0

 

 

>>> 10 ** 2, 10.0 ** 2

(100, 100.0)

 

 

>>> +10, +10.0, -10, -10.0, -(-10), -(-10.0)

(10, 10.0, -10, -10.0, 10, 10.0)

 

 

>>> 0.3 — 0.1 — 0.1 — 0.1

-2.7755575615628914e-17

 

 

>>> from decimal import Decimal

>>> Decimal("0.3") — Decimal("0.1") — Decimal("0.1") — Decimal("0.1")

Decimal('0.0')

Двоичные операторы

>>> x = 100 # 01100100

>>> x = ~x # 10011011

 

 

>>> x = 100 # 01100100

>>> y = 75 # 01001011

>>> z = x & y # 01000000

>>> "{0:b} & {1:b} = {2:b}".format(x, y, z)

'1100100 & 1001011 = 1000000'

 

 

>>> x = 100 # 01100100

>>> y = 75 # 01001011

>>> z = x | y # 01101111

>>> "{0:b} | {1:b} = {2:b}".format(x, y, z)

'1100100 | 1001011 = 1101111'

 

 

>>> x = 100 # 01100100

>>> y = 250 # 11111010

>>> z = x ^ y # 10011110

>>> "{0:b} ^ {1:b} = {2:b}".format(x, y, z)

'1100100 ^ 11111010 = 10011110'

 

 

>>> x = 100 # 01100100

>>> y = x << 1 # 11001000

>>> z = y << 1 # 10010000

>>> k = z << 2 # 01000000

 

 

>>> x = 100 # 01100100

>>> y = x >> 1 # 00110010

>>> z = y >> 1 # 00011001

>>> k = z >> 2 # 00000110

 

 

>>> x = -127 # 10000001

>>> y = x >> 1 # 11000000

>>> z = y >> 2 # 11110000

>>> k = z << 1 # 11100000

>>> m = k >> 1 # 11110000



Поделиться:


Последнее изменение этой страницы: 2016-06-23; просмотров: 387; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.89.42 (0.011 с.)