форкнуто от main/python-labs
				
			
							Родитель
							
								
									40acfc4c1b
								
							
						
					
					
						Сommit
						abed8344ec
					
				| @ -0,0 +1,802 @@ | ||||
| # Отчёт по теме 2 «Зеленкина Катерина» | ||||
| 
 | ||||
| ## Пункт 1. Запуск оболочки IDLE | ||||
| 
 | ||||
| Установим рабочий каталог: | ||||
| 
 | ||||
| ```py | ||||
| >>> import os | ||||
| >>> os.chdir(r'C:\Users\user\python-labs\TEMA2') | ||||
| ``` | ||||
| ## Пункт 2. Простые объекты | ||||
| Рассмотрела операции присваивания: | ||||
| 
 | ||||
| ```py | ||||
| f1=16; f2=3 | ||||
| f1,f2 | ||||
| (16, 3) | ||||
| f1;f2 | ||||
| 16 | ||||
| 3 | ||||
| ``` | ||||
| 
 | ||||
| Просмотрела уже существующие объекты в данный момент в среде Python: | ||||
| 
 | ||||
| ```py | ||||
| >>> dir() | ||||
| ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] | ||||
| ``` | ||||
| 
 | ||||
| Просмотрела список атрибутов объекта f1: | ||||
| 
 | ||||
| ```py | ||||
| >>> dir(f1) | ||||
| ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes'] | ||||
| ``` | ||||
| 
 | ||||
| Определила классовую принадлежность объекта f2: | ||||
| 
 | ||||
| ```py | ||||
| >>> type(f2) | ||||
| <class 'int'> | ||||
| ``` | ||||
| 
 | ||||
| Удалила объекты f1 и f2: | ||||
| 
 | ||||
| ```py | ||||
| >>> del f1,f2 | ||||
| >>> f1;f2 | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#9>", line 1, in <module> | ||||
|     f1;f2 | ||||
| NameError: name 'f1' is not defined | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 3. Правила именования объектов в Python. | ||||
| 
 | ||||
| Выполнила следующие предложенные операции. Последние две из них имели недопустимые имена: | ||||
| 
 | ||||
| ```py | ||||
| >>> gg1=1.6 | ||||
| >>> gg1 | ||||
| 1.6 | ||||
| >>> hh1='Строка' | ||||
| >>> hh1 | ||||
| 'Строка' | ||||
| >>> 73sr=3 - неправильное именование | ||||
| SyntaxError: invalid decimal literal | ||||
| >>> and=7 - неправильное именование | ||||
| SyntaxError: invalid syntax | ||||
| ``` | ||||
| 
 | ||||
| ## Пункты 4-5. Список ключевых слов и встроенных идентификаторов  | ||||
| 
 | ||||
| Вывела список ключевых слов и сохранила его в переменную | ||||
| 
 | ||||
| ```py | ||||
| >>> import keyword | ||||
| >>> keyword.kwlist | ||||
| ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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'] | ||||
| >>> a = keyword.kwlist | ||||
| >>> a | ||||
| ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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'] | ||||
| ``` | ||||
| 
 | ||||
| Вывела список встроенных идентификаторов: | ||||
| 
 | ||||
| ```py | ||||
| >>> import builtins | ||||
| >>> dir(builtins) | ||||
| ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip'] | ||||
| ``` | ||||
| 
 | ||||
| ### Функция abs() | ||||
| 
 | ||||
| ```py | ||||
| >>> help (abs) | ||||
| Help on built-in function abs in module builtins: | ||||
| 
 | ||||
| abs(x, /) | ||||
|     Return the absolute value of the argument. | ||||
| 
 | ||||
| >>> abs(-1) | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция len() | ||||
| 
 | ||||
| ```py | ||||
| >>> help (len) | ||||
| Help on built-in function len in module builtins: | ||||
| 
 | ||||
| len(obj, /) | ||||
|     Return the number of items in a container. | ||||
| 
 | ||||
| >>> b=[0,1,2,3,4,5,6,7,8,9,10] | ||||
| >>> b | ||||
| [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | ||||
| >>> len(b) | ||||
| 11 | ||||
| ``` | ||||
| 
 | ||||
