Гайд Учим полный Python простым способом

Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2021
Сообщения
138
Реакции[?]
84
Поинты[?]
1K
Весь курс взят с платной презентации с Индонезии.
Всё видео сделано на английском языке, я выписал весь текст и перевёл на русский язык.
Трансляция длилась 85 минут.


Вступление
Python - это язык программирования высокого уровня общего назначения.
Python был разработан Гвидо Ван Россамом в 1989 году во время работы в National (Научно-исследовательский институт в Нидерландах.)
Но официально Python был доступен для публики в 1991 году.
Официальная дата рождения для Python: 20 февраля 1991 года.
Python рекомендуется в качестве первого языка программирования для начинающих.

Имя Python было выбрано из телешоу
"The Complete Monty Python's Circus", который транслировался на BBC с 1969 по 1974 год.
Гвидо разработал язык Python, взяв почти все функции программирования из разных языков

1. Функциональные возможности программирования на языке С
2. Функции объектно-ориентированного программирования из C++
3. Функции языка сценариев из Perl и скрипта оболочки
4. Модульные функции программирования от Modula-3
Большая часть синтаксиса в Python заимствована из языков C и ABC.

Где мы можем использовать Python:
Мы можем использовать везде. Наиболее распространенными важными областями применения являются

1) Для разработки Настольных Приложений
2) Для разработки веб-приложений
3) Для разработки приложений баз данных
4) Для Сетевого Программирования
5) Для разработки игр
6) Для Приложений Анализа Данных
7) Для Машинного Обучения
8) Для разработки Приложений Искусственного Интеллекта
9) Для интернета

Примечание:

Внутри Google и Youtube используют кодировку на Python.
Приложения НАСА и фондовой биржи Nework, разработанные Python.
Ведущие компании-разработчики программного обеспечения, такие как Google, Microsoft, IBM, Yahoo, используют Python.

Особенности Python:
1) Простой и легкий в освоении:
Python - это простой язык программирования, синтаксис очень прост.
По сравнению с другими языками мы можем писать программы с очень меньшим количеством строк.
Отсюда большая читабельность и простота.
Мы можем снизить разработку и стоимость проекта.

2) Бесплатная и с открытым исходным кодом:
Мы можем использовать программное обеспечение Python без какой-либо лицензии, и оно является бесплатным.
Его исходный код открыт, так что мы можем настроить его в соответствии с нашими требованиями.
Например: Jython-это настроенная версия Python для работы с приложениями Java.

3) Язык программирования высокого уровня:
Python-это язык программирования высокого уровня, и, следовательно, он удобен для программистов.
Будучи программистом, мы не обязаны концентрировать низкоуровневые действия, такие как управление памятью, безопасность и т.д.

4) Независимость от платформы:
Как только мы напишем программу на Python,она сможет работать на любой платформе без повторной перезаписи.
Внутренне PVM отвечает за преобразование в понятную для машины форму.

5) Портативность:
Программы на Python переносимы. т. е. мы можем очень легко переходить с одной платформы на другую.
Программы на Python обеспечат одинаковые результаты на любой платформе.

6) Динамически Типизированный:
В Python нам не требуется объявлять тип для переменных.
Всякий раз, когда мы присваиваем значение на основе значения, тип будет выделен автоматически.
Следовательно, Python рассматривается как динамически типизированный язык.
Но Java, C и т. Д. Являются Статически типизированными языками, поэтому мы должны указывать тип только в начале.
Такая динамическая типизация обеспечит программисту большую гибкость

7) Как процедурно - ориентированный, так и объектно-ориентированный:
Язык Python поддерживает как процедурно-ориентированные (например, C, pascal и т.д.), Так и объектно- ориентированные (например, C++, Java) функции. Следовательно, мы можем получить преимущества как от безопасности, так и от возможности повторного использования и т. Д.

