Python kendi kendine argüman

Python sƒ±nƒ±flarƒ±nƒ±n, y√∂ntemlerine eri≈üebilmeniz için somutla≈ütƒ±rƒ±lmasƒ± veya çaƒürƒ±lmasƒ± gerekir. Bir sƒ±nƒ±fƒ±n nesnesini ba≈ülatmayƒ± unutursanƒ±z ve bir sƒ±nƒ±f y√∂ntemine eri≈ümeye çalƒ±≈üƒ±rsanƒ±z, "eksik 1 gerekli konumsal arguman: ‚Äòself‚Äôrdquo; diyen bir hatayla kar≈üƒ±la≈üƒ±rsƒ±nƒ±z.

Bunda rehberimizde bu hatanƒ±n ne anlama geldiƒüini ve neden olu≈ütuƒüunu konu≈üuyoruz. Nasƒ±l duzelteceƒüinizi √∂ƒürenmenize yardƒ±mcƒ± olmak için bu hatanƒ±n bir √∂rneƒüinin uzerinden geçiyoruz.

1 gerekli konumsal bağımsız değişken eksik: ‘self’

Konumsal baƒüƒ±msƒ±z deƒüi≈ükenler, bir fonksiyona geçmi≈ütir. Bir sƒ±nƒ±fta, her i≈üleve "self‚" deƒüeri verilmelidir. "self‚" "bu‚" JavaScript’te. "kendine‚" bir sƒ±nƒ±fƒ±n nesnesinde depolanan verileri temsil eder.

Bir sƒ±nƒ±f y√∂ntemini √∂nce o sƒ±nƒ±fƒ±n bir nesnesini ba≈ülatmadan çaƒüƒ±rdƒ±ƒüƒ±nƒ±zda, bir hata alƒ±rsƒ±nƒ±z. Bunun nedeni, "self‚" bir nesne somutla≈ütƒ±rƒ±lƒ±ncaya kadar hiçbir deƒüeri yoktur.

"eksik 1 gerekli konumsal bağımsız değişkene neden olan en yaygın hatalar: ‘self’rdquo; hata:

  • Bir sƒ±nƒ±fƒ±n nesnesini ba≈ülatmayƒ± unutmak
  • Bir sƒ±nƒ±fƒ± ba≈ülatmak için yanlƒ±≈ü s√∂zdizimini kullanmak

Bu nedenlerin her birini ayrı ayrı inceleyelim.

Neden 1: Bir Nesneyi Örneklemeyi Unutmak

Sƒ±nƒ±ftaki bir y√∂nteme eri≈üebilmeniz için √∂nce bir nesnenin somutla≈ütƒ±rƒ±lmasƒ± gerekir.< br>

Bir video oyununda bir kahraman hakkında bilgi depolayan bir sınıf tanımlayın:

Katƒ±lƒ±mcƒ±larƒ±n %81’i bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈ütirin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±.

Sonra, bir < ekliyoruz. sƒ±nƒ±fƒ±mƒ±za bir href="/python-functions/">fonksiyon ekleyin. Sƒ±nƒ±flarƒ±n içindeki fonksiyonlara metot denir. Bu y√∂ntem, bir oyuncunun adƒ±nƒ± ve oyuncu turunu yazdƒ±rƒ±r:

Bir oyuncu olu≈üturabilmemiz için sƒ±nƒ±fƒ±mƒ±za eri≈ümeye çalƒ±≈üƒ±n: ;

Olu≈üturduk deƒüi≈ükene "luke‚" atanan bir nesne. Bu nesne Hero sƒ±nƒ±fƒ±ndan turetilmi≈ütir. Oyuncu hakkƒ±nda bilgi g√∂stermek için show_player() y√∂ntemini çaƒüƒ±rƒ±rƒ±z.

Kodumuzu hep birlikte çalƒ±≈ütƒ±ralƒ±m ve ne olduƒüunu g√∂relim:

Kodumuz ba≈üarƒ±sƒ±z. Bunun nedeni, bir Hero nesnesinin √∂rneƒüini olu≈üturmamƒ±≈ü olmamƒ±zdƒ±r. Hero.show_player() çalƒ±≈ümƒ±yor çunku bilgileri bir Hero olu≈üturmadƒ±k. g√∂runtulenebilir.

Bu hatayƒ± ç√∂zmek için, show_player()’u çaƒüƒ±rmadan √∂nce bir nesneyi √∂rnekledik:

Kodumuzu tekrar çalƒ±≈ütƒ±rƒ±n:

Kodumuz ba≈üarƒ±lƒ± bir ≈üekilde çalƒ±≈üƒ±yor! √ñnce bir deƒüi≈üken tanƒ±mladƒ±k "luke‚" Luke adlƒ± bir oyuncu hakkƒ±nda bilgi depolar. Luke’un oyuncu tipi "Buyucu"dur. Artƒ±k bu nesneyi somutla≈ütƒ±rdƒ±ƒüƒ±mƒ±za g√∂re, show_player() y√∂ntemini çaƒüƒ±rabiliriz.

Neden #2: Bir Sınıfı Yanlış Şekilde Başlatma

"eksik 1 gerekli konumsal arguman: ‘self’rdquo; bir sınıfı yanlış başlattığınızda hata oluşabilir. Şu kodu göz önunde bulundurun:

< p>Bu kod son √∂rnekteki ç√∂zumumuze benzese de yanlƒ±≈ütƒ±r. Bunun nedeni, Hero kelimesinden sonra herhangi bir parantez eklememi≈ü olmamƒ±zdƒ±r. Programƒ±mƒ±z bu parantezleri ka烱rarak bir sƒ±nƒ±fƒ± ba≈ülatmak istediƒüimizi bilmiyor.

Bu sorunu Hero’dan sonra parantez ekleyerek ve gerekli argumanlarƒ± "name‚" belirterek ç√∂zun. ve "player_type‚":

Kodumuz artƒ±k ba≈üarƒ±lƒ± bir ≈üekilde çalƒ±≈üƒ±yor ve oynatƒ±cƒ±mƒ±z hakkƒ±nda bilgi veriyor:

Sonuç

"eksik 1 gerekli konumsal arguman: ‚Äòself‚Äôrdquo; Bir sƒ±nƒ±f y√∂ntemini çaƒüƒ±rmadan √∂nce bir sƒ±nƒ±fƒ±n nesnesini ba≈ülatmadƒ±ƒüƒ±nƒ±zda hata olu≈üur. Bu hata, bir sƒ±nƒ±fƒ± yanlƒ±≈ü bir ≈üekilde ba≈ülattƒ±ƒüƒ±nƒ±zda da ortaya 烱kar.

Bu hatayƒ± ç√∂zmek için, o sƒ±nƒ±fƒ±n herhangi bir y√∂ntemine eri≈ümeye çalƒ±≈ümadan √∂nce, bir sƒ±nƒ±fƒ±n nesnesini √∂rneklediƒüinizden emin olun. Ardƒ±ndan, doƒüru olanƒ± kullandƒ±ƒüƒ±nƒ±zdan emin olun. bir nesneyi ba≈ülatmak için s√∂zdizimi.

Artƒ±k bu yaygƒ±n hatayƒ± uzman Python geli≈ütiricisi< gibi ç√∂zmeye hazƒ±rsƒ±nƒ±z. /a>!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method