| ### Функции max()/min() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(max) | ||||
| Help on built-in function max in module builtins: | ||||
| 
 | ||||
| max(...) | ||||
|     max(iterable, *[, default=obj, key=func]) -> value | ||||
|     max(arg1, arg2, *args, *[, key=func]) -> value | ||||
| 
 | ||||
|     With a single iterable argument, return its biggest item. The | ||||
|     default keyword-only argument specifies an object to return if | ||||
|     the provided iterable is empty. | ||||
|     With two or more positional arguments, return the largest argument. | ||||
| 
 | ||||
| >>> help(min) | ||||
| Help on built-in function min in module builtins: | ||||
| 
 | ||||
| min(...) | ||||
|     min(iterable, *[, default=obj, key=func]) -> value | ||||
|     min(arg1, arg2, *args, *[, key=func]) -> value | ||||
| 
 | ||||
|     With a single iterable argument, return its smallest item. The | ||||
|     default keyword-only argument specifies an object to return if | ||||
|     the provided iterable is empty. | ||||
|     With two or more positional arguments, return the smallest argument. | ||||
| 
 | ||||
| >>> max(b) | ||||
| 10 | ||||
| >>> min(b) | ||||
| 0 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция pow() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(pow) | ||||
| Help on built-in function pow in module builtins: | ||||
| 
 | ||||
| pow(base, exp, mod=None) | ||||
|     Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments | ||||
| 
 | ||||
|     Some types, such as ints, are able to use a more efficient algorithm when | ||||
|     invoked using the three argument form. | ||||
| 
 | ||||
| >>> pow(6,2) | ||||
| 36 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция round() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(round) | ||||
| Help on built-in function round in module builtins: | ||||
| 
 | ||||
| round(number, ndigits=None) | ||||
|     Round a number to a given precision in decimal digits. | ||||
| 
 | ||||
|     The return value is an integer if ndigits is omitted or None.  Otherwise | ||||
|     the return value has the same type as the number.  ndigits may be negative. | ||||
| 
 | ||||
| >>> round(3.8) | ||||
| 4 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция sorted() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(sorted) | ||||
| Help on built-in function sorted in module builtins: | ||||
| 
 | ||||
| sorted(iterable, /, *, key=None, reverse=False) | ||||
|     Return a new list containing all items from the iterable in ascending order. | ||||
| 
 | ||||
|     A custom key function can be supplied to customize the sort order, and the | ||||
|     reverse flag can be set to request the result in descending order. | ||||
| 
 | ||||
| >>> c=[10, 4, 9, 1, 23] | ||||
| >>> c | ||||
| [10, 4, 9, 1, 23] | ||||
| >>> sorted(c) | ||||
| [1, 4, 9, 10, 23] | ||||
| ``` | ||||
| 
 | ||||
| ### Функция sum() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(sum) | ||||
| Help on built-in function sum in module builtins: | ||||
| 
 | ||||
| sum(iterable, /, start=0) | ||||
|     Return the sum of a 'start' value (default: 0) plus an iterable of numbers | ||||
| 
 | ||||
|     When the iterable is empty, return the start value. | ||||
|     This function is intended specifically for use with numeric values and may | ||||
|     reject non-numeric types. | ||||
| 
 | ||||
| >>> sum(c) | ||||
| 47 | ||||
| ``` | ||||
| 
 | ||||
| ### Функция zip() | ||||
| 
 | ||||
