س.مرتضی موسوی
س.مرتضی موسوی
خواندن ۵ دقیقه·۵ سال پیش

53 سوال و پاسخ در یک مصاحبه شغلی پایتون(قسمت پایانی)

31. چگونه بررسی کنیم که آیا یک مقدار در یک لیست وجود دارد یا خیر؟

'a' in ['a', 'b', 'c'] #True 'a' in [1, 2, 3] #False

32. تفاوت بین append و extend چیست؟

متد append یک مقدار به لیست اضافه می کند، متد extend مقدارهای یک لیست رو به لیست دیگه اضافه میکنه.

a = [1, 2, 3] b = [1, 2, 3] a.append(6) b.extend([4,5]) print(a) #[1, 2, 3, 6] print(b) #[1, 2, 3, 4, 5]

33. چگونه مقدار مطلق هر عدد صحیح را بدست بیاریم؟

با فانکشن abs

abs(2) #2 abs(-2) #2

34. چگونه می توان دو لیست را در لیست تاپل ها ترکیب کرد؟

میتونیم از فانکشن zip برای ترکیب لیست ها در لیست تاپل استفاده کنیم. درنظرم داشته باشید که محدودیتی در تعداد لیست وجود نداره.

a = ['a', 'b', 'c'] b = [1, 2, 3][(k,v) for k,v in zip(a, b)] #[('a', 1), ('b', 2), ('c', 3)]

35. چگونه میتونیم یک دیکت رو بر اساس کلید به ترتیب حروف الفبا مرتب کنید؟

ما نمیتونیم یک دیکت رو مرتب کنیم! چون دیکتها نظم ندارن اما می توانید یک لیست مرتب شده از تاپلها را که دارای کلیدها و مقادیر موجود در دیکت هستند رو برگردونین.

d = {'c':3, 'd':4, 'b':2, 'a':1}sorted(d.items()) #[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

36. چجور از یک کلاس دیگه در کلاس دیگمون ارث بری کنیم؟

یه مثال! در پایین Peraid از Gari به ارث می بره و با آن ارث روشهای نمونه ای از کلاس والد به دست میاد.

class Gari(): def drive(self): print('vroom') class Peraid(Gari): passaudi = Peraid() peraid.drive()

37. چجوری تمام اسپیسهای یک رشته رو از بین ببریم؟

s = 'A string with white space' s.replace(' ', '') #'Astringwithwhitespace'

38. چرا هنگام تکرار دنباله ای، از enumerate استفاده میکنیم؟

متد enumerate لیست پیگیری را هنگام تکرار در یک دنباله امکان پذیر می کند. این بیشتر از تعیین و افزایش یک عدد صحیح به نمایه شاخص است.

li = ['a', 'b', 'c', 'd', 'e']for idx,val in enumerate(li): print(idx, val) #0 a #1 b #2 c #3 d #4 e

39. تفاوت بین pass, continue و break چیست؟

دستور pass: فرض کنید که یک حلقه یا تابع هنوز پیاده‌سازی نشده، اما کاربر قصد دارد که در آینده آن را پیاده‌سازی کنه. تابع نمیتونه بدنه خالی داشته باشه چون مفسر با خطا مواجه میشه. پس از این برای ساخت بدنه‌ای که هیچ کاری انجام نمی‌دهد استفاده میکنیم.

a = [1, 2, 3, 4, 5] for i in a: if i > 3: pass print(i) #1 #2 #3 #4 #5


دستور break: این دستور حلقه‌ای که در آن قرار داره رو متوقف می‌کنه و کنترل برنامه رو به قسمت بعد از بدنه حلقه منتقل می‌کنه.

a = [1, 2, 3, 4, 5] for i in a: if i < 3: continue print(i) #3 #4 #5


دستور continue: کاربردش برای پریدن از روی کل کد درون حلقه است. دقت کنید که حلقه متوقف نمیشه اما کار خود را از تکرار بعدی از سر می‌گیره.

a = [1, 2, 3, 4, 5] for i in a: if i == 3: break print(i) #1 #2

40. بررسی کنید که یک رشته ارائه شده فقط شامل اعداد است یا خیر؟

'123a'.isnumeric() #False '123'.isnumeric() #True

41. بررسی کنید که یک رشته ارائه شده فقط شامل حروف است یا خیر؟

'123a'.isalpha() #False 'a'.isalpha() #True

42. بررسی کنید که یک رشته ارائه شده فقط شامل اعداد و حروف است یا خیر؟

'123abc...'.isalnum() #False '123abc'.isalnum() #True

43. لیستی از کلیدهای از یک دیکت را برگردانید.

d = {'id':7, 'name':'Shiba', 'color':'brown', 'speed':'very slow'}list(d) #['id', 'name', 'color', 'speed']

44ِ. چگونه حروفهای یک رشته را به بزرگ و کوچک تغییر بدیم؟

small_word = 'potatocake' big_word = 'FISHCAKE' small_word.upper() #'POTATOCAKE' big_word.lower() #'fishcake'

45. تفاوت بین remove, del و pop چیست؟

دستور remove اولین مقدار تطبیق را حذف می کند.

li = ['a', 'b', 'c', 'd'] li.remove('b') li #['a', 'c', 'd']


دستوز del یک عنصر را بر اساس فهرست حذف می کند.

li = ['a','b','c','d'] del li[0] li #['b', 'c', 'd']


دستور pop آیتم را در یک فهرست خاص حذف کرده و آن را برمی گرداند.

li = ['a', 'b', 'c', 'd'] li.pop(2) #'c' li #['a', 'b', 'd']

46. مثالی از درک دیکت را ارائه بدین.

در زیر ما دیکتی را با حروف الفبا به عنوان کلید ایجاد می کنیم و با حروف الفبا به عنوان مقادیر فهرست می کنیم.

import string list(string.ascii_lowercase) alphabet = list(string.ascii_lowercase) d = {val:idx for idx,val in enumerate(alphabet)} d #{'a': 0, #'b': 1, #'c': 2, #... #'x': 23, #'y': 24, #'z': 25}

47. دستورات try و except به چکاری میان؟

برای مدیریت خطا بکار میره.

try: print(14/0) except: print(&quotERROR&quot)

48. چجوری در try و except برای هر ارور احتمالی یک متن رو چاپ کنیم؟

try: a = FALSE print(14/0) except NameError: print(&quotTRUE in not defined in Python!&quot) except ZeroDivisi: print(&quotYou cannot divide a number by 0!&quot)

49. یکی از فریم‌ورک‌های پایتون رو مختصر شرح بدید و بگید به چه کاری میاد؟

فریم‌ورک‌ جانگو: برای ایجاد صفحات وب استفاده میشه و نسبت به فریم‌ورک‌های دیگه آسونه


50. 51. 52. 53.

اگر از جواب دادن این سوالات به خوبی برآمدید از شما سوال های شخصی پرسیده میشه که نظیر؛ بچه کوجایی، چرا اومدی سمت پایتون و هدفت چیه، بنظرت الان کل پایتون رو قورت دادی یا نه و.....



در آخر هم بگم که حتما و صد در هزار این سوالات ازتون پرسیده نمیشه و یکم تغییراتی وجود داره. پس بهتره آمده باشید چون سوالاتی ممکنه ازتون بپرسن که حتی خودشونم بلد نیستن جواب بدن :))))


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

برنامه نویسیپایتونjobsمصاحبه شغلی
mortezamosavi@yahoo.com
شاید از این پست‌ها خوشتان بیاید