Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Archy

Занесение данных в таблицу SQLite

Мы создадим таблицу Cars и внесем несколько строк данных в неё.

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import sqlite3 as lite
import sys
 
# Подключаемся к базе данных
con = lite.connect('test.db')
 
with con:
    cur = con.cursor()    
    # Создаем таблицу
    cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")
    # Вносим данные
    cur.execute("INSERT INTO Cars VALUES(1, 'Audi', 52642)")
    cur.execute("INSERT INTO Cars VALUES(2, 'Mercedes', 57127)")
    cur.execute("INSERT INTO Cars VALUES(3, 'Skoda', 9000)")
    cur.execute("INSERT INTO Cars VALUES(4, 'Volvo', 29000)")
    cur.execute("INSERT INTO Cars VALUES(5, 'Bentley', 350000)")
    cur.execute("INSERT INTO Cars VALUES(6, 'Citroen', 21000)")
    cur.execute("INSERT INTO Cars VALUES(7, 'Hummer', 41400)")
    cur.execute("INSERT INTO Cars VALUES(8, 'Volkswagen', 21600)")

Данный скрипт создаёт таблицу Cars и вставляет 8 строк в таблицу.

cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")

Этот SQL-запрос создает новую таблицу Cars. Таблица имеет три столбца.

cur.execute("INSERT INTO Cars VALUES(1,'Audi',52642)")
cur.execute("INSERT INTO Cars VALUES(2,'Mercedes',57127)")

Далее...

Создать Sitemap.XML в Python

25 июля 2015 г. Archy Обсудить

Создать Sitemap.XML в Python

Большинство CMS в наши дни имеют собственные инструменты для создания карты сайта. Но, что делать если нам нужен инструмент который создавал sitemap.xml для определенного сайта не имея доступа к базе данных. Для этого нужно воспользоваться небольшим парсером который посетит все публичные ссылки на нужном сайте и составит его карту.

Карта сайта весьма нужный файл на вашем сайте. Такие поисковые системы как Google и Яндекс отдают предпочтение сайтам с уже готовым sitemap. Поисковики понимают какие страницы для вас важнее и какие обновляются чаще и нуждаются в особом внимании. Кодировка файла sitemap.xml должна быть utf-8.

Структура файла Sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
   <url>
      <loc>http://python-3.ru/</loc>
      <lastmod>2015-07-25</lastmod>
      <changefreq>daily</changefreq>
      <priority>1.0</priority>
   </url>
 
   <url>
      <loc>http://python-3.ru/category/pyqt/</loc>
      <lastmod>2015-07-25</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
 
</urlset>

Далее...

Руководство по SQLite Python [Часть 1]

16 июля 2015 г. Archy SQLite 2

Руководство по SQLite Python

Это руководство по программированию в Python используя базы данных SQLite. Оно покрывает основы программирования SQLite с помощью языка Python.

Необходимые условия

Чтобы работать с примерами их статьи, мы должны иметь установленный в системе язык Python, базу данных SQLite, привязку к языку pysqlite и инструмент командной строки sqlite3. Если мы имеем Python 2.5+, тогда нам необходимо только установить инструмент командной строки sqlite3. Как библиотека SQLite, так и привязка к языку pysqlite встроены в язык Python.

$ python
Python 2.7.3 (default, Jan  2 2013, 16:53:07) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.7.13'

Далее...

Создание игры «Тетрис» в PyQt5 [Урок №12]

16 марта 2015 г. Archy Изучение PyQt5 11

Создание игры «Тетрис» в PyQt5

Игра Тетрис – одна из самых популярных когда-либо созданных компьютерных игр. Оригинальная игра была разработана и запрограммирована русским программистом Алексеем Пажитновым в 1985 году. С тех пор, Тетрис доступен на почти каждой компьютерной платформе в множестве вариаций.

Тетрисом называется игра-головоломка с падающими блоками. В этой игре, мы имеет семь разных фигур, называемых как: S-фигура, Z-фигура, T-фигура, L-фигура, фигура-линия, фигура «Зеркальная L», и фигура-квадрат. Каждая из этих фигур формируется с помощью четырёх квадратиков. Фигуры падают вниз на доску. Цель игры Тетрис – перемещать и вращать фигуры так, чтобы их приземлилось как можно больше. Если мы сумеем сформировать ряд, ряд разрушается и мы получаем очки. Мы играем в Тетрис до тех пор, пока мы не достигнем верха.

Тетромино
Рисунок: Тетромино

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

Далее...

Создание собственного виджеты в PyQt5

PyQt5 имеет богатый набор готовых виджетов. Тем не менее, нет инструментария, способного предоставить все виджеты, в которых программисты могут нуждаться для своих приложений. Библиотеки обычно предоставляют только самые распространенные виджеты, такие как кнопки, текстовые виджеты или ползунки. Если существует необходимость в более специализированных виджетах, мы должны создать их сами.

