Посоветуйте большой проект, который является эталоном кодинга
Просто надо у кого-то знания перенимать.
Что скажете о https://github.com/tensorflow/tensorflow ?
Просто надо у кого-то знания перенимать.
Что скажете о https://github.com/tensorflow/tensorflow ?
Python 3.5.2 [GCC 5.4.0 20160609]
data = open('input.tar.gz', 'rb').read() #Открыть
data_hex = data.hex() #Перевести в нормальный hex вид
data_dec = int(data_hex, 16) #Перевести в dec
output = open('output.txt', 'wt').write(str(data_dec)) #Записать в файл
Почему требуется так много выч.ресурсов? Как я понимаю, дело здесь в 3 строчке — но разве на это нужно так много ресурсов? Хотелось бы понять, почему так происходит и как можно ускорить выполнение.
UPD. «The process python3 (with pid 3609) is using approximately 11.0 MB of memory. It is using 11.0 MB privately, and a further 2.6 MB that is, or could be, shared with other programs.» — размер со временем растет.
Многие советуют Java, говоря что даже Junior без резюме нарасхват, но мне больше импонируют C++ и Python(к Java ненависти не испытываю). Выбор между этими 2 вариантами(Java;C++ и Python).
Скорее всего, за то время что у меня есть(2 года до ухода в армию), я смогу Java подтянуть до Middle, а на C++ и Python так и буду где-то в самом начале.
Не нужно говорить: «что больше нравится, то и учи». Хотелось бы сразу после армии начать работать, а не сидеть в офисе(в лучшем случае), параллельно поднимая скиллы C++ и Python в связи с отсутствием спроса на программистов невысокой квалификации.
Очевидно, с моими потребностями нужно учить Java, если считать что спрос на Java-программистов без опыта выше. Но действительно ли это так? Еще я слышал, что Java медленно развивается, и Oracle всякие разные иски подает. Не умирает ли Java уже сейчас?
Почему, например, «ВКонтакте» не оставил делегирование домена для NS сервера зоны «com»? Я понимаю, что для уменьшения нагрузки. Но есть ли какая-то черта, после которой NS зоны «com» говорит: «Хватит! Делай свой NS сервер. Из-за тебя на меня слишком большая нагрузка»
Или каждый домен обязан иметь свой NS, а NS зоны «com» просто говорит к какому обращаться, не храня записей «домен-ip»?
Я не имею понятия как происходит поиск уязвимостей, но, как я понимаю, если кто-то наткнулся и рассказал о ней публично, то её прикрыли с громким заголовком «найдена критическая уязвимость<...>» но если наткнулись, и рассказали лишь узкому кругу лиц, например, за определенную плату.
Выходит, что вероятность существования какой-то подобной уязвимости очень высока. Верно?
Или же набор либ.
Почему-то везде пишут системные требования машины, но про ширину канала забывают. >150мбит/сек - скорость загрузки, я от неё отталкиваюсь и высчитываю скорость отдачи.
Будет предпочтительней, если это будут страны типа Германии, UK, Нидерландов, Франции и т.п.
Не могу понять, почему не выходит залогиниться. Перерыл кучу статей, протестил много подобных вариаций, но везде результат один: None. Остановился, на мой взгляд, на наиболее близком к решению.
from http.cookiejar import CookieJar
import urllib.request, urllib.parse
import re
cookie = CookieJar()
cookie_handler = urllib.request.HTTPCookieProcessor(cookie)
req = urllib.request.build_opener(cookie_handler)
req.add_header = [('User-Agent','Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11')]
urllib.request.install_opener(req)
params = bytes(urllib.parse.urlencode({'nick':'kramh', 'passwd':'******'}), 'utf-8')
resp = req.open('http://linux.org.ru/index.jsp', params)
page = str(resp.read(), 'utf-8')
parse = re.search(r'kramh', page)
print(parse)
import urllib.request
import re
url = 'http://www.vk.com'
request = urllib.request.urlopen(url)
response = request.read()
parse = re.search(r'android', str(response))
print(parse)
print(response[parse.start():parse.end()])
_________
Output:
<_sre.SRE_Match object; span=(3138, 3145), match='android'>
b'wrap"><'
В общем, есть у меня класс, в котором происходит относительно много мат. операций. И вследствие этого, имеется большое количество переменных. Сама суть скрипта в этих мат. операциях и заключается, поэтому к ним извне класса точно не будет надобности обращаться, в случае, если они будут глобальными.
Так вот, вопрос: с точки зрения производительности, имеет смысл делать все эти переменные локальными или оставлять их глобальными?
Например, кто-то сделает скрытый вирус, который тихо сидит до того момента, пока пользователь по какой-то причине не отключит антивирус, а потом «пускаться в пляс»?
P.S. Я не планирую ничего делать, проосто интересны принципы работы антивирусов.
Код проверял очень тщательно.
import sys
from PyQt4 import QtGui, QtCore
class Lbl(QtGui.QWidget):
def __init__(self):
super(Lbl, self).__init__()
self.initUI()
def initUI(self):
self.resize(200, 200)
self.btn = QtGui.QPushButton('btn', self)
self.btn.clicked.connect(self.count)
def count(self):
self.label = QtGui.QLabel('carecarecarecare', self)
self.label.move(100, 100)
self.label.resize(100, 100)
app = QtGui.QApplication(sys.argv)
lbl = Lbl()
lbl.show()
sys.exit(app.exec_())
self.btn = QtGui.QPushButton('Result', self)
self.btn.setGeometry(92.5, 75, 50, 25)
self.btn.clicked.connect(self.count)
def count(self):
res = str((float(self.a.text())) + (float(self.b.text())))
self.c.setText(res)
def keyPressEvent(self, event):
if event.key() == QtCore.Qt.Key_Enter or QtCore.Qt.Key_Return:
self.count()
elif event.key() == QtCore.Qt.Key_Escape:
self.close()
В данном случае при нажатии enter происходит взаимодействие с самим слотом, а как сделать так, чтобы при нажатии enter было взаимодействие с btn, которая затем уже подключается к слоту.
Например, в tkiner это реализуется через invoke. А в qt не смог разобрать, ибо большая часть qt кода на c++, и фиг поймешь что там написано. Вроде как это можно еще сделать через перемещение мыши и через клик программно. Но может как напрямую можно?
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Program(QtGui.QWidget):
def __init__(self):
super(Program, self).__init__()
self.initUI()
def initUI(self):
self.setWindowIcon(QtGui.QIcon('icon'))
self.setWindowTitle('Mini Calculator')
self.setFixedSize(235,100)
self.move(0, 0)
lbl2 = QtGui.QLabel('+', self)
lbl2.move(87.5, 35)
lbl3 = QtGui.QLabel('=', self)
lbl3.move(137.5, 35)
self.a = QtGui.QLineEdit(self)
self.a.setGeometry(50, 35, 25, 25)
self.b = QtGui.QLineEdit(self)
self.b.setGeometry(105, 35, 25, 25)
self.c = QtGui.QLineEdit(self)
self.c.setGeometry(150, 35, 25, 25)
self.btn = QtGui.QPushButton('Result', self)
self.btn.setGeometry(92.5, 75, 50, 25)
self.btn.clicked.connect(self.count)
def count(self):
result = self.a.text() + self.b.text()
self.c.setText(result)
app = QtGui.QApplication(sys.argv)
program = Program()
program.show()
sys.exit(app.exec_())
То есть пишу 2 и 2, выводит как 22.
И да, я гуглил. Несколько часов гуглил. Ничерта не нашел. Такое чувство, что кроме wiki.python.org/moin/PyQt ничего нет. Непонятно как вообще по qt искать информацию какую-то.
import sys
from PyQt4 import QtGui
class Program(QtGui.QWidget):
def __init__(self):
super(Program, self).__init__()
self.initUI()
def initUI(self):
self.setFixedSize(235,100)
c = QtGui.QLineEdit(self)
c.setGeometry(150, 35, 25, 25)
btn = QtGui.QPushButton('Result', self)
btn.setGeometry(92.5, 75, 50, 25)
btn.clicked.connect(self.count)
def count(self):
self.c.setText('dadada')
app = QtGui.QApplication(sys.argv)
program = Program()
program.show()
sys.exit(app.exec_())
После нажатия, в консоле появляется надпись:
Traceback (most recent call last):
File "so.py", line 28, in count
self.c.setText('dadada')
AttributeError: 'Program' object has no attribute 'c'
Вот шаблон, кому интересно:
import sys
from PyQt4 import QtGui
class Program(QtGui.QWidget):
def __init__(self):
super(Program, self).__init__()
self.main()
self.labels()
self.text()
def main(self):
self.setWindowTitle('Mini Calculator')
self.setFixedSize(235,100)
def labels(self):
lbl = QtGui.QLabel('+', self)
lbl.move(87.5, 35)
lbl2 = QtGui.QLabel('=', self)
lbl2.move(137.5, 35)
def text(self):
a = QtGui.QLineEdit(self)
a.setGeometry(50, 35, 25, 25)
b = QtGui.QLineEdit(self)
b.setGeometry(105, 35, 25, 25)
c = QtGui.QLineEdit(self)
c.setGeometry(150, 35, 25, 25)
self.show()
app = QtGui.QApplication(sys.argv)
program = Program()
sys.exit(app.exec_())
Есть идея вызвать системные часы и, например, прогонять 1 цикл на проверку каждые n миллисекунд. Теоретически, нагрузка на процессор должна быть минимальной, но Qt - мощный инструмент, и, мне кажется, это можно реализовать встроенными методами.
import sys
from PyQt4 import QtGui, QtCore
class QuitButton(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Icon')
button = QtGui.QPushButton('Close', self)
button.setGeometry(10, 10, 60, 35)
self.connect(button, QtCore.SIGNAL('clicked()'), self.CloseQuestion)
def CloseQuestion(self):
reply = QtGui.QMessageBox.question(self, 'Message',
"Are you sure to quit?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
sys.exit(app.exec_())
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Message',
"Are you sure to quit?", QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
app = QtGui.QApplication(sys.argv)
qb = QuitButton()
qb.show()
sys.exit(app.exec_())
Метод «CloseQuestion»: после нажатия на кнопку «Close» спрашивает, точно ли я хочу выйти. Метод «closeEvent» делает, чтобы был вопрос при закрытии приложения из системы.
Я хотел подключить слот closeEvent, но не вышло, т.к. требует ввести аргумент «event». Я так понял, этот аргумент автоматически выдается при закрытии приложения из системы.
В общем, сделал отдельный слот. Можно ли было как-нибудь реализовать вариант выше? Например, ввести какой-то аргумент.
У меня при запуске кода появляется лишь пустой виджет. И с шрифтами игрался, и с их размерами - ничего. Можете у себя глянуть?
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Tooltip(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Tooltip')
self.setToolTip('This is a <b>QWidget</b> widget')
QtGui.QToolTip.setFont(QtGui.QFont('OldEnglish', 10))
app = QtGui.QApplication(sys.argv)
tooltip = Tooltip()
tooltip.show()
app.exec_()
Код взят отсюда: http://wiki.python.su/Документации/ВведениеВСредуPyQt4#A.2BBB8EPgRBBDwEPgRCBE...
class Person:
__address = "n/a"
__name = "n/a"
__age = 0
def set_name(self, n):
self.__name = n
def get_name(self):
return self.__name
def set_age(self, a):
self.__age = a
def get_age(self):
return self.__age
def set_address(self, a):
self.__address = a
def get_address(self):
return self.__address
def description_of_person(self):
print("---------------------")
print("| My name is ", self.__name)
print("| I'm ", self.__age ,"years old.")
print("| My address is ",self.__address)
person1 = Person()
person2 = Person()
person1.set_name('John')
person1.set_age(23)
person1.set_address('dom 13')
person2.set_name('Mike')
person2.set_age(16)
person2.set_address('dom 5')
person1.description_of_person()
person2.description_of_person()
Если убрать здесь все геттеры, это не повлияет на результат. Так к чему они?
следующие → |