| ```py | ||||
| >>> help(zip) | ||||
| Help on class zip in module builtins: | ||||
| 
 | ||||
| class zip(object) | ||||
|  |  zip(*iterables, strict=False) | ||||
|  | | ||||
|  |  The zip object yields n-length tuples, where n is the number of iterables | ||||
|  |  passed as positional arguments to zip().  The i-th element in every tuple | ||||
|  |  comes from the i-th iterable argument to zip().  This continues until the | ||||
|  |  shortest argument is exhausted. | ||||
|  | | ||||
|  |  If strict is true and one of the arguments is exhausted before the others, | ||||
|  |  raise a ValueError. | ||||
|  | | ||||
|  |     >>> list(zip('abcdefg', range(3), range(4))) | ||||
|  |     [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)] | ||||
|  | | ||||
|  |  Methods defined here: | ||||
|  | | ||||
|  |  __getattribute__(self, name, /) | ||||
|  |      Return getattr(self, name). | ||||
|  | | ||||
|  |  __iter__(self, /) | ||||
|  |      Implement iter(self). | ||||
|  | | ||||
|  |  __next__(self, /) | ||||
|  |      Implement next(self). | ||||
|  | | ||||
|  |  __reduce__(self, /) | ||||
|  |      Return state information for pickling. | ||||
|  | | ||||
|  |  __setstate__(self, object, /) | ||||
|  |      Set state information for unpickling. | ||||
|  | | ||||
|  |  ---------------------------------------------------------------------- | ||||
|  |  Static methods defined here: | ||||
|  | | ||||
|  |  __new__(*args, **kwargs) | ||||
|  |      Create and return a new object.  See help(type) for accurate signature. | ||||
| 
 | ||||
| >>> c | ||||
| [10, 4, 9, 1, 23] | ||||
| >>> d=[1,2,3,4,5] | ||||
| >>> d | ||||
| [1, 2, 3, 4, 5] | ||||
| >>> h=zip(c,d) | ||||
| >>> h | ||||
| <zip object at 0x0000021067B5EC80> | ||||
| >>> list(h) | ||||
| [(10, 1), (4, 2), (9, 3), (1, 4), (23, 5)] | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 6. Регистр букв | ||||
| Проверила влияние больших и малых букв в имени переменных | ||||
| 
 | ||||
| ```py | ||||
| >>> Gg1=45 | ||||
| >>> gg1 | ||||
| 1.6 | ||||
| >>> Gg1 | ||||
| 45 | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 7. Простые базовые типы объектов | ||||
| ### 7.1 Логический тип (bool) | ||||
| 
 | ||||
| ```py | ||||
| >>> bb1=True; bb2=False | ||||
| >>> bb1;bb2 | ||||
| True | ||||
| False | ||||
| >>> type(bb1) | ||||
| <class 'bool'> | ||||
| ``` | ||||
| 
 | ||||
| ### 7.2 Другие простые типы | ||||
| 
 | ||||
| ```py | ||||
| >>> ii1=-1234567890 | ||||
| >>> type(ii1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> ff1=-8.9876e-12 | ||||
| >>> type(ff1) | ||||
| <class 'float'> | ||||
| 
 | ||||
| >>> dv1=0b1101010 #Двоичное число | ||||
| >>> type(dv1) | ||||
| <class 'int'> | ||||
| ``` | ||||
| Двоичное число сохранено в объекте класса int | ||||
| 
 | ||||
| ```py | ||||
| >>> vsm1=0o52765 #Восьмеричное число | ||||
| >>> type(vsm1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> shest1=0x7109af6 #Шестнадцатеричное число | ||||
| >>> type(shest1) | ||||
| <class 'int'> | ||||
| 
 | ||||
| cc1=2-3j | ||||
| type(cc1) | ||||
| <class 'complex'> | ||||
| ``` | ||||
| 
 | ||||
| Создание комплексного числа: | ||||
| 
 | ||||
| ```py | ||||
| a=3.67; b=-0.45 | ||||
| cc2=complex(a,b) | ||||
| type(cc2) | ||||
| <class 'complex'> | ||||
| ``` | ||||
| 
 | ||||
| ### 7.3 Строка символов | ||||
| 
 | ||||
| Строки выделяются апострофами: | ||||
| ```py | ||||
| >>> ss1='Это - строка символов' | ||||
| >>> ss1 | ||||
| 'Это - строка символов' | ||||
| ``` | ||||
| 
 | ||||
| Строки выделяются двойными кавычками: | ||||
| ```py | ||||
| >>> ss1="Это - строка символов" | ||||
| >>> ss1 | ||||
| 'Это - строка символов' | ||||
| ``` | ||||
| 
 | ||||