8) Интерпретируется:
От нас не требуется явно компилировать программы на Python. Внутренне интерпретатор Python позаботится об этой компиляции.
Если компиляция завершается неудачно, интерпретатор выдает синтаксические ошибки. Как только компиляция завершится успешно, тогда
PVM (виртуальная машина Python) отвечает за выполнение.

9) Расширяемый:
Мы можем использовать другие языковые программы на Python.
Основными преимуществами этого подхода являются:
1. Мы можем использовать уже существующий устаревший код, отличный от Python
2. Мы можем повысить производительность приложения

10) Встроенный:
Мы можем использовать программы на Python в любых других языковых программах.
то есть мы можем встраивать программы на Python в любом месте.

11) Обширная Библиотека:
Python имеет богатую встроенную библиотеку.
Будучи программистом, мы можем использовать эту библиотеку напрямую и не несем ответственности за реализацию функциональности. И т.д.

Ограничения Python:
1) Производительность не на должном уровне, потому что это интерпретируемый язык.
2) Не используется для мобильных приложений.

Вкусы Python
1) CPython: Это стандартный вариант Python. Его можно использовать для работы с приложениями на языке C.
2) Jython или Jpython: Это для приложений Java. Он может работать на JVM
3) IronPython: Это для C#.Net платформа
4) PyPy: Основное преимущество PyPy заключается в том, что производительность будет улучшена, поскольку JIT-компилятор доступен внутри PVM.
5) Ruby Python: Для платформ Ruby
6) AnacondaPython: Он специально разработан для обработки больших объемов данных.


Python Versions:
Python Python 1.0 V introduced in Jan 1994
Python Python 2.0 V introduced in October 2000
Python Python 3.0 V introduced in December 2008

Примечание: Python 3 не обеспечит обратную совместимость с Python2, т. е. нет никакой гарантии, что программы Python2 будут выполняться в Python3.


Идентификаторы:
Имя в программе Python называется Идентификатором.
Это может быть Имя класса или Имя функции, Имя модуля или Имя переменной.
a = 10

1. Правила определения идентификаторов в Python.
1. Единственными разрешенными символами в Python являются:
- символы алфавита(в нижнем или верхнем регистре)
- цифры(от 0 до 9)
- символ подчеркивания(_)

По ошибке, если мы используем любой другой символ, например "$", мы получим синтаксическую ошибку.
cash = 10 - Правильно
ca$h =20 - Неправильно

2. Идентификатор не должен начинаться с цифры.
123total - Неправильно
total123 - Правильно

3. Идентификаторы чувствительны к регистру. Конечно, язык Python чувствителен к регистру.
total=10
TOTAL=999
print(total) #10
print(TOTAL) #999

Идентификатор:
1) Символы алфавита (в верхнем или нижнем регистре)
2) Если идентификатор начинается с подчеркивания ( _ ), то это указывает на то, что он является закрытым.
3) Идентификатор не должен начинаться с цифр.
4) Идентификаторы чувствительны к регистру.
5) Мы не можем использовать зарезервированные слова в качестве идентификаторов.
Например: def = 10 - Неправильно
6) Для идентификаторов Python нет ограничений по длине. Но не рекомендуется использовать слишком
длинные идентификаторы.
7) Символ доллара ($) не допускается в Python.

Какие из следующих допустимых идентификаторов Python?
1) 123total ❌
2) total123 ✅
3) java2share ✅
4) ca$h ❌
5) _abc_abc_ ✅
6) def ❌
7) if ❌

Примечание:
1) Если идентификатор начинается с символа_, то это указывает на то, что он является частным
2) Если идентификатор начинается с __(Два символа подчеркивания), указывающих на этот строго закрытый
идентификатор.
3) Если идентификатор начинается и заканчивается двумя символами подчеркивания, то идентификатор определяется
специальным именем языка, которое также известно как магические методы.
4) Например: __добавить__


