[Linux-programlama] Re: Python ve Scripting

---------

[Linux-programlama] Re: Python ve Scripting

From: Necmettin Begiter <necmettin.begiter_at_gmail.com>
Date: Tue, 27 Nov 2007 13:54:02 +0200
Message-ID: <3787dfa80711270354g4d471570v73b64c7a97e5f0aa@mail.gmail.com>

27.11.2007 tarihinde Caglar Akyuz <caglar_at_bilkon-kontrol.com.tr> yazmış:
> Merhabalar,
>
> Python ile yazdığım programlarıma "scripting" desteği eklemek istiyorum,
> bu scripting dilinin de yine python tabanlı olmasını istiyorum. Acaba
> bunun için bildiğiniz bir python kütüphanesi var mı yoksa compile ve
> exec komutlarını kullanarak bunu kendim mi yapmam gerekiyor?
>
> Caglar

Python'un şahsen sevdiğim ama nesne yönelim avukatlarının sevmediği
yönlerinden birisi yazılıma dahil (import) edilen dosyaların kütüphane
veya sınıf olması zorunluluğunun olmaması:

Diyelim ki prog.py dosyanızda abc.py dosyasını yüklüyorsunuz:

import abc

Bu durumda, abc dosyası şu üç yapıdan birinde olabilir:
a) Birden fazla sınıf içerebilir
b) Tek bir sınıf içerebilir
c) Kendisi bir program olabilir

(a) ve (b) durumlarında programınızın alanına (namespace) dahil olan
sınıftan bir öğe oluşturup (instance) onu kullanırsınız, ama (c)
durumunda, siz o abc.py dosyasını programınızın alanına dahil
ettiğinizde, eğer o programın yaptığı birşeyler varsa, onlar yapılır
(ve tam da bu yüzden Python ile yazdığımız programlara if
__name__=='__main__' ekliyoruz, bu kontrol yapılmadığında, kodlar
kendiliğinden çalıştırılıyor).

Üstelik, bir Python betiğini programınızın başında dahil etmek zorunda
değilsiniz, ortasında da yapabilirsiniz. Dolayısıyla, programınızı
kullanacak kişinin betiğini diske kaydederseniz istediğiniz herhangi
bir noktada çağırabilirsiniz.

Ancak, bu yaklaşımın, programınızın ve sistemin güvenliği üzerindeki
olası kötü etkilerini de dikkate almakta fayda var. Kullanıcılarınızın
yazacakları betikleri adamakıllı kontrol etmeniz gerekir.
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Tue 27 Nov 2007 - 13:19:36 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.