আইপিথনে ভেরিয়েবল কীভাবে সাফ করবেন?


146

কখনও কখনও আমি একই আইপথন সেশনের মধ্যে একটি স্ক্রিপ্ট পুনরায় চালু করি এবং যখন ভেরিয়েবলগুলি সাফ না করা হয় তখন আমি খারাপ চমক পেতে পারি। আমি কীভাবে সমস্ত পরিবর্তনশীল সাফ করব? এবং আমি যখনই ম্যাজিক কমান্ড% রান করবার চেষ্টা করি তখন কি কোনওভাবে এটি জোর করা সম্ভব?

ধন্যবাদ

উত্তর:


206

%reset সংজ্ঞায়িত ভেরিয়েবলগুলি সাফ বলে মনে হচ্ছে।


2
ধন্যবাদ। এটি প্রতিটি% চালানোর আগে স্বয়ংক্রিয়ভাবে সেট করার কোনও উপায়?
তৃণমূল 13

2
গ্লোবাল নেমস্পেসটি পরিষ্কার রাখতে আপনি আপনার স্ক্রিপ্টটিকে কোনও ক্রিয়ায় রূপান্তর করতে পারেন।
রবার্ট পোলাক


1
হ্যাঁ রিসেট
-ফ

1
@Victor %ipython যাদু কমান্ড জন্য ব্যবহার করা হয় এখানে %reset ipython.readthedocs.io/en/stable/interactive/...
aisbaa

56

@ এরডেমকায়ে মন্তব্য করার পরে সম্পাদিত।

একটি ভেরিয়েবল মুছতে, যাদু আদেশটি ব্যবহার করুন:

%reset_selective <regular_expression>

নেমস্পেস থেকে মুছে ফেলা ভেরিয়েবলগুলি প্রদত্ত সাথে মিলে যায় <regular_expression>

অতএব

%reset_selective -f a 

একটিযুক্ত সমস্ত ভেরিয়েবল মুছে ফেলবেa

পরিবর্তে, শুধুমাত্র মুছতে aএবং না aa:

In: a, aa = 1, 2
In: %reset_selective -f "^a$"
In: a  # raise NameError
In: aa  # returns 2

পাশাপাশি দেখতে %reset_selective?আরো উদাহরণ এবং https://regexone.com/ একটি Regex টিউটোরিয়ালের জন্য।

নেমস্পেসের সমস্ত ভেরিয়েবল মুছতে দেখুন:

%reset?

9
অন্যথায় পাইথন থেকে "ডেল এ", পাশাপাশি ব্যবহার করা যেতে পারে।
SEF

1
নাহ, এই আদেশটি name_variableএকটি রেজেক্স স্টেটমেন্ট হিসাবে বিবেচনা করবে এবং এর সাথে মেলে যা কিছু মুছে ফেলবে।
এরডেম কেএএ

@ এরডেমকায়ে ধন্যবাদ, আমি এর আগে কখনই লক্ষ্য করিনি! উত্তর সম্পাদিত।
SEF

1
একেবারেই না! :) এটি আসলে কিছুটা স্বজ্ঞাত পাল্টা।
এরডেম কেএএ

37

আইপাইথনে আপনি এর মতো একটি একক ভেরিয়েবল সরিয়ে ফেলতে পারেন :

del x

13

আমি চেষ্টা করেছিলাম

%reset -f

এবং প্রম্পট ছাড়াই সমস্ত ভেরিয়েবল এবং সামগ্রীগুলি সাফ করে দিয়েছে। হ্যাঁ / না-f জিজ্ঞাসা না করে প্রদত্ত কমান্ডের উপর চাপ প্রয়োগ করে ।

আশা করি এটি সাহায্য করে .. :)


9

নতুন স্ক্রিপ্টে নিম্নলিখিত লাইনগুলি যুক্ত করা প্রত্যেকবার আপনি স্ক্রিপ্টটি পুনরায় চালু করার সময় সমস্ত ভেরিয়েবল সাফ করবে:

from IPython import get_ipython
get_ipython().magic('reset -sf') 

জীবনকে সহজ করতে আপনি এগুলিকে আপনার ডিফল্ট টেম্পলেটটিতে যুক্ত করতে পারেন।

স্পাইডারে: Tools>Preferences>Editor>Edit template


আমি এটি পছন্দ করি কারণ এটি কোনও স্ক্রিপ্ট থেকেও চালানো যেতে পারে।
জারগো

4

পূর্বে উল্লিখিত পদ্ধতিগুলি বাদে। আপনি একাধিক ভেরিয়েবল অপসারণ করতে ডেল কমান্ডটি ব্যবহার করতে পারেন

del variable1,variable2

0

কনসোল প্যানেলে একটি প্রস্থান বিকল্প অপরিবর্তনীয় এক্সপ্লোরারের সমস্ত ভেরিয়েবল সাফ করবে will

*** মনে রাখবেন যে আপনি কনসোল প্যানেলে যে কোডটি চালিয়ে গেছেন তা হারাবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.