Собственные виджеты создаются путём использования инструментов рисования, предоставляемых библиотекой. Существует две основных возможности: программист может изменить или дополнить существующий виджет, или он может создать собственный виджет с нуля.

Далее...

Рисование в PyQt5 [Урок №10]

Рисование в PyQt5

Система рисования PyQt5 может использовать в работе векторную графику, изображения и контур основанного на шрифте текста. Рисование необходимо в приложениях, когда мы хотим изменить или увеличить существующий виджет, или мы создаём пользовательский виджет с нуля. Чтобы сделать рисунок, мы используем API рисования, предоставленное инструментарием PyQt5.

Рисование делается в рамках метода paintEvent(). Код рисования размещается между методами begin() и end() объекта QPainter. Он исполняет низкоуровневое рисование на виджетах и других окрашиваемых элементах.

Далее...

Перетаскивание «Drag’n’drop» в PyQt5 [Урок №9]

14 марта 2015 г. Archy Изучение PyQt5 1

Перетаскивание «Drag’n’drop» в PyQt5

В этой части руководства по PyQt5, мы поговорим об операциях перетаскивания. В графических интерфейсах, Drag’n’drop – это действие (или поддержка для действия) клика на виртуальный объект и перетаскивания его в другое положение или в другой виртуальный объект. В общем, это может быть использовано, чтобы запускать множество видов действий, или создавать различные типы ассоциаций между двумя абстрактными объектами.

Drag’n’drop – это часть графического пользовательского интерфейса. Операции перетаскивания позволяют пользователям делать сложные вещи интуитивно.

Обычно, мы можем перетаскивать две вещи: данные или некие графические объекты. Если мы перетаскиваем изображение из одного приложения в другое, мы перетаскиваем двоичные данные. Если мы перетаскиваем таблицу в Firefox и перемещаем её в другое место, мы перетаскиваем графический компонент.

Далее...

Виджеты PyQt5 - Часть 2 [Урок №8]

14 марта 2015 г. Archy Изучение PyQt5 2

Виджеты PyQt5 - Часть 2

Здесь мы продолжим знакомство с виджетами PyQt5.

Мы обсудим QPixmap, QLineEdit, QSplitter и QComboBox.

QPixMap

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

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication)
from PyQt5.QtGui import QPixmap
 
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):      
        hbox = QHBoxLayout(self)
        pixmap = QPixmap("redrock.png")
        lbl = QLabel(self)
        lbl.setPixmap(pixmap)
        hbox.addWidget(lbl)
        self.setLayout(hbox)
        
        self.move(300, 200)
        self.setWindowTitle('Red Rock')
        self.show()        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
Далее...

Виджеты PyQt5 [Урок №7]

14 марта 2015 г. Archy Изучение PyQt5 3

Виджеты PyQt5

Виджеты – это основные строительные кирпичики приложения. PyQt5 имеет широкий диапазон различных виджетов, включая кнопки, чек-боксы, ползунки и списки. В этой части руководства, мы опишем несколько полезных виджетов: QCheckBox, ToggleButton, QSlider, QProgressBar и QCalendarWidget.

QCheckBox

QCheckBox – это виджет, который имеет два состояния: вкл. и выкл. Это квадратик с меткой. Как правило, чекбоксы используют, чтобы представить функции приложения, которые могут быть включены или выключены.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication
from PyQt5.QtCore import Qt
 
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):      
        cb = QCheckBox('Show title', self)
        cb.move(20, 20)
        cb.toggle()
        cb.stateChanged.connect(self.changeTitle)
        
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QCheckBox')
        self.show()
        
    def changeTitle(self, state):
        if state == Qt.Checked:
            self.setWindowTitle('QCheckBox')
        else:
            self.setWindowTitle('')
            
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
Далее...

Диалоги в PyQt5 [Урок №6]

10 марта 2015 г. Archy Изучение PyQt5 5

Диалоги в PyQt5

Диалоговые окна или диалоги являются незаменимой частью большинства современных графических приложений. Диалог определяется как беседа между двумя и более людьми. В компьютерном приложении, диалог – это окно, которое используется, чтобы «разговаривать» с приложением. Диалог используется для ввода данных, изменения данных, изменения настроек приложения, и т.д.

QInputDialog

QInputDialog обеспечивает простой удобный диалог для получения единственного значения от пользователя. Введённое значение может быть строкой, числом или пунктом из списка.

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, QApplication)
 
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
        
    def initUI(self):      
        self.btn = QPushButton('Dialog', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.showDialog)
        
        self.le = QLineEdit(self)
        self.le.move(130, 22)
        
        self.setGeometry(300, 300, 290, 150)
        self.setWindowTitle('Input dialog')
        self.show()
        
        
    def showDialog(self):
        text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')
        
        if ok:
            self.le.setText(str(text))
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
Далее...