abs
abs() используется для возврата абсолютного значения числа.
# integer number
integer = -20
print('Absolute value of -40 is:', abs(integer))
# floating number
floating = -20.83
print('Absolute value of -40.83 is:', abs(floating))
all и any
Функции any и all могут быть объединены с генераторным выражением, чтобы определить, соответствуют ли элементы в итерационной переменной заданному условию.
def palindromic(sequence):
"""Return True if the sequence is the same thing in reverse."""
return all(
n == m
for n, m in zip(sequence, reversed(sequence))
)
ascii
ascii() возвращает строку с содержанием представления object. Метод экранирует другие символы в строке с помощью символов \x, \u или \ubiscape.
normalText = 'Python is interesting'
print(ascii(normalText))
otherText = 'Python is interesting'
print(ascii(otherText))
print('Pyth\xf6n is interesting')
bin
binary или bin() возвращает двоичное значение указанного числа.
number= 15
# convert 15 to its binary equivalent
print('The binary equivalent of 15 is', bin(number))
# Output: The binary equivalent of 15 is 0b1111
bool
bool() выдает значение True или False. Обычно она используется для проверки состояния оператора или выражения.
test = 254
# bool() with an integer number
print(test, 'is', bool(test))
test1 = 25.14
# bool() with a floating point number
print(test1, 'is', bool(test1))
test2 = 'Python is the best'
# bool() with a string
print(test2, 'is', bool(test2))
test3 = True
# bool() with True
print(test3, 'is', bool(test3))
bytearray
Возвращает объект bytearray и может преобразовывать объекты в объекты байтового массива или создавать пустой объект bytearray указанного размера.
string = "Python is interesting."
# string with encoding 'utf-8'
arr = bytearray(string, 'utf-8')
print(arr)
bytearray(b'Python is interesting.')
bytes
Используется для возврата объекта bytes. Это неизменяемая версия функции byte array().
string = "Python is interesting."
# string with encoding 'utf-8'
arr = bytes(string, 'utf-8')
print(arr)
callable
Эта встроенная функция проверяет и возвращает значение true, если переданный объект кажется доступным для вызова. Если нет, то возвращает значение false.
x = 8
print(callable(x))
chr
Метод chr() преобразует целое число в его символ unicode и возвращает его.
# Calling function
result = chr(102) # It returns string representation of a char
result2 = chr(112)
# Displaying result
print(result)
print(result2)
# Verify, is it string type?
print("is it string type:", type(result) is str)
ValueError: chr() arg not in range(0x110000)
classmethod
Функция возвращает метод класса для данной функции. Метод, который вы хотите преобразовать в метод класса, должен принимать class (cls) в качестве первого аргумента. Так же, как метод экземпляра получает instance (self).
Метод class привязан к классу, а не к объекту. Можно вызывать метод класса как с помощью class, так и с помощью object.
class School:
# class variable
name = 'ABC School'
def school_name(cls):
print('School Name is :', cls.name)
# create class method
School.school_name = classmethod(School.school_name)
# call class method
School.school_name()
compile
Принимает исходный код в качестве входных данных и возвращает объект кода, который позже может быть выполнен функцией exec().
codeInString = 'a = 5\nb=6\nmul=a*b\nprint("mul =",mul)'
codeObject = compile(codeInString, 'multiplyNumbers', 'exec')
exec(codeObject)
# Output: mul = 30
delattr
Применяется для удаления атрибута из класса. Она принимает два параметра: первый — это объект класса, а второй — атрибут, который мы хотим удалить. После удаления атрибута он больше не доступен в классе и выдает ошибку при попытке вызвать его с помощью объекта class.
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)
delattr(Coordinate, 'z')
print('--After deleting z attribute--')
print('x = ',point1.x)
print('y = ',point1.y)
# Raises Error
print('z = ',point1.z)
x = 10
y = -5
z = 0
--After deleting z attribute--
x = 10
y = -5
Traceback (most recent call last):
File "python", line 19, in <module>
AttributeError: 'Coordinate' object has no attribute 'z'
dict
Для создания словаря используется функция dict() или dictionary. Она принимает любое количество пар ключ-значение в качестве аргументов и создает словарь с этими аргументами.
num = dict (x = 10, y = 15)
print (“numbers = “, num)
print (type (num))
empty = dict ()
print (“empty =”, empty)
print (type (empty))
divmod
Функция нужна для получения остатка и частного от двух чисел. Эта функция принимает два числовых аргумента и возвращает кортеж. Оба аргумента обязательные и числовые.
# Python divmod() function example
# Calling function
result = divmod(10,2)
# Displaying result
print(result)
(5, 0)
enumerate
Добавляет счетчик к iterable и возвращает его как объект enumerate (итератор с индексом и значением).
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
def enumerate(iterable, start=0):
n = start
for elem in iterable:
yield n, elem
n += 1
eval
Анализирует выражение, переданное этому методу, и запускает выражение (код) python в программе.
# Perimeter of Square
def calculatePerimeter(l):
return 4*l
# Area of Square
def calculateArea(l):
return l*l
expression = input("Type a function: ")
for l in range(1, 5):
if (expression == 'calculatePerimeter(l)'):
print("If length is ", l, ", Perimeter = ", eval(expression))
elif (expression == 'calculateArea(l)'):
print("If length is ", l, ", Area = ", eval(expression))
else:
print('Wrong Function')
break
Type a function: calculateArea(l)
If length is 1 , Area = 1
If length is 2 , Area = 4
If length is 3 , Area = 9
If length is 4 , Area = 16
exec
Подходит для динамического выполнения программы на Python, которая может быть как строковым, так и объектным кодом. Она принимает большие блоки кода, в отличие от функции eval(), которая принимает только одно выражение.
# get an entire program as input
program = input('Enter a program:')
# execute the program
exec(program)
Enter a program: [print(item) for item in [1, 2, 3]]
1
2
3
filter
Применяется для получения отфильтрованных элементов. Эта функция принимает два аргумента. Первый — это функция, а второй — итерируемый объект. Функция filter возвращает последовательность элементов итерируемого объекта, для которых функция возвращает значение true.
Первым аргументом может быть none, если функция недоступна и возвращает только те элементы, которые являются истинными.
# Python filter() function example
def filterdata(x):
if x>5:
return x
# Calling function
result = filter(filterdata,(1,2,6))
# Displaying result
print(list(result))
format
Возвращает отформатированное представление заданного значения.
# decimal formatting
decimal_value = format(123, 'd')
print("Decimal Formatting:", decimal_value)
# binary formatting
binary_value = format(123, 'b')
print("Binary Formatting:", binary_value)
Decimal Formatting: 123
Binary Formatting: 1111011
frozenset
frozenset() принимает итерируемый объект в качестве входных данных и делает его неизменным. Функция делает итерируемые объекты неизменяемыми, «замораживая» их.
# tuple of vowels
vowels = (‘a’, ‘e’, ‘i’, ‘o’, ‘u’)
fSet = frozenset(vowels)
print(‘The frozen set is:’, fSet)
print(‘The empty frozen set is:’, frozenset())
# frozensets are immutable
fSet.add(‘v’)
The frozen set is: frozenset({‘a’, ‘o’, ‘u’, ‘i’, ‘e’})
The empty frozen set is: frozenset()
Traceback (most recent call last):
File “<string>, line 8, in <module>
fSet.add(‘v’)
AttributeError: ‘frozenset’ object has no attribute ‘add’
getattr
setattr() нужна для присвоения значения атрибуту объекта. Может возникнуть ситуация, когда нужно получить значения, присвоенные атрибутам. Для этого используется встроенная функция Python getattr().
class Employee:
name = 'David'
salary = 55000
designation = 'Marketing Head'
e = Employee()
print('Salary of David is:', getattr(e, 'salary'))
#This is equivalent to
print('Salary of David is:', e.salary)
Salary of David is: 55000
Salary of David is: 55000
globals
globals() применяется для обновления и возврата словаря, содержащего текущую глобальную таблицу символов. Встроенная функция Python globals() позволяет получать список всех глобальных переменных и их значений в определенном коде по всей программе.
car_brand = 'Jaguar'
print('Old Car:', car_brand)
globals()['car_brand'] = 'Ferrari'
print('New Car:', car_brand)
print('')
name = 'Rocky'
def Name():
name = globals()['name']
name = 'Charlie'
print ('global variable myname inside function:', name)
return
Name()
print ('global variable myname in global scope:', name)
Old Car: Jaguar
New Car: Ferrari
global variable myname inside function: Charlie
global variable myname in global scope: Rocky
hasattr
Объекты, содержащиеся в классе, можно рассматривать как схему для класса, которая отображает его атрибуты и поведение. Может потребоваться проверить наличие атрибута, который занят или содержится в классе. Для выполнения того же действия можно использовать hasattr().
l = [4, 3, 2, 0]
print(any(l))
l = [0, False]
print(any(l))
l = [0, False, 5]
print(any(l))
l = []
print(any(l))
True
False
True
False
hash
hash() применяется для шифрования данных в неузнаваемое значение.
# hash for integer unchanged
print('Hash for 181 is:', hash(181))
# hash for decimal
print('Hash for 181.23 is:',hash(181.23))
# hash for string
print('Hash for Python is:', hash('Python'))
Hash for 181 is: 181
Hash for 181.23 is: 530343892119126197
Hash for Python is: 2230730083538390373
hex
Преобразовывает целое число в эквивалентную шестнадцатеричную строку.
number = 435
print(number, 'in hex =', hex(number))
number = 0
print(number, 'in hex =', hex(number))
number = -34
print(number, 'in hex =', hex(number))
returnType = type(hex(number))
print('Return type from hex() is', returnType)
Output
435 in hex = 0x1b3
0 in hex = 0x0
-34 in hex = -0x22
Return type from hex() is <class 'str'>
id
id() подходит для возврата уникального идентификационного значения объекта, хранящегося в памяти.
a = 10
b = 14
text1 = 'Hello'
text2 = 'Hi'
print(id(a) == id(b))
print(id(text1) == id(text2))
False
False
import
Когда мы создаем программы на Python, нам могут понадобиться разные модули для использования различных функций и методов. Однако при написании большого количества строк кода может возникнуть сложность с планированием всех модулей, которые необходимо будет включить в программу.
Когда требуется импортировать модуль в середине выполнения кода, можно использовать функцию __import__ ().
mathematics = __import__('math', globals(), locals(), [], 0)
print(mathematics.fabs(-2.5))
2.5
input
Подходит для получения входных данных от пользователя. Функция считывает строку ввода, преобразует входные данные в строку и возвращает выходные данные.
# get input from user
inputString = input('Enter a string: ')
print('Input String :', inputString)
Enter a string: Python is fun
Input String : Python is fun
int
Применяется для преобразования указанной строки или числа в целочисленное значение.
# integer
print("int(123) is:", int(123))
# float
print("int(123.23) is:", int(123.23))
# string
print("int('123') is:", int('123'))
Output
int(123) is: 123
int(123.23) is: 123
int('123') is: 123
isinstance
isinstance () проверяет, является ли объект экземпляром указанного класса. Можно проверить, является ли объект или переменная экземпляром типа или класса. Если в программе присутствует наследование, то функцию можно использовать для проверки того, является ли указанный класс родительским классом объекта.
class Foo:
a = 5
fooInstance = Foo()
print(isinstance(fooInstance, Foo))
print(isinstance(fooInstance, (list, tuple)))
print(isinstance(fooInstance, (list, tuple, Foo)))
iter
iter в Python нужна для возврата итератора для объекта. Функция iter() используется для создания объекта, который будет выполнять итерацию по одному элементу за раз. Она принимает два необязательных аргумента в качестве входных данных.
# list of vowels
vowels = ["a", "e", "i", "o", "u"]
# iter() with a list of vowels
vowels_iter = iter(vowels)
print(next(vowels_iter))
print(next(vowels_iter))
print(next(vowels_iter))
print(next(vowels_iter))
print(next(vowels_iter))
a
e
i
o
u
len
Подходит для вычисления длины любого итерируемого объекта, передаваемого в качестве параметра функции len().
string = 'Hello World'
print('Length of', string, 'is :', len(string))
my_bytes = b'Good Evening'
print('Length of', my_bytes, 'is :', len(my_bytes))
Length of Hello World is : 11
Length of b'Good Evening' is : 12
locals
В локальной таблице символов хранится информация, необходимая для локальной области действия программы. Доступ к информации в локальной таблице символов можно получить с помощью locals (). Локальная область действия может находиться внутри функции или класса.
class local:
l = 50
# locals inside a class
print('\nlocals() value inside class\n', locals())
locals() value inside class
{'__module__': '__main__', '__qualname__': 'PLocal', 'l': 50}
map
map() помогает обрабатывать и преобразовывать все объекты в виде итераций, не прибегая к методу mapping. Когда вам нужно применить функцию преобразования к каждому элементу в iterable и превратить его в новый iterable, можно применять функцию map().
def square(n):
return n*n
numbers = (1, 2, 3, 4)
result = map(square, numbers)
print(result)
# converting the map object to set
result = set(result)
print(result)
<map object at 0x7f722da129e8>
{16, 1, 4, 9}
max
Функция max принимает входные данные и возвращает элемент с наибольшим значением в этой итерируемой переменной.
number = [3, 2, 8, 5, 10, 6]
largest_number = max(number);
print("The largest number is:", largest_number)
The largest number is: 10
memoryview
Объекты memoryview() позволяют Python напрямую считывать и записывать внутренние байтовые данные объекта, поддерживающего протокол buffer.
my_byte_array = bytearray('ABCDE', 'utf-8')
print(my_byte_array)
# Create memoryview object
mv = memoryview(my_byte_array)
print(type(mv)) # displays the type of variable mv
print(mv) # displays memory location of the created memoryview object
# access memory view's index
print(mv[0])
print(mv[2])
# create byte from memory view
print(bytes(mv[0:3]))
# create list from memory view
print(list(mv[0:5]))
bytearray(b'ABCDE')
<class 'memoryview'>
65
67
b'ABC'
[65, 66, 67, 68, 69]
min
Возвращает наименьший элемент в цикле итераций. Ее также можно использовать для поиска наименьшего элемента между двумя или более параметрами.
number = [3, 2, 8, 5, 10, 6]
smallest_number = min(number);
print("The smallest number is:", smallest_number)
The smallest number is: 2
next
Отвечает за возврат следующего элемента в итераторе.
number = iter([256, 32, 82]) # Creating iterator
# Calling function
item = next(number)
# Displaying result
print(item)
# second item
item = next(number)
print(item)
# third item
item = next(number)
print(item)
256
32
82
object
object () возвращает объект, не обладающий никакими функциями или атрибутами. Этот объект будет рассматриваться как базовый для всех классов.
test = object()
print(type(test))
print(dir(test))
<class 'object'>
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__',
'__init__', '__init_subclass__', '__le__', '__lt__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__sizeof__', '__str__', '__subclasshook__']
ord
Возвращает целое число, представляющее символ Юникода.
print(ord('5')) # 54
print(ord('A')) # 31
print(ord('$')) # 36
54
31
36
print() подходит для получения выходных данных. Метод нужен для отображения информации на экране, а также для отладки кода. Эта функция выводит сообщение или значение на консоль.
print("Python is fun.")
a = 5
# Two objects are passed
print("a =", a)
b = a
# Three objects are passed
print('a =', a, '= b')
Python is fun.
a = 5
a = 5 = b
property
Подходит для создания свойства класса.
class Pet:
def __init__(self, name):
self._name = name
def get_name(self):
return self._name
def set_name(self, name):
self._name = name
def del_name(self):
del self._name
name = property(get_name, set_name, del_name)
dog = Pet("Bruno")
print(dog.name)
dog.name = "Mars"
print(dog.name)
del dog.name
Bruno
Mars
range
Генерирует последовательность чисел.
numbers = range(4)
for i in numbers:
print(i)
repr
Специальный метод для представления объектов класса в виде строки.
var = 'foo'
print(repr(var))
'foo'
set
Создает набор в Python.
print(set())
# from string
print(set('Python'))
# from tuple
print(set(('a', 'e', 'i', 'o', 'u')))
# from list
print(set(['a', 'e', 'i', 'o', 'u']))
# from range
print(set(range(5)))
setattr
Нужна для присвоения нового значения атрибуту объекта/экземпляра.
class Person:
name = 'Alan'
p = Person()
print('Before modification:', p.name)
# setting name to 'Pol'
setattr(p, 'name', 'Pol)
print('After modification:', p.name)
Before modification:Alan
After modification: Pol
sorted
Сортирует элементы итерационной таблицы в порядке возрастания и возвращает ее.
vowels_list = ['e', 'a', 'u', 'o', 'i']
print('Sorted Vowels:', sorted(vowels_list))
# Output: Sorted Vowels: ['a', 'e', 'i', 'o', 'u']
sum
Возвращает сумму всех числовых значений, предоставляемых в iterable. Числовые значения, передаваемые в функции, могут быть как целыми числами, так и числами с плавающей запятой.
s = sum([6, 2,4 ])
print(s)
s = sum([6, 2, 4], 11)
print(s)
12, 23
type
Функция позволяет узнать, какой тип данных сейчас используется.
x = 5
print(type(x))
s = 'xyz’
print(type(s))
from collections import OrderedDict
od = OrderedDict()
print(type(od))
class Data:
pass
d = Data()
print(type(d))
<class 'int'>
<class 'str'>
<class 'collections.OrderedDict'>
<class '__main__.Data'>
vars
Возвращает сопоставления пар имя: значение для всех имен, определенных в локальной области видимости или области действия необязательного аргумента object, а также связанные с ними значения.
class Person:
name = "John"
age = 36
country = "Norway"
x = vars(Person)
print(x)
{'__module__': '__main__', 'name': 'John', 'age': 36, 'country': 'Norway', '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None
zip
Принимает повторяющиеся значения, объединяет их в кортеж и возвращает его.
names = ("John", "Jane", "Jade", "John")
ages = (2, 4, 6)
zipped = zip(names, ages)
for(x,y) in zipped:
print(x,y)
# John 2
# Jane 4
# Jade 6