نكشات ;) Python

هنا توجد كل المواضيع المتعلقة بالبرمجيات المفتوحة المصدر

المشرف: Karam

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الجمعة أغسطس 06, 2010 3:22 pm

CODE: تحديد الكل
import re, webbrowser

site  = 'www.ite-sy.net/'
folow = 'forum/portal.php'
URL = re.sub('{P1}{P3}', site + folow, 'http://{P1}{P3}')

webbroswer.open_new(URL)



هون قمنا بتركيب url وفتحو عن طريق webbrowser ... جربو عندكن

الخرج : الصفحة الرئيسية للمنتدى :mrgreen:
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الجمعة أغسطس 06, 2010 3:28 pm

CODE: تحديد الكل
site = 'www.google.com'
this = re.match('www\.(.*)\.+', site)
print this.group(1)



بهي الحالة نحنا عم ناخد اسم الموقع من الرابط تبعو كالتالي :

أول شي قمنا بحذف www
تاني شي أخدنا كلشي بعد النقطة .
تالت شي حذفنا آخر نقطة وكلشي وراها :wink:

والخرج :
CODE: تحديد الكل
google



أو في طريقة تانية باستخدام split ...
CODE: تحديد الكل
url = 'www.google.com'
site = re.split(r'[. ]', url)
site = site[:-1].pop()
print site
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الجمعة أغسطس 06, 2010 11:05 pm

هدول االتابعين إلهن نفس العمل ...
ولكن لاحظو الفرق ..

CODE: تحديد الكل
def power(x, n):
   out = 1
   if   n > 0:
      for i in range(0, n):
         out *= x
   else :
      for i in range(n, 0):
         out *= 1.0/x
   return out


الأول : هو الشكل المعتاد :wink:


CODE: تحديد الكل
power = lambda x, n: reduce(lambda i, j: i * j, [x for k in range(0, n) if n > 0]\
                                                + [1]\
                                                + [1.0/x for k in range(n, 0) if n < 0])


التاني : بيعمل عن طريق Linked List .. كالتالي :
إزا كانت ( x = 3 ) و ( n = 2 ) .. نقوم ببناء سلسلة على الشكل التالي :
[ 1, 3, 3 ]
ثم نقوم بردّ ناتج ضرب هذه الأرقام

مثال :

CODE: تحديد الكل
>>> x = 3
>>> n = 3
[3, 3, 3, 1]
[9, 3, 1]
[27, 1]
[27]
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » السبت أغسطس 07, 2010 2:48 pm

CODE: تحديد الكل
x = ( 10 )
print x
print type(x)


x = ( 10 , )
print x
print type(x)
\

الخرج :

CODE: تحديد الكل
10
<type 'int'>

(10,)
<type 'tuple'>



الفرق بين ( x = ( 10 وبين ( , x = ( 10

الأولى : هي قيمة Integral ...
التانية : هي قائمة tuple .. بسبب الفاصلة الي حطيناها بالأخير :wink:


لازم نفرّق بيناتهن لأنو ممكن يعملو كارثة بالبرنامج :imb:

متل :
CODE: تحديد الكل
>>> x = ( 10 )
>>> print x * 10
100
>>> x = ( 10, )
>>> print x * 10
(10, 10, 10, 10, 10, 10, 10, 10, 10, 10)


متل :
CODE: تحديد الكل
>>> x = ( 9 )
>>> print x / 3.0
3.0
>>> x = ( 9, )
>>> print x / 3.0
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'tuple' and 'float'
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » السبت أغسطس 07, 2010 2:53 pm

CODE: تحديد الكل
a, b, c, d = 1, 9 -12j , 'Hello World', [1, 2, (13, )]


هاد السطر هو اختصار للتعليمات التالية :
CODE: تحديد الكل
a = 1
b = 9 - 12j
c = 'Hello World'
d = [1, 2, (13, )]


صارت واضحة :wink:
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » السبت أغسطس 07, 2010 3:10 pm

طرق القراءة من الملفات النصية

الأولى :
CODE: تحديد الكل
f = open('test.txt', 'r')

Lines = f.readlines()

for I in Lines :
   print I


بهي الطريقة منكون عم نساوي مصفوفة ونحط بقلب كل عنصر من عناصرها سطر من الملف

الطريق التانية :

CODE: تحديد الكل
f = open('test.txt', 'r')

Line = f.readline()

for I in Line :
   print Line
   Line = f.readline()

f.close()


هي القراءة سطر سطر حتى يخلص الملف

الطريقة التالتة :
CODE: تحديد الكل
f = open('test.txt', 'r')

ALL_File = f.read()
print ALL_File

f.close()


منحط كل الملف بمتحول string ( حتى لو كان 100000000000000 محرف )
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة L4W4ND » السبت أغسطس 07, 2010 3:12 pm

Karam كتب:
CODE: تحديد الكل
a, b, c, d = 1, 9 -12j , 'Hello World', [1, 2, (13, )]


بنفس الطريقة فيك تبدل بين قيمتين متحولين بدون استخدام متحول تالت:
CODE: تحديد الكل
a = 10
b = 5

a, b = b, a

print a
print b


الخرج:
CODE: تحديد الكل
5
10
L4W4ND
عضو جديد
عضو جديد
 
مشاركات: 224
اشترك في: الأربعاء مايو 14, 2008 2:27 pm
الجتس: ذكر
الشهادة الثانوية: ---
الجامعة: ---
الكلية: ---
المرحلة الدراسية: غير ذلك

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » السبت أغسطس 07, 2010 3:26 pm

L4W4ND كتب:
Karam كتب:
CODE: تحديد الكل
a, b, c, d = 1, 9 -12j , 'Hello World', [1, 2, (13, )]


بنفس الطريقة فيك تبدل بين قيمتين متحولين بدون استخدام متحول تالت:
CODE: تحديد الكل
a = 10
b = 5

a, b = b, a

print a
print b


الخرج:
CODE: تحديد الكل
5
10


أي صح .. متل بالمثال المعت تبع متتالية فيبوناتشي ..

CODE: تحديد الكل
def fibonacci(num):
   x, y = 0, 1
   for i in range(num):
      x, y = y, x + y
   return x
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة قاهرة المعلوماتية » السبت أغسطس 07, 2010 4:52 pm

حبيت شارككن بفكرة بسيطة بتمميز فيا لغة البايسن :ism:
ع فكرة كيف بتنسخو البرنامج بطريقة مرتبة متل فوق؟؟؟ :imb: :imb: :imb:
وهيي فكرة القوة (عدد أس عدد)
هاد برنامج منقوم بإدخال الأس والأساس وبيعطينا الجواب :mrgreen:


the programe:

CODE: تحديد الكل
number = input()
power  = input()

x = number ** power

print x
آخر تعديل بواسطة Karam في السبت أكتوبر 02, 2010 9:06 pm، عدل 4 مرات
السبب: تنسيق code
ياحسرة على الياسمين كم ضاع من شذاه في ثياب البشر لكن لم تلتمس نفس من بياضه شيئا
صورة العضو الشخصية
قاهرة المعلوماتية
عضو جديد
عضو جديد
 
مشاركات: 76
اشترك في: السبت فبراير 27, 2010 9:25 pm
مكان: اللاذقية
الجتس: أنثى
الشهادة الثانوية: سورية
الجامعة: جامعة تشرين
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثانية

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الأحد أغسطس 08, 2010 5:13 pm

OOP
Python Classes



define a Constructor

الباني هو تابع مميز داخل الـ class اسمو __init__ :
CODE: تحديد الكل
class MyClass:
   def __init__(self):
      print "constructor"

myclass = MyClass()


هون أول ما ناخد Object من الـ class بيتنفذ محتوى التابع __init__ وبيطبع التالي :
CODE: تحديد الكل
constructor



define a Destructor
الهادم هو تابع مميز داخل الـ class واسمو __del__ :
CODE: تحديد الكل
class MyClass:
   def __init__(self):
      print "constructor"
   def __del__(self):
      print "destructor"

myclass = MyClass()
del myclass


هون ضفنا على الـ class السابق هادم يقوم بطباعة "destructor" عند استدعاءه .. (حيث يتم استدعاءه عن طريق تعليمة del)
الخرج :
CODE: تحديد الكل
constructor
destructor
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الأحد أغسطس 08, 2010 5:26 pm

define variables

لتعريف أي متحول داخل Class يجب ربطه بمؤشر الـ Class التابع له عن طريق self
ويفضّل القيام بتعريف كل المتحولات في الباني __init__
مثال :
CODE: تحديد الكل
class MyClass:
   def __init__(self):
      self.x = 12

myclass = MyClass()
print myclass.x


الخرج رح يطبع قيمة x ..

بس لو عرفنا x بدون ما نربطو بـ self كان تعرف على المتحول x بأنو متحول خاص بالتابع __init__ وليس بالـ class وكان حدث Exception



define private variables

يتم التعريف بنفس طريقة تغريف أي متحول (المثال السابق) ولكن يجب أن نجعل أول حرفين من اسم المتحول ( __ ) كي يتم اخفاءه
مثال :
CODE: تحديد الكل
class MyClass:
   def __init__(self):
      self.__x = 12

بهاد الشكل المتحول x متحول private
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الأحد أغسطس 08, 2010 9:06 pm

define methods

أولا : يجب تمرير الوسيط self الي يؤشر على الـ class (على أن يكون أول وسيط)
ثانيا : عند استدعاء هذه التوابع داخل الـ class يجب اسباقها بـ self

مثال :
CODE: تحديد الكل
class rect:
   def __init__(self):
      self.__l, self.__w = 0, 0

   def Set(self, l = 0, w = 0):
      self.__l, self.__w = l, w

   def get_l(self):
      return self.__l

   def get_w(self):
      return self.__w

   def P(self):
      return 2 * (self.__w + self.__l)

   def S(self):
      return self.__w * self.__l

D = rect()
D.Set(3, 4)

print D.get_l(), "  :  ", D.get_w()
print "S = ", D.S()
print "P = ", D.P()
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Mu_Nizar » الثلاثاء أغسطس 10, 2010 3:23 pm

شكرا كرم :)
عم أقرأ بأحد الكتب لقيت هي القصيدة عن البايثون :)
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!

و هي الكتاب.... صحيح تعريبو ببكي شوي بس ماشي حالو
BytOfBython_v2_arabic.pdf
{لا تحزن إن الله معنا}

يالمحاسن التقدير الإلهي :mrgreen: :ism: عم قول لحالي ليش حارتنا منورة
و إن شاء الله دوما بتبقى منورة :ism:
صورة العضو الشخصية
Mu_Nizar
مشرف منتدى الخوارزميات العام
مشرف منتدى الخوارزميات العام
 
مشاركات: 2465
اشترك في: الاثنين مارس 10, 2008 2:49 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الخامسة
الاختصاص: هندسة برمجيات

Re: نكشات ;) Python

مشاركة غير مقروءةبواسطة Karam » الثلاثاء أغسطس 10, 2010 4:27 pm

Mu_Nizar كتب:شكرا كرم :)
عم أقرأ بأحد الكتب لقيت هي القصيدة عن البايثون :)
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!

و هي الكتاب.... صحيح تعريبو ببكي شوي بس ماشي حالو
BytOfBython_v2_arabic.pdf



إزا بدك في قصائد مكتوبة لمشروع GNU كمان :roll:

http://www.gnu.org/fun/jokes/only-gnu.html

http://www.gnu.org/fun/jokes/hakawatha.html

http://www.gnu.org/fun/jokes/networkologist.html

http://www.gnu.org/fun/jokes/midnight.dreary.html

http://www.gnu.org/fun/jokes/last.bug.html
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

السابق

العودة إلى منتدى البرمجيات المفتوحة المصدر

الموجودون الآن

المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر

cron