| Попробовала экранированные последовательности: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" | ||||
| >>> print(ss1a) | ||||
| Это - " строка символов ",  | ||||
|  	 выводимая на двух строках | ||||
| ``` | ||||
| 
 | ||||
| Создала строку по шаблону: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1b= 'Меня зовут: \n Зеленкина К. М.' | ||||
| >>> print(ss1b) | ||||
| Меня зовут:  | ||||
|  Зеленкина К. М. | ||||
| ``` | ||||
| Многострочные строки: | ||||
| 
 | ||||
| ```py | ||||
| >>> mnogo="""Нетрудно заметить , что в результате операции | ||||
| над числами разных типов получается число, | ||||
| имеющее более сложный тип из тех, которые участвуют в операции.""" | ||||
| 
 | ||||
| >>> print(mnogo) | ||||
| Нетрудно заметить , что в результате операции | ||||
| над числами разных типов получается число, | ||||
| имеющее более сложный тип из тех, которые участвуют в операции. | ||||
| ``` | ||||
| 
 | ||||
| Обратилась к частям строки с помощью индексов: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1[0] | ||||
| 'Э' | ||||
| >>> ss1[8] | ||||
| 'р' | ||||
| >>> ss1[-2] | ||||
| 'о' | ||||
| ``` | ||||
| 
 | ||||
| Выполнила операцию «разрезания»/«создания среза»: | ||||
| ```py | ||||
| >>> ss1[6:9] | ||||
| 'стр' | ||||
| >>> ss1[13:] | ||||
| 'символов' | ||||
| >>> ss1[:13] | ||||
| 'Это - строка ' | ||||
| >>> ss1[5:-8] | ||||
| ' строка ' | ||||
| >>> ss1[3:17:2] | ||||
| '  тоасм' | ||||
| ``` | ||||
| 
 | ||||
| При отрицательном значении шага перечислились элементы с индексами от 3 до 17 в обратном порядке: | ||||
| ```py | ||||
| >>> ss1[17:3:-2] | ||||
| 'омсаот ' | ||||
| ``` | ||||
| 
 | ||||
| Заменив 17 на -4, мы получим тот-же результат, т. к. символ под индексом 17 и  -4 один и тот же: | ||||
| 
 | ||||
| ```py | ||||
| >>> ss1[-4:3:-2] | ||||
| 'омсаот ' | ||||
| ``` | ||||
| ```py | ||||
| >>> s=ss1b[:4] | ||||
| >>> print(s) | ||||
| Меня | ||||
| 
 | ||||
| >>> sk1=ss1b[:4]+' именовать'+ss1b[12:]; print(sk1) | ||||
| Меня именовать | ||||
|  Зеленкина К. М. | ||||
| ``` | ||||
| Самостоятельно придумала значения и создала объекты разных типов: | ||||
| 
 | ||||
| ```py | ||||
| >>> flag = True | ||||
| >>> type(flag) | ||||
| <class 'bool'>  | ||||
| 
 | ||||
| >>> n=16 | ||||
| >>> type(n) | ||||
| <class 'int'> | ||||
| 
 | ||||
| >>> k = 'Привет' | ||||
| >>> type(k) | ||||
| <class 'str'> | ||||
| ``` | ||||
| 
 | ||||
| ## Пункт 8. Сложные типы объектов | ||||
| ### 8.1 Списки | ||||
| 
 | ||||
| __ Список __ — это упорядоченная коллекция элементов произвольных типов (числа, строки, другие объекты). | ||||
| 
 | ||||
| Список с элементами разных типов: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1=[111, 'Spisok' ,5-9j] | ||||
| >>> spis1 | ||||
| [111, 'Spisok', (5-9j)] | ||||
| ``` | ||||
| 
 | ||||
| Вводить элементы в списках можно на разных строках до закрытия квадратной скобкой: | ||||
| 
 | ||||
| ```py | ||||
| >>> stup=[0,0,1,1,1,1,1,1,1]; stup | ||||
| [0, 0, 1, 1, 1, 1, 1, 1, 1] | ||||
| >>> spis=[1,2,3,4, | ||||
|       5,6,7, | ||||
|       8,9,10] | ||||
| >>> spis | ||||
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | ||||
| ``` | ||||
| 
 | ||||