В Python некоторые слова зарезервированы для представления некоторого значения или функциональности.
Такие типы слов называются зарезервированными словами.
В Python доступно 33 зарезервированных слова.
  • True, False, None
    and, or ,not,is
    if, elif, else
    while, for, break, continue, return, in, yield
    try, except, finally, raise, assert
    import, from, as, class, def, pass, global, nonlocal, lambda, del, with

Примечание:
1. Все зарезервированные слова в Python содержат только символы алфавита.
2. За исключением следующих 3 зарезервированных слов, все они содержат только символы алфавита в нижнем регистре
True
False
None

Пример:
a= true ❌
a=True ✅

>>> 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']


Типы данных:
Тип данных представляет тип данных, присутствующих внутри переменной.
В Python нам не требуется явно указывать тип. На основе предоставленного значения тип будет присвоен автоматически.
Следовательно, Python-это динамически типизированный язык.

Python содержит следующие встроенные типы данных:
  • 1) Int
    2) Float
    3) Complex
    4) Bool
    5) Str
    6) Bytes
    7) Bytearray
    8) Range
    9) List
    10) Tuple
    11) Set
    12) Frozenset
    13) Dict
    14) None
Примечание: Python содержит несколько встроенных функций
1) type(), чтобы проверить тип переменной
2) id(), для получения адреса объекта
3) print(), чтобы напечатать значение

В Python все является Объектом.

1) Тип данных int:
Мы можем использовать тип данных int для представления целых чисел (целых значений).
Например: a = 10
type(a) #int

Примечание:
В Python2 у нас есть длинный тип данных для представления очень больших интегральных значений.
Но в Python3 явно нет длинного типа, и мы также можем представлять длинные значения, используя только тип int.

Мы можем представлять значения int следующими способами
1) Десятичная форма
2) Двоичная форма
3) Восьмеричная форма
4) Шестнадцатеричная форма

1) Десятичная форма (основание-10):
Это система счисления по умолчанию в Python
Допустимые цифры: от 0 до 9
Например:
a =10

2) Двоичная форма (Основание-2):
Допустимые цифры : 0 и 1
Буквальное значение должно иметь префикс 0b или 0B
Например:
a = 0B1111
a = 0B123
a = b111

3) Восьмеричная форма (Основание-8):
Допустимые цифры : от 0 до 7
Буквальное значение должно иметь префикс 0o или 0O.
Например:
a = 0o123
a = 0o786

4) Шестнадцатеричная форма (основание-16):
Допустимые цифры: от 0 до 9, a-f (допускаются как нижний, так и верхний регистры)
Буквальное значение должно иметь префикс 0x или 0X
Например:
a = 0XFACE
a = 0xBEEF
a = 0XBeer

Примечание: Будучи программистом, мы можем указывать буквенные значения в десятичной, двоичной, восьмеричной и шестнадцатеричной
десятичной формах. Но PVM всегда будет предоставлять значения только в десятичной форме.
a=10
b=0o10
c=0X10
d=0B10
print(a)10
print(b)8
print(c)16
print(d)2

Базовые Преобразования
Python предоставляет следующие встроенные функции для базовых преобразований

1) bin():
Мы можем использовать bin() для преобразования из любой базы в двоичную
1) >>> bin(15)
2) '0b1111'
3) >>> bin(0o11)
4) '0b1001'
5) >>> bin(0X10)
6) '0b10000'

2) oct():
Мы можем использовать oct() для преобразования из любой базы в восьмеричную
1) >>> oct(10)
2) '0o12'
3) >>> oct(0B1111)
4) '0o17'
5) >>> oct(0X123)
6) '0o443'

3) hex():
Мы можем использовать hex() для преобразования из любой базы в шестнадцатеричную
1) >>> hex(100)
2) '0x64'
3) >>> hex(0B111111)
4) '0x3f'
5) >>> hex(0o12345)
6) '0x14e5'

2) Тип данных С Плавающей Точкой:
Мы можем использовать тип данных с float для представления значений с плавающей запятой (десятичные значения)
Например: f = 1,234
type(f) float

