آموزش پایتون – بخش دوم

در آموزش پایتون بخش اول، در مورد نصب پایتون و همچنین رشته ها صحبت کردیم. در بخش دوم آموزش درمورد list ها، ست ها، تاپلها و دیکشنری ها، صحبت میکنیم.

lst = [1,2,3]
type(lst)

lst = [1, 2.5, 'a']
lst = ['ahmad', 'Ali', 'Reza']
len(lst)

indexing in list

lst[0]
lst = [1, 2.5, 'a', 'James']
lst[-1]

animals= ['cat', 'bat', 'rat', 'elephant']
print('the {} is afraid of the {}'.format(animals[-1], animals[-3]))


Slicing

animals[1:3]
animals[:3]
animals[1:]
animals[:]
animals[::-1]

animals
animals_inverse = animals[::-1]
animals_inverse 

or

animals= ['cat', 'bat', 'rat', 'elephant']
animals
# recvesting a list
animals.reverse()  # use with caution
animals

تغییر مقدار در یک ایندکس:

animals= ['cat', 'bat', 'rat', 'elephant']
animals[1]='horse'

List Concatenation and List Replication

s1 = [1,2,3]
s2=['a','b','c']
s1+s2

removing values

animals= ['cat', 'bat', 'rat', 'elephant']
del animals[1]
or
animals.remove('rat')

animals= ['cat', 'bat', 'rat', 'elephant']
del animals[0:2]

finding value in list

days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
'MON' in days

List methods

Adding Values to Lists with the append() and insert()

نکته :

تاپل قابل تغییر یا immutable نیست. ولی لیست تغییر پذیر یا mutable است.

# append()
animals= ['cat', 'bat', 'rat', 'elephant']
animals.append('tiger')
animals.insert(2, 'lion')

getting an element with pop()

نکته: بعد از عمل pop دیگر آن عنصر وجود ندارد. متود Pop زمانی به درد میخورد که بخواهیم عنصری را به صورت مستقل از یک لیست بیرون بکشیم، روی آن پردازش کنیم و آن را حذف کنیم.

animals.pop(1)

تفاوتdiscard , remove

در discard اگرعنصر وجود نداشته باشد، خطایی را تولید نخواهد کرد اما در استفاده از remove خطا تولید خواهد شد.

نکته:

iterable یعنی متغیری که تکرار پذیر باشد و بعبارتی برای مثال بتوان روی آن حلقه زد.

Sorting values

nums = [2, 5, 3.14, 1, -7]
nums.sort()

nums = [2, 5, 3.14, 1, -7]
nums.sort(reverse = True)
nums

سورت کردن بر اساس حروف الفبا:

animals= ['cat', 'bat', 'rat', 'elephant']
animals.sort()
animals

itereate through multiple lists

name = ['Ali', 'Ahmad', 'Sara']
grade = [20, 15, 17]
for n,g in zip(name, grade):
    print('{} got {} in exam '.format(n,g))

result:
Ali got 20 in exam 
Ahmad got 15 in exam 
Sara got 17 in exam 

list Comprehension

lst = [1,2,3,4,5]
new_lst = []
for i in lst:
    new_lst.append(i**2)
    
or
[i**2 for i in lst]

map کردن:

# map
s = ['abc', 'def', 'ghi']
s2= [i.upper() for i in s]

فیلتر کردن:

# filter
nums = [1,2,3,4,5,6, 7, 8, 9, 10]
[x for x in nums if x%3==0]

آموزش ماتریس ها Multidimentianal lists (matrics)

mat = [[1,2,3],[3,4,5]] # 2x3
mat[0]
mat[0][1]

or
mat3 = [[1,2,3],['t', 'abc', '20'], ['My name', 'Tehran', 'a', [50, 'Python']]]
mat3[2][3][1]

Tuple Data Type

# tuple is immutable
t = (1,2,3)
t

نکته : اعضای تاپل را نمیتوان تغییر داد.

set

در ست نمیتوانیم داده تکراری داشته باشیم:

b = {'r', 't', 'y', 't', 'y'}
b

مجموعه ها:

1- اجتماع مجموعه ها:

2- اشتراک دو مجموعه:

3- تفاضل دو مجموعه:

Dictionaries

Capitals = {'Iran': 'Tehran', 'Germany': 'Berlin', 'France': 'Paris'}


افزودن و حذف کردن عنصر در دیکشنری:

کسب اطلاعات در مورد دیکشنری به دو روش :

دریافت لیست key و value در دیکشنری:

چاپ خلاقانه آیتم های دیکشنری:

تابع در پایتون:

def func_name(arguments):
  operations
  (return ...)
def say_hello(name):
    print('Hello', name)

say_hello('Mohammad')

توجه به return وprint :

def power_2(num):
    print(num**2)
    return num**2

توابع چند جوابه:

def evaluate (grade):
    if grade >=18:
        return 'excellent'
    elif (grade >= 16 and grade<18):
        return 'good'
    else:
        return 'poor'

افزودن توضیحات تابع:

با گرفتن شیفت و تب این توضیحات نمایش داده میشود:

#Comment Here
def say_hello(param1='My friend!'):
    """
    This Function says Hello to any name that is present in input
    """
    print('Hello {}'.format(param1))

در تابع بالا پارامتر پیشفرض همان my friend است.

مثال دیگر از تابع:

def add(x = 0, y = 0):
    return x+y
add(1,2)

سایر آموزش ها:

بخش اول آموزش- پایتون

بخش سوم آموزش پایتون

منابع:

1-git hub

منتشر شده در
دسته‌بندی شده در پایتون

دیدگاهی بنویسید

نشانی ایمیل شما منتشر نخواهد شد.