| В списках тоже можно обращаться к элементам по индексам: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1[-1] | ||||
| (5-9j) | ||||
| 
 | ||||
| >>> stup[-8::2] | ||||
| [0, 1, 1, 1]  | ||||
| ``` | ||||
| 
 | ||||
| Пояснение: Вошло 4 элемента. Элемент под индексом '-8' есть элемент с индексом 1, срез произойдёт до последнего элемента с шагом 2 | ||||
| 
 | ||||
| Заменила второй элемент в spis1: | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1[1]='Список' | ||||
| >>> spis1 | ||||
| [111, 'Список', (5-9j)] | ||||
| >>> len(spis1) | ||||
| 3 | ||||
| ``` | ||||
| 
 | ||||
| Добавление элементов в список: | ||||
| 
 | ||||
| 
 | ||||
| ```py | ||||
| >>> help(spis1.append) | ||||
| Help on built-in function append: | ||||
| 
 | ||||
| append(object, /) method of builtins.list instance | ||||
|     Append object to the end of the list. | ||||
| 
 | ||||
| >>> spis1.append('New item') | ||||
| spis1 | ||||
| [111, 'Список', (5-9j), 'New item'] | ||||
| 
 | ||||
| 
 | ||||
| >>> spis1.append(ss1b) | ||||
| >>> spis1 | ||||
| [111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| >>> spis1.pop(1) | ||||
| 'Список' | ||||
| >>> spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| 
 | ||||
| ### Другие методы: | ||||
| __ insert __ - вставит второй аргумент под номер индекса элемента | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.insert(0, 24); spis1 | ||||
| [24, 111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| __ remove __ - удалит элемент, указанный в скобках | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.remove(24); spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.'] | ||||
| ``` | ||||
| 
 | ||||
| __ extend __ - добавляет каждый элемент аргумента в конец списка | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.extend('24'); spis1 | ||||
| [111, (5-9j), 'New item', 'Меня зовут: \n Зеленкина К. М.', '2', '4'] | ||||
| ``` | ||||
| 
 | ||||
| __ clear __ - удаляет всё из списка | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.clear(); spis1 | ||||
| [] | ||||
| ``` | ||||
| 
 | ||||
| __ sort__ - сортирует элементы в списке по возрастанию, а буквы по алфавиту | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1=[20, 4, 63, 2, 1, 0, 13, 7]; spis1 | ||||
| [20, 4, 63, 2, 1, 0, 13, 7] | ||||
| >>> spis1.sort() | ||||
| >>> spis1 | ||||
| [0, 1, 2, 4, 7, 13, 20, 63] | ||||
| 
 | ||||
| >>> spis2 = ['д', 'с','г','а','ш'] | ||||
| >>> spis2.sort() | ||||
| >>> spis2 | ||||
| ['а', 'г', 'д', 'с', 'ш'] | ||||
| ``` | ||||
| 
 | ||||
| __ reverse __ - сортирует элементы в обратном порядке | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.reverse(); spis1 | ||||
| [63, 20, 13, 7, 4, 2, 1, 0] | ||||
| 
 | ||||
| >>> spis2.reverse();spis2 | ||||
| ['ш', 'с', 'д', 'г', 'а'] | ||||
| ``` | ||||
| 
 | ||||
| __ copy __ - копирует список | ||||
| 
 | ||||
| ```py | ||||
| >>> vv=spis1.copy(); vv | ||||
| [63, 20, 13, 7, 4, 2, 1, 0] | ||||
| ``` | ||||
| 
 | ||||
| __ count __ - cчитает количество заданного аргумента в скобках в списке | ||||
| 
 | ||||
| ```py | ||||
| >>> spis2.count('д') | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| __ index __ - выдаёт индекс элемента | ||||
| 
 | ||||
| ```py | ||||
| >>> spis1.index(20) | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| #### Вложенные списки | ||||
| 
 | ||||
| ```py | ||||
| >>> spis2=[spis1,[4,5,6,7]]; spis2 | ||||
| [[63, 20, 13, 7, 4, 2, 1, 0], [4, 5, 6, 7]] | ||||
| >>> spis2[0][1] #обращение к элементу списка spis1 | ||||
| 20 | ||||
| >>> spis2[0][1]=78; spis2 #Замена значения элемента на 78 | ||||
| [[63, 78, 13, 7, 4, 2, 1, 0], [4, 5, 6, 7]] | ||||
| 
 | ||||
| >>> spis1 | ||||
| [63, 78, 13, 7, 4, 2, 1, 0] | ||||
| ``` | ||||
| 
 | ||||
| Пояснение: Список spis1 отличается от первоначального, потому что он лежит в другом списке, в котором мы и поменяли значение | ||||
| 
 | ||||
| Создала список с разными типами данных | ||||
| 
 | ||||
| ```py | ||||
| >>>spisok = [89, 'дом', True, ['яблоко', 'помидор', 'хлеб']]; spisok | ||||
|            | ||||
| [89, 'дом', True, ['яблоко', 'помидор', 'хлеб']] | ||||
| >>> type(spisok) | ||||
|            | ||||
| <class 'list'> | ||||
| ``` | ||||
| 
 | ||||
| ### 8.2 Кортежи | ||||
| 
 | ||||
| Кортеж – кортежи являются последовательностями, как списки, но они являются неизменяемыми, как строки. | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1=(222,'Kortezh',77+8j); kort1 | ||||
|            | ||||
| (222, 'Kortezh', (77+8j)) | ||||
| ``` | ||||
| 
 | ||||
| Переопределим кортеж: | ||||
| 
 | ||||
| 1. Добавим элементы | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1= kort1+(1,2)           | ||||
| >>> kort1          | ||||
| (222, 'Kortezh', (77+8j), 1, 2) | ||||
| 
 | ||||
| >>> kort1= kort1+(ss1b,); kort1         | ||||
| (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Зеленкина К. М.') | ||||
| ``` | ||||
| 
 | ||||
| 2. Удалим элементы: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort2=kort1[:2]+kort1[3:]; kort2       | ||||
| (222, 'Kortezh', 1, 2, 'Меня зовут: \n Зеленкина К. М.') | ||||
| ``` | ||||
| 
 | ||||
| Узнала индекс заданного элемента: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1.index(2)          | ||||
| 4 | ||||
| ``` | ||||
| 
 | ||||
| Подсчитала количество вхождений заданного элемента в кортеже: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1.count(222)          | ||||
| 1 | ||||
| ``` | ||||
| 
 | ||||
| Т. к. кортежи неизменяемы, то у них отсутствуют методы append и pop. | ||||
| Попробуем заменить элемент в кортеже (выдаст ошибку): | ||||
| 
 | ||||
| ```py | ||||
| >>> kort1[2]=90           | ||||
| Traceback (most recent call last): | ||||
|   File "<pyshell#161>", line 1, in <module> | ||||
|     kort1[2]=90 | ||||
| TypeError: 'tuple' object does not support item assignment | ||||
| ``` | ||||
| 
 | ||||
| ### Создаю объект-кортеж с разными типами данных: | ||||
| 
 | ||||
| ```py | ||||
| >>> kort2=(23, 'Тыква', [4, 5, 6, 7], (4, 6, 8, 10))    | ||||
| kort2          | ||||
| (23, 'Тыква', [4, 5, 6, 7], (4, 6, 8, 10)) | ||||
| type(kort2) | ||||
|            | ||||
| <class 'tuple'> | ||||
| ``` | ||||
| 
 | ||||
| ## 8.3 Словарь | ||||
| __ Словарь __ - совокупность пар: «ключ (key)»:«значение (value)». | ||||
| 
 | ||||
| Создадим словарь: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45}; dic1          | ||||
| {'Saratov': 145, 'Orel': 56, 'Vologda': 45} | ||||
| ``` | ||||
| В словарях обращение к элементам происходит по ключам: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic1['Orel']          | ||||
| 56 | ||||
| ``` | ||||
| Изменение словаря, добавление элемента: | ||||
| 
 | ||||
| ```py | ||||
|  >>> dic1['Pskov']=78 | ||||
|  >>> dic1 | ||||
| {'Saratov': 120, 'Vologda': 45, 'Pskov': 78, 'Orel': 56} | ||||
| ``` | ||||
| Отобразим сортированный словарь с помощью функции sorted (Отображает, но не сортирует): | ||||
| 
 | ||||
| ```py | ||||
| >>> sorted(dic1.keys())         | ||||
| ['Orel', 'Saratov', 'Vologda'] | ||||
| >>> sorted(dic1.values())         | ||||
| [45, 56, 145] | ||||
| ``` | ||||
| 
 | ||||
| Элементы словаря могут быть любого типа, даже словарём: | ||||
| 
 | ||||
| ```py | ||||
| >>> dic2={1:'mean',2:'standart deviation',3:'correlation'}          | ||||
| >>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']}  | ||||
| >>> dic3         | ||||
| {'statistics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}   | ||||
|      | ||||
| >>> dic3['statistics'][2]          | ||||
| 'standart deviation' | ||||
| ``` | ||||
| 
 | ||||
| Создадим более сложный словарь:  | ||||
| 
 | ||||
| ```py | ||||
| >>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]); dic4       | ||||
| {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n Зеленкина К. М.'} | ||||
| 
 | ||||
| >>> dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])); dic5          | ||||
| {'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Зеленкина К. М.'} | ||||
| ``` | ||||
| 
 | ||||
| Создадим свой объект-кортеж и объект-список: | ||||
| 
 | ||||
| ```py | ||||
| >>> spisok01=(1, 5, 7, 9, 3, 0,10); spisok01          | ||||
| (1, 5, 7, 9, 3, 0, 10) | ||||
| >>> spisok02=[22,10,7,45,100]; spisok02              | ||||
| [22, 10, 7, 45, 100] | ||||
| >>>spisok03=dict(zip(spisok01,spisok02)); spisok03              | ||||
| {1: 22, 5: 10, 7: 7, 9: 45, 3: 100} | ||||
| 
 | ||||