Мы также можем представлять значения с float с помощью экспоненциальной формы
Например: f = 1.2e3 ~> вместо "e" мы можем использовать "E"
print(f) 1200.0

Главное преимущество экспоненциальной формы заключается в том, что мы можем представлять большие значения в меньшем объеме памяти.

Примечание: Мы можем представлять значения int в десятичной, двоичной, восьмеричной и шестнадцатеричной формах.
Но мы можем представлять значения с float только с помощью десятичной формы.

Код:
 >>> f=0B11.01
 File "<stdin>", line 1
 f=0B11.01
 ^
 SyntaxError: invalid syntax

 >>> f=0o123.456
 SyntaxError: invalid syntax

 >>> f=0X123.456
 SyntaxError: invalid syntax
3) Сложный Тип Данных:
Комплексное число имеет вид ~>
Пожалуйста, авторизуйтесь для просмотра ссылки.

‘a’ и ‘b’ содержат промежуточные значения или значения с float.

Например:
3 + 5j
10 + 5.5j
0.5 + 0.1j

В реальной части, если мы используем значение int, мы можем указать его в десятичной, восьмеричной, двоичной или шестнадцатеричной форме.
Но мнимая часть должна быть указана только с помощью десятичной формы.

Код:
 >>> a=0B11+5j
 >>> a
 (3+5j)
 >>> a=3+0B11j
 SyntaxError: invalid syntax
Даже мы можем выполнять операции со значениями сложных типов.

Код:
 >>> a=10+1.5j
 >>> b=20+2.5j
 >>> c=a+b
 >>> print(c)
(30+4j)
>>> type(c)
<class 'complex'>
Примечание: Сложный тип данных имеет некоторые встроенные атрибуты для извлечения действительной и мнимой частей.

c = 10.5+3.6j
c.real ~> 10.5
c.imag ~> 3.6

Мы можем использовать сложный тип, как правило, в научных приложениях и приложениях в области электротехники

4) Типы данных bool:
Мы можем использовать этот тип данных для представления логических значений.
Единственными допустимыми значениями для этого типа данных являются:
True и False
Внутренне Python представляет True как 1, а False как 0

b = True
type(b) ~> bool

Например:
a = 10
b = 20
c = a

True+True ~> 2
True-False ~> 1

5) Тип данных str:
str представляет строковый тип данных.
Строка - это последовательность символов, заключенных в одинарные или двойные кавычки цитаты.

s1='durga'
s1="durga"
Используя одинарные или двойные кавычки, мы не можем представлять многострочные строковые литералы.

s1="durga
soft"

