Как запустить отдельную часть скрипта Python отдельно из файла .py в IDLE - PullRequest
0 голосов
/ 06 декабря 2018

Я только начал использовать Python, и недавно у меня возникла проблема.Когда я использую скрипт Python для сохранения кода и запуска кода, прямо из скрипта, он всегда запускает весь код в скрипте.Я хотел бы знать, есть ли какой-либо другой вариант, где я могу запустить только выборочную часть кода.Давайте предположим, что у нас есть следующий код, и я хочу запустить код до печати thisdict , который находится в шестой строке.Но когда я пытаюсь запустить этот код из сценария в IDLE, он запускает весь код.Поэтому, пожалуйста, дайте мне знать, если есть какое-либо другое решение для запуска селективного кода из всего сценария.

thisdict={
"brand" : "Ford",
"model" : "Mustang",
"year" : 1964
}
print thisdict
#Tracing the model using the index/key named "model"
print "Model of the car:", thisdict.get("model")
#Changing the "year" to 2018 and re-printing the dictionary
thisdict["year"]=2018
print thisdict 
#Print both keys and values from the dictionar
for x,y in thisdict.items():
print x,y
#Add a key and value to the dictionary

thisdict["color"]="red"
print thisdict

#To delete a keyword from the dictionary
del thisdict["color"]
print thisdict
#OR
thisdict.pop("model")
print thisdict

 #To remove the last item from the dictionary
thisdict.popitem()
print thisdict

#Dist constructore for creating a dictionary
thisdict=dict(brand="Ford",model="Mustang", year=1964)
print thisdict

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Это странная проблема для начинающих программистов на Python!Существует множество исправлений.

Первое, наиболее очевидное - просто закомментировать все, что вы не хотите запускать.Просто поставьте «#» перед любой строкой, которую вы не хотите запускать, и она не запустится.Большинство редакторов позволяют автоматически закомментировать целые блоки одновременно.

Второй и гораздо лучший способ сделать это - начать использовать функции.Допустим, у вас есть этот код:

print("HERE 1")
print("HERE 2")

И иногда вы хотите запустить обе строки, но иногда вы хотите запустить только одну из них.Затем попробуйте поместить их в разные функции.

def print_1():
    print("HERE 1")

def print_2():
    print("HERE 2")

Теперь вам просто нужно ввести команду (без отступа), вызывающую нужную функцию:

print_1()

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

if __name__=="__main__":
    print_1()

Но вы можете простонапишите print_1 () пока без имени if это основной материал.Это будет уместно, если вы начнете импортировать модуль из другого места.

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

import sys
sys.exit(0)

Это остановит выполнение программы, где бы она ни была.

Другой вариант - иметь логическое значение в верхней части вашего кода.

whole_program = True # or False 

print("here 1")
a = 1+3
print("here 2")
if whole_program:
    print("here 3")
    print("something else")
else:
    pass

Другой вариант, если вы просто пишете сценарии, это использовать записные книжки Jupter, которые очень хороши для выделения фрагментов кода для запуска.

О, и, конечно, Python - интерпретируемый язык,Таким образом, вы всегда можете запустить одну команду за раз прямо в консоли!

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

0 голосов
/ 06 декабря 2018

В большинстве IDE вы можете установить точки останова, а в режиме отладки выполнение будет приостановлено на каждой точке останова.

Вы упомянули IDLE и пометили Xcode, поэтому я не уверен, какой выВы используете, но эта ссылка имеет учебник по отладке с точками останова в IDLE. Этот предназначен для Xcode (без использования Python).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...