| >>> len(spisok03)            | ||||
| 5 #Элементов 5, потому что в spisok02 всего пять элементов | ||||
| ``` | ||||
| 
 | ||||
| Пример словаря с описанием состава студентов, обучающихся на АВТИ: | ||||
| 
 | ||||
| ```py | ||||
| AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]} | ||||
| 
 | ||||
| AVTI['Курс III'][5] | ||||
| 15 | ||||
| ``` | ||||
| 
 | ||||
| ## 8.4 Множество | ||||
| 
 | ||||
| Объект-множество – это неупорядоченная совокупность неповторяющихся элементов. | ||||
| 
 | ||||
| ```py | ||||
| >>> mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}; mnoz1           | ||||
| {'линия связи', 'микропроцессор', 'двигатель', 'датчик'} | ||||
| 
 | ||||
| >>> len(mnoz1)              | ||||
| 4 | ||||
| 
 | ||||
| >>> 'датчик' in mnoz1             | ||||
| True | ||||
| 
 | ||||
| >>> mnoz1.add('реле')               | ||||
| >>> mnoz1             | ||||
| {'линия связи', 'датчик', 'двигатель', 'реле', 'микропроцессор'} | ||||
| 
 | ||||
| >>> mnoz1.remove('линия связи'); mnoz1              | ||||
| {'датчик', 'двигатель', 'реле', 'микропроцессор'} | ||||
| ``` | ||||
| 
 | ||||
| Создадим своё множество: | ||||
| 
 | ||||
| ```py | ||||
| >>> mnoz2={5, 'яблоко', False, (10, 6, 0)}; mnoz2              | ||||
| {False, 5, (10, 6, 0), 'яблоко'} | ||||
| 
 | ||||
| >>> mnoz2.add(100); mnoz2             | ||||
| {False, 100, 5, (10, 6, 0), 'яблоко'} | ||||
| 
 | ||||
| >>> mnoz2.remove('яблоко'); mnoz2              | ||||
| {False, 100, 5, (10, 6, 0)} | ||||
| 
 | ||||
| >>>False in mnoz2             | ||||
| True | ||||
| ``` | ||||
| 
 | ||||
| ## 9. Конец сеанса | ||||
| 
 | ||||
					Загрузка…
					
					
				
		Ссылка в новой задаче
	
	 Katerina
						Katerina