Для этого требования мы должны использовать тройные одинарные кавычки("') или тройные двойные
кавычки(""")

s1='''durga
soft'''

s1="""durga
soft"""

Мы также можем использовать тройные кавычки для использования одинарной или двойной кавычки в нашей строке.
''' This is " character'''
' This i " Character '


Приведение типов:
Мы можем преобразовать значение одного типа в значение другого типа. Это преобразование называется приведением типов
или приведением типов.
Ниже приведены различные встроенные функции для приведения типов
1) int()
2) float()
3) complex()
4) bool()
5) str()

int():
Мы можем использовать эту функцию для преобразования значений из других типов в int
Код:
 >>> int(123.987)
 123
 >>> int(10+5j)
 TypeError: can't convert complex to int
 >>> int(True)
 1
 >>> int(False)
 0
 >>> int("10")
 10
 >>> int("10.5")
 ValueError: invalid literal for int() with base 10: '10.5'
 >>> int("ten")
 ValueError: invalid literal for int() with base 10: 'ten'
 >>> int("0B1111")
 ValueError: invalid literal for int() with base 10: '0B1111'

Примечание:
1) Мы можем преобразовать из любого типа в int, кроме сложного типа.
2) Если мы хотим преобразовать тип str в тип int, обязательный str должен содержать только целочисленное значение и должен быть указан в базе - 10.


float():
Мы можем использовать функцию float() для преобразования значений других типов в тип float.

Код:
 >>> float(10)
 10.0
 >>> float(10+5j)
 TypeError: can't convert complex to float
 >>> float(True)
 1.0
 >>> float(False)
 0.0
 >>> float("10")
 10.0
 >>> float("10.5")
 10.5
 >>> float("ten")
 ValueError: could not convert string to float: 'ten'
 >>> float("0B1111")
 ValueError: could not convert string to float: '0B1111'
Примечание:
1) Мы можем преобразовать любое значение типа в тип с плавающей точкой, кроме сложного типа.
2) Всякий раз, когда мы пытаемся преобразовать тип str в тип с float, обязательный str должен быть либо целым, либо литералом с floating и должен указываться только в base-10.

complex():
Мы можем использовать функцию complex() для преобразования других типов в сложный тип.

Форма-1: complex(x)
Мы можем использовать эту функцию для преобразования x в комплексное число с действительной частью x и мнимой частью 0.

Например:
Код:
 complex(10)==>10+0j
 complex(10.5)===>10.5+0j
 complex(True)==>1+0j
 complex(False)==>0j
 complex("10")==>10+0j
 complex("10.5")==>10.5+0j
 complex("ten")
 ValueError: complex() arg is a malformed string
Форма-2: complex(x,y)
Мы можем использовать этот метод для преобразования x и y в комплексное число таким образом, что x будет действительной
частью, а y будет мнимой частью.

Например: complex(10, -2) ~> 10-2j
complex(True, False) ~> 1+0j

bool():
Мы можем использовать эту функцию для преобразования других значений типа в тип bool.

Код:
 bool(0) ~> False
 bool(1) ~> True
 bool(10) ~> True
 bool(10.5) ~> True
 bool(0.178) ~> True
 bool(0.0) ~> False
 bool(10-2j) ~> True
 bool(0+1.5j) ~> True
 bool(0+0j) ~> False
 bool("True") ~> True
 bool("False") ~> True
 bool("") ~> False
str():
Мы можем использовать этот метод для преобразования значений других типов в тип str.

Код:
 >>> str(10)
 '10'
 >>> str(10.5)
 '10.5'
 >>> str(10+5j)
 '(10+5j)'
 >>> str(True)
 'True'

Основные типы данных и неизменность:
Все основные типы данных неизменяемы. т. е. как только мы создаем объект,мы не можем вносить в него какие-либо изменения.
Если мы пытаемся что-то изменить, то с помощью этих изменений будет создан новый объект.
Такое поведение, за которое не взимается плата, называется неизменностью.

В Python, если требуется новый объект, PVM не будет создавать объект немедленно.
Сначала он проверит, доступен ли какой-либо объект с требуемым содержимым или нет.
Если он доступен, то существующий объект будет использован повторно.
Если он недоступен, то будет создан только новый объект.
Преимущество такого подхода заключается в том, что использование памяти и производительность будут улучшены.

Но проблема в этом подходе заключается в том, что несколько ссылок, указывающих на один и тот же объект, используют одну ссылку, если нам разрешено изменять содержимое существующего объекта, то это повлияет на остальные ссылки.
Чтобы предотвратить эту концепцию неизменности, требуется.
В соответствии с этим, как только создается объект, нам не разрешается изменять содержимое.
Если мы попытаемся изменить это, будет создан новый объект.

Код:
 >>> a=10
 >>> b=10
 >>> a is b
 True
 >>> id(a)
 1572353952
 >>> id(b)
 1572353952
 >>>

>>> a=10>>> a=10+5j>>> a=True>>> a='durga'
>>> b=10>>> b=10+5j>>> b=True>>> b='durga'
>>> id(a)>>> a is b>>> a is b>>> a is b
1572353952FalseTrueTrue
>>> id(b)>>> id(a)>>> id(a)>>> id(a)
157235395215980256157217262416378848
>>> a is b>>> id(b)>>> id(b)>>> id(b)
True15979944157217262416378848


Тип данных байта
Тип данных bytes представляет собой группу байтовых чисел, таких же, как массив.

Код:
 x = [10,20,30,40]
 b = bytes(x)
 type(b) ~> bytes
 print(b[0]) ~> 10
 print(b[-1]) ~> 40
 >>> for i in b : print(i)

 10
 20
 30
 40
Вывод 1:
Единственные допустимые значения для типа данных байт-от 0 до 256. По ошибке, если мы пытаемся
указать какие-либо другие значения, мы получим ошибку значения.
Вывод 2:
Как только мы создадим значение типа данных байт, мы не сможем изменить его значения, иначе мы получим "Ошибка типа".

Например:

>>> x=[10,20,30,40]
>>> b=bytes(x)
>>> b[0]=100
TypeError: 'bytes' object does not support item assignment


Тип данных bytearray
Массив байтов в точности совпадает с типом данных bytes, за исключением того, что его элементы могут быть изменены.

Например:
1) x=[10,20,30,40]
2) b = bytearray(x)
3) for i in b : print(i)
4) 10
5) 20
6) 30
7) 40
8) b[0]=100
9) for i in b: print(i)
10) 100
11) 20
12) 30
13) 40

Или же:
1) >>> x =[10,256]
2) >>> b = bytearray(x)
3) ValueError: byte must be in range(0, 256)


Тип данных списка
Если мы хотим представить группу значений как единую сущность, в которой порядок вставки, необходимый для сохранения, и дубликаты разрешены, нам следует выбрать тип данных списка.
1) Порядок вставки сохраняется
2) Допускаются разнородные объекты
3) Допускаются дубликаты
4) Пригоден для выращивания в природе
5) Значения должны быть заключены в квадратные скобки

Например:
1) list=[10,10.5,'durga',True,10]
2) print(list) # [10,10.5,'durga',True,10]

Так же:
1) list=[10,20,30,40]
2) >>> list[0]
3) 10
4) >>> list[-1]
5) 40
6) >>> list[1:3]
7) [20, 30]
8) >>> list[0]=100
9) >>> for i in list:print(i)
10) ...
11) 100
12) 20
13) 30
14) 40

Список может быть увеличен по своей природе. т. е. в зависимости от наших требований мы можем увеличить или уменьшить размер.
1) >>> list=[10,20,30]
2) >>> list.append("durga")
3) >>> list
4) [10, 20, 30, 'durga']
5) >>> list.remove(20)
6) >>> list
7) [10, 30, 'durga']
8) >>> list2=list*2
9) >>> list2
10) [10, 30, 'durga', 10, 30, 'durga']

Примечание: Упорядоченная, изменяемая, неоднородная коллекция элементов-это не что иное, как список, где также допускаются дубликаты.

Концепция констант неприменима в Python.
Но принято использовать только символы верхнего регистра, если мы не хотим изменять значение.
МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ = 10
Это просто условность, но мы можем изменить значение.
 
Пользователь
Статус
Оффлайн
Регистрация
4 Дек 2017
Сообщения
150
Реакции[?]
32
Поинты[?]
0
Спасибо за статью, попробую начать учить питон по ней.
 
Пользователь
Статус
Оффлайн
Регистрация
14 Авг 2021
Сообщения
138
Реакции[?]
84
Поинты[?]
1K
Спасибо за статью, попробую начать учить питон по ней.
Как по мне, я бы не сказал что учить это легко.
В следующий раз я попытаюсь найти по проще.
 
Начинающий
Статус
Оффлайн
Регистрация
13 Апр 2021
Сообщения
19
Реакции[?]
1
Поинты[?]
0
Красавчик! Делай ещё подобных тем!
 
Начинающий
Статус
Оффлайн
Регистрация
20 Фев 2020
Сообщения
13
Реакции[?]
4
Поинты[?]
1K
красава чувак, информативно и без воды ?
 
Сверху Снизу