Skip to content

Основы Python словами ньюба (Часть 3)

Posted on:March 28, 2023 at 12:18 PM
# =========================================================
#                  Модули и библиотеки 
# =========================================================
"""
        Разновидности модулей
* встроенные (math, random, ...)
* сторонние (django, PyQt5, ...)
* свои (любой .py файл)
* между своими и сторонними модулями нет принципиальной разницы, 
отличие только в авторе
"""
# ----------------------------------------------------------
"""
Варианты подключения
* модуль целиком import repository1 as rp
* модуль целиком import repository2
* rp.insert_phone - функции могут работаь по разному
* repository2.insert_phone
* псевдоним для модуля import math as mt
* импорт всего содержания from math import * (не рекомендуется)
* импорт конкретных функций, классов, … from math import sin, cos
"""
# =========================================================
#                  Системные модули 
# =========================================================
# import math
# import random as rd
# print(math.pi)
# print(math.sin(38))
# print(rd.randint(1,10))
from math import * #(таким образом импортируется весь модуль)
print(pi)
print(sin(30))
from random import randint,randrange # (таким образом мы импортируем только нужные модули)
print(randint(1,10))
# =========================================================
# Использование math - Математические функции.Работа с числами.
# =========================================================
"""
    Основные функции math
* factorial - факториал числа
* exp - экспонента
* log, log2, log10 - логарифмы
* sqrt - квадратный корень
* sin, cos, asin, asoc, ...
* и многие другие
"""
import math
# 1. найти длинну окружности с определенным радиусом
r =100
print(2*r*math.pi)
# 2. найти площадь окружности с определенным радиусом
print((r**2)*math.pi)
print((math.pow(r,2))*math.pi) # При помощи pow 
# 3. по координатам 2-х точек определить расстояние между ними
x1 = 10
y1 = 10
x2 = 50 
y2 = 100
l = math.sqrt((x1-x2)**2+(y1-y2)**2)
print(l)
# 4. найти факториал числа 9
print(math.factorial(9))
# =========================================================
#               Использование random
# =========================================================
"""
    Использование random
* Генерация случайных чисел
* Букв
* Элементов последовательности
    Основные функции random
* randint - целое случайное число от A до B
* choice - случайный элемент последовательности
* shuffle - перемешивает последовательность
* random - случайное число от 0 до 1
* sample - список длиной k из последовательности
* и многие другие
"""
from random import randint,choice,sample,shuffle
# 1. загадать случайное число от 0 до 100
print(randint(0,100))
# 2. Выбрать победителя лотереии из списка players
players = ['Dima','Roma','Kate','Anna','Denis']
print(choice(players))
# 3.Выбрать 3х победителей лотереи из списка players
print(sample(players,3))
# 4. перемешать карты в стопке (списке) cards
cards = ['6','7','8','9','10','J','Q','K','A']
print(cards)
shuffle(cards)
print(cards)
# =========================================================
#                  Модуль os 
# =========================================================

"""
     Функции и переменные os
* name - имя операционной системы
* chdir - смена текущей директории 
* getcwd() - текущая рабочая директория
* mkdir() - создание директории (папки)
* os.path - модуль для работы с путями 
* и многие другие
"""
import os
# Имя операционной системы
print(os.name)
# текущая рабочая директория
print(os.getcwd())
# создаем новый путь
# new_path = os.path.join(os.getcwd(),'new_f')
# # создаем папку по новому пути
# os.mkdir(new_path)
# =========================================================
#   Модуль sys - Взаимодействие с интерпретатором Python
# =========================================================
"""
    Функции и переменные sys
* executable - путь к интерпретатору Python
* exit() - выход из Python
* platform - информация об ОС
* path - список путей поиска модулей
* argv - список аргументов командной строки
* и многие другие
"""
import sys
# путь до интерпретатора
print(sys.executable)
# Информация о платформе
print(sys.platform)
# Выход из python
# sys.exit()
# print('Этот код мы уже не выполним')
"""
        sys.path
* очень важная переменная
* она хранит пути? по которым Python ищет модули
* она имеет изменяемый тип данных list
* таким образом мы можем изменять эту переменную
"""
import sys 
print(sys.path)
print(type(sys.path))
for p in sys.path:
    print(p)
# sys.path.appended('D:') добавляем пусть где будут модули
# import namemodule импортируем модуль

# Что бы выполнялись только функции из модуля. 
# это должно быть написано внизу. # # if __name__ =='__main__':
# и тогда будут импортироваться только функции без кода