شما هنوز به سیستم وارد نشده اید.

#1 2017-01-31 14:59:36

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 260

[آموزش] پایتون برای کسانی که زبان برنامه نویسی دیگه ای بلد هستن

با سلام، مدتی بود میخواستم پایتون یاد بگیرم ولی هر آموزشی میدیدم ۰ تا ۱۰۰ بود و واقعا حوصله سر بر smile در هر صورت تصمیم گرفتم حوصله داشته باشم و بخونم، ولی فکر کردم خوبه همچین مطلبی هم وجود داشته باشه تا کسایی که مثل من تجربه ی برنامه نویسی تا حدی جدی در زبان های دیگه رو دارن، خیلی ساده با syntax پایتون آشنا بشن و شروع کنن big_smile

برای شروع پایتون رو نصب کنید (یا اگه از لینوکس استفاده میکنید {که حتما همینطوره} فقط کافیه اجراش کنید big_smile).
پایتون یه زبان مفسری هست که میشه با دو حالت اسکریپتی یا تعاملی روش برنامه نوشت (تعاملی برای وقتایی خوبه که میخواین یه دستور رو امتحان کنین تا از نحوه ی عملکردش مطلع بشین و همچنین برای دستیابی به ()help پایتون). در ضمن syntax این آموزش مربوط به پایتون۳ هست smile

از کسانی هم که حرفه ای هستن خواهش میشه اشکالات رو گزارش کنن smile

ممکنه به نظر خیلیا آموزش به حساب نیاد اما به دلیل سر راستی زبان پایتون یکم سر به سر گذاشتن با حالت تعاملی کمک میکنه خیلی سریع یادگیری شروع بشه.
هنوز هم کامل نشده و قسمت های زیادی مونده نوشته بشه.


قسمت اول: عملگر ها

>>> 3 + 5
8

>>>-2j-5j
-7j

توجه کنید که برای اعداد مختلط از j استفاده میشه.

>>>1+2.0
3.0

>>> 3 * 2
6

>>>True * False
0

>>> 4 * 0.2
0.8

>>> 100 / 3
33.333333333333336

>>> 100 // 3
33

>>> 2 ** 3
8
توان

>>> 5 % 2
1

>>> "m" * 3
'mmm'

>>> "m" * -1
''

>>> "m" * 0
''

>>> a , b = 1 , 2
>>> c = a + b
>>> c
3

>>> a = 1
>>> a += 1
>>> a
2

>>> a = 4
>>> a /= 2
>>> a
2

همینطور برای * و - و % و // و **

>>> a = "m"
>>> b = "y"
>>> a += b
>>> a
'my'

>>> a *= 2
>>> a
'mymy'


قسمت دوم: ورودی و چاپ خروجی

>>> name = input("please enter your name: ")
>>> m
>>> print("hi", name,"!"+"!")
hi m !!

>>> age = int(input("please enter name: "))
>>> 19
>>> print(name+age)
m19

>>> print(name, age)
m 19


قسمت سوم: بعضی توابع مفید

>>> len("1234")
4

>>> pow(2, 3)
8

>>> repr(32)
'32'

>>> round(2.123, 1)
2.1

>>> round(13.98, 0)
14

>>> round(24.9)
25

>>> round(-2.3)
-2

>>> round(-2.8)
-3
>>> type(1.9)
<class 'float'>

>>> type(None)
<class 'NoneType'>

توجه کنید که None همون null خودمونه.

>>> str(-9.1)
'-9.1'

>>> repr("m")
"'m'"

>>> str("m")
'm'


قسمت چهارم: تعریف تابع

این قسمت از حالت اسکریپتی استفاده میکنیم و خروجی را جدا مشخص میکنیم:
اینم بگم بلاک کد رو فقط با فاصله از ابتدای خط مشخص میکنه مفسر

def sayHi(name):
    print("hi", name)
    print("welcode")
sayHi('m')

پس از اجرای اسکریپت خروجی زیر حاصل می شود:

hi m
welcode

میتوان به هر تعداد دلخواه برای تابع آرگومان فرستاد:

def func_one(arg0, arg1, arg2, ..., argN)

این ویژگی جالب رو هم در نظر بگیرید (یه حالت پیشفرض برای آرگومان و قابلیت override اون):

def sayHi(name = "root"):
    print("hi", name)
sayHi()
sayHi("m")

خروجی:

hi root
hi m

و برای تعریف تابع با تعداد آرگومان متغیر با استفاده از اشاره گر:

def some_func(*some_arg):
    print(*some_arg)
some_func()
some_func('m', 'y')
some_func(1,2,3,4)

خروجی:

m y
1 2 3 4


قسمت پنجم: شرط

if condition:
    statement
elif condition:
    statement
else:
    statement


قسمت پنجم: حلقه ها



while

some_text = "abc"
some_input = input("Please, come on, enter:")
while some_input != some_text:
    some_input = input("try again for no reason: ")
print("If this is shown and you haven't seen the code you are genuis")

کاربرد break :

pass = input("enter password: ")
while pass != "1234":
    if pass == "fogot it"
        break
    pass = input("try again or just type you forgot: ")

یه حالت جالب که در زبان های دیگه ندیده بودم، while-else :

a = "a"
i = input("enter: ")
while i != a
    if i == "forgot"
        print("exiting app...")
        break
    i = input("try again or type \'forgot\': ")
else:
    print("wow! you can type \'a\' !")

خلاصش اینه که اگه break بشه وارد else بعد while نمیشه.


for

for ch in "some_text":
    print(ch)

استفاده از range :

for i in range(10):
    print(i)

خروجی:

0
1
2
3
4
5
6
7
8
9

حالت دیگه مشخص کردن ابتدا و انتها:

for i in range(2,5):
    print(i)

خروجی:

2
3
4

حالا با step :

for i in range(0,10,2):
    print(i)

خروجی:

0
2
4
6
8

همچنین for-else هم داریم که شبیه همون while-else هست.
و همچنین هم دستور continue مثل c/c++/java عمل میکنه.

آخرین ویرایش توسط mazhar (2017-02-02 17:14:58)

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB