С ростом популярности технологий искусственного интеллекта все больше фронтенд-программистов стали обращать внимание на смежные технологии. Будучи наиболее часто используемым языком в области искусственного интеллекта, Python — это тот же язык сценариев, что и JavaScript, язык, который интерфейсные программисты используют каждый день.В процессе разработки этих двух сообщество также учится друг у друга, поэтому есть много общего. Интерфейсный программист, знакомый с языком JavaScript, может быстро начать работу с Python, уловив различия между ними.
Ниже приведены моменты синтаксиса Python, которые отличаются от JavaScript, которые я записал в процессе обучения для удобства.
виды и операции
- Логические два ключевых слова типа True False
- Логическая операция и, или, не ключевое слово является и или нет
- Пустое значение — None
- точное деление / ; округление деления //
- заполнители для строк формата (например, строки шаблона) '%d %f %s %x' % (1, 1.2, 'aaa', '0x16')
- Преобразования между типами и логическими типами: до тех пор, пока
x
Если это ненулевое значение, непустая строка, непустой список и т. д., оно оценивается какTrue
, иначеFalse
. - Строгая типизация, разные типы нельзя сравнивать, требуются явные функции преобразования.
структура кода
- Двоеточия и отступы представляют блоки кода, а отступ не указан
- Условное суждение:
if a > b:
a++
elif:
b++
else:
c++
- Перебрать массив, используя for in
- Временно свободные блоки операторов могут быть заняты ключевым словом pass
- попробуйте блок:
try:
print('try...')
r = 10 / 0
print('result:', r)
except ZeroDivisionError as e:
print('except:', e)
finally:
print('finally...')
print('END')
- Генерация исключения: поднять FooError('недопустимое значение: %s' % s)
список и кортеж
-
Список разделен на список и кортеж
-
Получить длину списка len()
-
Получить последний параметр списка datas[-1], предпоследний datas[-2]
-
Метод работы со списком:
Добавьте datas.append(данные) в конце
Вставить в указанную позицию: datas.insert(индекс, данные)
Удалите конец: datas.pop()
Удалить указанную позицию: datas.pop(index)
-
Типы данных в списке могут быть разными, как и в JavaScript.
-
tuple — неизменяемый список
-
определение кортежа: (1, 2, 3)
-
кортеж только с одним элементом: (1.2, )
продиктовать и установить
- Тип, подобный Map, называется dict.
- Поиск через d['key'] сообщит об ошибке, если ключ не существует
- Используйте «ключ» в операции d, чтобы определить, содержит ли он
- d.get('key') возвращает None, если он не существует
- dict может использовать d.pop('key') для удаления элементов
- Ключи dict должны быть неизменяемыми типами данных, такими как строки и целые числа.
- set содержит только уникальные ключи
- Чтобы создать набор, вам нужно предоставить список в качестве входного набора: s = set(list), который автоматически отфильтрует повторяющиеся элементы.
- установить добавляет добавить (ключ)
- Установить удалить Удалить (ключ)
- Установить операцию пересечения и объединения s1 & s2 ; s1 | s2
Операции по сбору
-
Разрез: L[a: b: c] от a до b (закрыто слева и открыто справа, опора взаимна), возьмите по одному за каждое c
-
Tuple и str также можно нарезать, и результат останется исходного типа.
-
для итерации dict по умолчанию используется ключ итерации
-
Перебрать значение dict: для значения в d.values()
-
Повторить ключ и значение dic: для k, v в d.items()
-
Цикл индекса: для i значение в enumerate(['A', 'B', 'C']):
-
Цикл, который ссылается на несколько переменных: для x, y в [(1, 1), (2, 4), (3, 9)]:
-
Компиляции списка: [x * x для x в диапазоне (1, 11), если x % 2 == 0], [m + n для m в 'ABC' для n в 'XYZ']
-
Генератор списков: динамически генерировать элементы в списке, экономя место в памяти
-
Как создать генератор списков
Измените [] вне понимания списка на ()
Определите функцию генератора
-
Обмен переменных: a, b = b, a
-
Iterable включает в себя list, tuple, dict, set, str
-
Итератор включает генератор
-
Итераторы лениво оцениваются
-
Iterable можно преобразовать в Iterator с помощью функции iter().
-
И Iterable, и Iterator могут использовать for, только Iterator может использовать next()
-
Тип возвращаемого значения map() — Iterator.
-
Функция обратного вызова функции reduce() принимает два параметра, похожих на последовательность Фибоначчи, а тип возвращаемого значения — это тип элемента списка.
-
Второй именованный аргумент ключевого слова функции sorted() сопоставляет исходные элементы с сортируемыми.
функция
- Количество и тип параметров функции должны соответствовать определению, иначе будет сообщено об ошибке
- Функция преобразования типа данных int() float() str() bool()
- определение функции
def abc(x):
return 0
-
Функция может возвращать несколько значений, по сути, представляет собой кортеж.
-
Параметры по умолчанию могут быть определены в виде мощности (x, n = 2)
-
Если параметры не опущены по порядку при вызове функции, можно использовать следующую форму: enroll('Adam', 'M', city='Tianjin')
-
Параметр по умолчанию должен указывать на неизменяемый объект, иначе могут возникнуть проблемы при многократном вызове функции и изменении параметра.
-
Тип параметра:
Общие параметры называются позиционными параметрами, а взаимосвязь указывается позицией в таблице параметров;
Функция определения переменных параметров calc(*numbers) сформирует кортеж с несколькими входящими параметрами.При вызове calc(*[1,2,3]) это означает, что список передается как переменный параметр;
Функция определения параметра ключевого слова def person(name, age, **kw): входящая пара ключ-значение будет передана как dict, вызывая, например, person('Adam', 45, gender='M', job=' Инженер');
Именованный параметр ключевого слова — это параметр def person(name, age, *, city, job) после разделителя *, а person('Jack', 24, city='Beijing', job='Engineer') должен вызываться как это, если в определении функции уже есть переменный параметр, а следующие именованные ключевые параметры больше не нуждаются в специальном разделителе: def person(name, age, *args, city, job):, именованные ключевые параметры передаются в must иметь имя параметра, а параметру именованного ключевого слова также можно установить значение по умолчанию def person(name, age, *, city='Beijing', job):
-
Порядок каждого типа должен быть следующим: обязательные параметры, параметры по умолчанию, переменные параметры, параметры именованного ключевого слова и параметры ключевого слова.
-
Анонимная функция lambda x:x*x может иметь только одно выражение, в которое не нужно писать return
-
Функция высшего порядка декоратора @callable изменяет определение функции.
-
Функция частичной функции functools.partial состоит в том, чтобы исправить некоторые параметры функции (то есть установить значения по умолчанию) и вернуть новую функцию, которую будет проще вызывать.
объектно-ориентированный
- Определение класса: класс Студент (объект):
- Конструктор: def __init__(self):
- Если имя переменной экземпляра начинается с
__
В начале она становится приватной переменной (private), доступ к которой возможен только внутри, а не снаружи. - Тип просмотра: тип()
- Просмотр отношений наследования: isinstance()
- Атрибут экземпляра определяется как self.name=name в конструкторе, атрибут класса пишется напрямую, а атрибут класса вызывается напрямую через экземпляр. атрибут класса.
- Все экземпляры доступны после привязки метода к объекту
- Атрибуты, которые могут быть привязаны к экземплярам класса, могут быть определены с помощью __slots__ = ('имя', 'возраст')
- Аксессоры можно определить через декораторы @property, @xxx.setter
- Класс множественного наследования Dog (Mammal, RunnableMixIn, CarnivorousMixIn):
пакеты и модули
- В каталоге должен быть __init__.py, чтобы быть пакетом, а __init__.py — это модуль пакета.
- Первая строка кода любого модуля рассматривается как комментарий к документации модуля;