Hướng dẫn python-interview-preparation github - python-phỏng vấn-chuẩn bị github

Câu hỏi phỏng vấn Python

Q. Làm thế nào bạn có thể cải thiện mã sau?

import string

i = 0
for letter in string.letters:
    print("The letter at index %i is %s" % (i, letter))
    i = i + 1

Show

Điểm thưởng khi đề cập đến

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
59 và sử dụng
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
60.

Q. Python đặc biệt tốt để làm gì? Khi nào đang sử dụng Python "Lựa chọn đúng" cho một dự án?

Python là một ngôn ngữ kịch bản cấp cao, được giải thích, tương tác và hướng đối tượng. Python được thiết kế để dễ đọc. Nó sử dụng các từ khóa tiếng Anh thường xuyên khi các ngôn ngữ khác sử dụng dấu câu và nó có ít cấu trúc cú pháp hơn các ngôn ngữ khác.

Python là một ngôn ngữ lập trình đa năng cấp cao có thể được áp dụng cho nhiều loại vấn đề khác nhau.

Ngôn ngữ đi kèm với một thư viện tiêu chuẩn lớn bao gồm các khu vực như xử lý chuỗi như biểu thức thông thường, unicode, tính toán sự khác biệt giữa các tệp, giao thức Internet như HTTP, FTP, SMTP, XML-RPC, POP, IMAP, lập trình CGI, kỹ thuật phần mềm như đơn vị như đơn vị Kiểm tra, ghi nhật ký, định hình, phân tích mã python và giao diện hệ điều hành như các cuộc gọi hệ thống, hệ thống tệp, ổ cắm TCP/IP.

Mặc dù thích và không thích mang tính cá nhân cao, một nhà phát triển "xứng đáng với muối của anh ấy hoặc cô ấy" sẽ làm nổi bật các tính năng của ngôn ngữ Python thường được coi là lợi thế (cũng giúp trả lời câu hỏi về Python là "đặc biệt tốt cho". Các câu trả lời hợp lệ phổ biến hơn cho câu hỏi này bao gồm:

  • Dễ sử dụng và dễ dàng tái cấu trúc, nhờ tính linh hoạt của cú pháp của Python, điều này làm cho nó đặc biệt hữu ích cho việc tạo mẫu nhanh chóng.
  • Mã nhỏ gọn hơn, một lần nữa nhờ vào cú pháp của Python, cùng với vô số thư viện Python giàu chức năng (được phân phối tự do với hầu hết các triển khai ngôn ngữ Python).
  • Một ngôn ngữ được gõ động và gõ mạnh mẽ, cung cấp sự kết hợp hiếm hoi của tính linh hoạt của mã đồng thời để tránh các lỗi chuyển đổi loại ẩn.
  • Nó là nguồn miễn phí và mở! Cần chúng ta nói nhiều hơn?

Liên quan đến câu hỏi khi sử dụng Python là "lựa chọn đúng" cho một dự án, câu trả lời hoàn chỉnh cũng phụ thuộc vào một số vấn đề trực giao cho chính ngôn ngữ, chẳng hạn như đầu tư công nghệ trước, bộ kỹ năng của nhóm, v.v. . Mặc dù câu hỏi như đã nêu ở trên ngụ ý sự quan tâm đến một câu trả lời kỹ thuật nghiêm ngặt, một nhà phát triển sẽ nêu ra các vấn đề bổ sung này trong một cuộc phỏng vấn sẽ luôn "ghi điểm nhiều hơn" với tôi vì nó cho thấy nhận thức và nhạy cảm với "bức tranh lớn hơn" (tức là, ngoài việc chỉ là công nghệ được sử dụng). Ngược lại, một phản hồi mà Python luôn là lựa chọn đúng đắn là một dấu hiệu rõ ràng của một nhà phát triển không tinh vi.

Q. Một số nhược điểm của ngôn ngữ Python là gì?

Đối với người mới bắt đầu, nếu bạn biết rõ một ngôn ngữ, bạn sẽ biết những nhược điểm của nó, vì vậy các phản hồi như "không có gì tôi không thích về nó" hoặc "nó không có nhược điểm" thực sự là rất nhiều.

Hai câu trả lời hợp lệ phổ biến nhất cho câu hỏi này (không có nghĩa là dự định là một danh sách đầy đủ) là:

  • Khóa thông dịch toàn cầu (GIL). CPython (triển khai Python phổ biến nhất) không an toàn hoàn toàn. Để hỗ trợ các chương trình Python đa luồng, CPython cung cấp một khóa toàn cầu phải được giữ bởi luồng hiện tại trước khi nó có thể truy cập an toàn các đối tượng Python. Kết quả là, cho dù có bao nhiêu luồng hoặc bộ xử lý có mặt, chỉ có một luồng được thực hiện tại bất kỳ thời điểm nào. Để so sánh, điều đáng chú ý là việc triển khai PYPY được thảo luận trước đó trong bài viết này cung cấp một chế độ không chồng hỗ trợ các chủ đề vi mô cho sự đồng thời lớn.
  • Tốc độ thực thi. Python có thể chậm hơn các ngôn ngữ biên dịch vì nó được giải thích. (Chà, loại. Xem cuộc thảo luận trước đây của chúng tôi về chủ đề này.)

Q. Chúng tôi biết Python là tất cả những cơn thịnh nộ ngày nay. Nhưng để thực sự chấp nhận một công nghệ tuyệt vời, bạn cũng phải biết những cạm bẫy của nó.

Tất nhiên. Để thực sự là chính mình, bạn phải chấp nhận sai sót của mình. Chỉ sau đó bạn có thể tiến lên để làm việc với họ. Python cũng có những sai sót của nó:

Bản chất được giải thích của Python áp đặt một hình phạt tốc độ đối với nó. Mặc dù Python là tuyệt vời cho rất nhiều thứ, nhưng nó yếu trong điện toán di động và trong các trình duyệt.

Được gõ một cách linh hoạt, Python sử dụng gõ vịt (nếu nó trông giống như một con vịt, nó phải là một con vịt). Điều này có thể tăng lỗi thời gian chạy.

Python có các lớp truy cập cơ sở dữ liệu kém phát triển. Điều này làm cho nó trở thành một lựa chọn ít hơn hoàn hảo cho các ứng dụng cơ sở dữ liệu khổng lồ.

Và ngay cả sau những cạm bẫy này, tất nhiên. Dễ dàng làm cho nó gây nghiện. Một khi là một trình mã hóa python, luôn luôn là một lập trình viên Python.

Vì vậy, trong khi nó có vấn đề, nó cũng là một công cụ tuyệt vời cho rất nhiều thứ.

Q. Sự khác biệt chính giữa Python 2 và 3 là gì?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module

Mặc dù Python 2 được chính thức coi là di sản tại thời điểm này, việc sử dụng nó vẫn đủ phổ biến, điều quan trọng đối với nhà phát triển để nhận ra sự khác biệt giữa Python 2 và 3.

  • Dưới đây là một số khác biệt chính mà nhà phát triển nên biết:

  • Văn bản và dữ liệu thay vì các chuỗi Unicode và 8 bit. Python 3.0 sử dụng các khái niệm về dữ liệu văn bản và (nhị phân) thay vì chuỗi unicode và chuỗi 8 bit. Sự phân nhánh lớn nhất của điều này là bất kỳ nỗ lực nào để trộn văn bản và dữ liệu trong Python 3.0 đều tăng một kiểu (để kết hợp hai loại an toàn, bạn phải giải mã byte hoặc mã hóa Unicode, nhưng bạn cần biết mã hóa thích hợp, ví dụ: UTF-8)

  • Điều này giải quyết một cạm bẫy lâu dài cho các lập trình viên Python ngây thơ. Trong Python 2, trộn unicode và dữ liệu 8 bit sẽ hoạt động nếu chuỗi chỉ chứa byte 7 bit (ASCII), nhưng bạn sẽ nhận được UnicodedEcodeError nếu nó chứa các giá trị không ASCII. Hơn nữa, ngoại lệ sẽ xảy ra tại điểm kết hợp, không phải tại điểm mà các ký tự không phải ASCII được đưa vào đối tượng STR. Hành vi này là một nguồn gây nhầm lẫn và phân biệt chung cho các lập trình viên Python neophyte.

  • Hàm

    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    61. Câu lệnh in đã được thay thế bằng hàm in ()

  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    62-Buh-bye. xrange () không còn tồn tại (phạm vi () hiện hành xử như xrange () được sử dụng để hoạt động, ngoại trừ nó hoạt động với các giá trị có kích thước tùy ý)

API thay đổi:

  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    63,
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    64 và
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    65 Bây giờ hãy trả về các trình lặp lại thay vì danh sách.
  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    66,
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    67 và
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    68 Bây giờ trả về 'lượt xem' thay vì danh sách.
  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    69,
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    70 và
    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    71 không còn được hỗ trợ.
  • Toán tử so sánh. Các toán tử so sánh đặt hàng () hiện nâng cao ngoại lệ kiểu khi các toán hạng không có thứ tự tự nhiên có ý nghĩa. Một số ví dụ về sự phân nhánh của điều này bao gồm:
  • Expressions like 1 < '', 0 > None or len <= len are no longer valid
  • Không có
  • Sắp xếp một danh sách không đồng nhất không còn có ý nghĩa.
  • Tất cả các yếu tố phải được so sánh với nhau

H: Một số khác biệt chính cần ghi nhớ khi mã hóa trong Python so với Java là gì?

Tuyên bố miễn trừ trách nhiệm số 1. Sự khác biệt giữa Java và Python rất nhiều và có thể sẽ là một chủ đề xứng đáng với bài đăng (dài) của riêng nó. Dưới đây chỉ là một mẫu ngắn gọn về một số khác biệt chính giữa hai ngôn ngữ.

Tuyên bố miễn trừ trách nhiệm #2. Mục đích ở đây không phải là để khởi động vào một trận chiến tôn giáo về giá trị của Python vs Java (nhiều niềm vui như vậy!). Thay vào đó, câu hỏi thực sự chỉ là hướng đến việc xem nhà phát triển hiểu một số khác biệt thực tế giữa hai ngôn ngữ như thế nào. Do đó, danh sách dưới đây cố tình tránh thảo luận về những lợi thế có thể tranh cãi của Python so với Java từ góc độ năng suất lập trình.

  • Với hai từ chối trách nhiệm trên, đây là một mẫu của một số khác biệt chính cần ghi nhớ khi mã hóa trong Python so với Java:

    • Ký tự động VS: Một trong những khác biệt lớn nhất giữa hai ngôn ngữ là Java bị giới hạn trong việc gõ tĩnh trong khi Python hỗ trợ gõ động của các biến.

    • Phương pháp tĩnh so với lớp: Phương pháp tĩnh trong Java không dịch sang phương pháp lớp Python.

    • Trong Python, gọi một phương thức lớp liên quan đến việc phân bổ bộ nhớ bổ sung mà gọi phương thức hoặc hàm tĩnh không.
      memory allocation that calling a static method or function does not.

    • Trong Java, các tên chấm chấm (ví dụ: foo.bar.method) được trình biên dịch tra cứu, vì vậy trong thời gian chạy, nó thực sự không quan trọng bạn có bao nhiêu trong số chúng. Tuy nhiên, trong Python, việc tra cứu xảy ra vào thời gian chạy, vì vậy "mỗi dấu chấm được tính".

    • Quá tải phương thức: Trong khi Java yêu cầu đặc điểm kỹ thuật rõ ràng của nhiều hàm cùng tên với các chữ ký khác nhau, thì điều tương tự có thể được thực hiện trong Python với một hàm duy nhất bao gồm các đối số tùy chọn với các giá trị mặc định nếu không được người gọi chỉ định.

    • Trích dẫn đơn so với kép. Trong khi việc sử dụng các trích dẫn đơn lẻ so với dấu ngoặc kép có ý nghĩa trong Java, chúng có thể được sử dụng thay thế cho nhau trong Python (nhưng không, nó sẽ không cho phép bắt đầu cùng một chuỗi bằng một trích dẫn kép và cố gắng kết thúc nó bằng một trích dẫn hoặc ngược lại!).

    • Getters và setters (không!). Getters và setters trong Python là không cần thiết; Thay vào đó, bạn nên sử dụng 'thuộc tính' tích hợp (đó là những gì nó dành cho!). Trong Python, getters và setters là một sự lãng phí của cả CPU và thời gian lập trình viên.

    • Các lớp học là tùy chọn. Trong khi Java yêu cầu mọi chức năng phải được xác định trong bối cảnh định nghĩa lớp kèm theo, Python không có yêu cầu như vậy.

    • Các vấn đề thụt vào trong Python. Điều này cắn nhiều lập trình viên Python mới.

    Bức tranh lớn

    • Một kiến ​​thức chuyên môn về Python mở rộng vượt ra ngoài các chi tiết kỹ thuật của ngôn ngữ. Một chuyên gia Python sẽ có sự hiểu biết sâu sắc và đánh giá cao về lợi ích của Python cũng như những hạn chế của nó. Theo đó, đây là một số câu hỏi mẫu có thể giúp đánh giá khía cạnh này của chuyên môn của ứng viên:

H: Đầu ra của mã bên dưới trong Python 2 là gì?

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)

Ngoài ra, câu trả lời sẽ khác nhau như thế nào trong Python 3 (tất nhiên, giả sử rằng các câu lệnh [in] ở trên đã được chuyển đổi thành cú pháp Python 3)?

Q. Sự khác biệt giữa phạm vi và Xrange là gì? Điều này đã thay đổi theo thời gian như thế nào?

  • Như sau:
    • Division operator
      `print` function  
      Unicode 
      xrange  
      Error Handling  
      `_future_` module
      62 Trả về đối tượng Xrange trong khi phạm vi trả về danh sách và sử dụng cùng một bộ nhớ và bất kể kích thước phạm vi là gì.
    • Đối với hầu hết các phần, Xrange và phạm vi là chính xác giống nhau về chức năng. Cả hai đều cung cấp một cách để tạo ra một danh sách các số nguyên cho bạn sử dụng, tuy nhiên bạn xin vui lòng.
    • Sự khác biệt duy nhất là phạm vi trả về một đối tượng danh sách Python và phạm vi X trả về một đối tượng xrange. Điều này có nghĩa là Xrange không thực sự tạo ra một danh sách tĩnh ở thời gian chạy như phạm vi. Nó tạo ra các giá trị khi bạn cần chúng với một kỹ thuật đặc biệt gọi là năng suất. Kỹ thuật này được sử dụng với một loại đối tượng được gọi là máy phát điện. Điều đó có nghĩa là nếu bạn có một phạm vi thực sự khổng lồ mà bạn muốn tạo một danh sách, giả sử một tỷ, Xrange là chức năng để sử dụng.
    • Điều này đặc biệt đúng nếu bạn có một hệ thống nhạy cảm bộ nhớ thực sự như điện thoại di động mà bạn đang làm việc, vì phạm vi sẽ sử dụng nhiều bộ nhớ nhất có thể để tạo ra các số nguyên của bạn, có thể dẫn đến lỗi bộ nhớ và làm hỏng chương trình. Đó là một con thú đói trí nhớ.

Q. Đầu ra của mã bên dưới là gì?

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])

  • TypeError: Đối tượng 'Loại' không thể đăng ký nếu được đưa ra tên đúng, nó sẽ in [].

Q. Phương pháp là gì?

Một phương thức là một hàm trên một số đối tượng X mà bạn thường gọi là x.name (đối số ...). Các phương thức được định nghĩa là các hàm bên trong định nghĩa lớp:

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute

Q. Làm cách nào để gọi một phương thức được xác định trong một lớp cơ sở từ một lớp dẫn xuất ghi đè nó?

Nếu bạn đang sử dụng các lớp kiểu mới, hãy sử dụng chức năng

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
73 tích hợp:

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 

Nếu bạn đang sử dụng các lớp cổ điển: Đối với một định nghĩa lớp, chẳng hạn như

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
74 ... bạn có thể gọi phương thức meth () được xác định trong cơ sở (hoặc một trong các lớp cơ sở của cơ sở) là cơ sở.meth (tự, đối số). Ở đây, Base.meth là một phương pháp không liên kết, vì vậy bạn cần cung cấp đối số tự.

Q. Làm cách nào để tổ chức mã của mình để giúp thay đổi lớp cơ sở dễ dàng hơn?

Bạn có thể xác định bí danh cho lớp cơ sở, gán lớp cơ sở thực cho nó trước định nghĩa lớp của bạn và sử dụng bí danh trong suốt lớp học của bạn. Sau đó, tất cả những gì bạn phải thay đổi là giá trị được gán cho bí danh. Ngẫu nhiên, thủ thuật này cũng rất tiện dụng nếu bạn muốn quyết định một cách linh hoạt (ví dụ: tùy thuộc vào tính khả dụng của tài nguyên) sẽ sử dụng lớp cơ sở nào.

Ví dụ: basealias = lớp có nguồn gốc (basealias): def meth (self): basealia.meth (tự).

Q. Làm cách nào để tìm tên mô -đun hiện tại?

Một mô -đun có thể tìm ra tên mô -đun của riêng mình bằng cách xem biến toàn cầu được xác định trước

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
75. Nếu điều này có giá trị
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
76, chương trình đang chạy dưới dạng tập lệnh. Nhiều mô-đun thường được sử dụng bằng cách nhập chúng cũng cung cấp giao diện dòng lệnh hoặc tự kiểm tra và chỉ thực thi mã này sau khi kiểm tra
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
75:

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
78 Trả về Thử:
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
79

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 

Q. Làm cách nào để truy cập một mô -đun được viết bằng Python từ C?

Bạn có thể nhận được một con trỏ đến đối tượng mô -đun như sau:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
80

Nếu mô -đun chưa được nhập (nghĩa là nó chưa có trong sys.modules), thì điều này sẽ khởi tạo mô -đun; Nếu không, nó chỉ đơn giản là trả về giá trị của

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
81. Lưu ý rằng nó không nhập mô -đun vào bất kỳ không gian tên nào - nó chỉ đảm bảo nó đã được khởi tạo và được lưu trữ trong sys.modules. Sau đó, bạn có thể truy cập các thuộc tính của mô -đun (nghĩa là bất kỳ tên nào được xác định trong mô -đun) như sau: attr = pyObject_getAttring (mô -đun, ""); Gọi pyObject_setAttrString () để gán cho các biến trong mô -đun cũng hoạt động.

Q. Làm cách nào để chuyển đổi một số thành một chuỗi?

Để chuyển đổi, ví dụ: số 144 thành chuỗi '144', sử dụng hàm tích hợp str (). Nếu bạn muốn một biểu diễn thập lục phân hoặc bát phân, hãy sử dụng các hàm tích hợp hex () hoặc OCT (). Để định dạng ưa thích, hãy sử dụng toán tử % trên chuỗi, ví dụ: " % 04d" % 144 mang lại '0144' và " % .3f" % (1/3.0) mang lại '0,333'. Xem Hướng dẫn tham khảo thư viện để biết chi tiết.

Q. Việc thực hiện từ điển của Python được thực hiện như thế nào?

Từ điển Python cần được khai báo trước:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
82
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
82

Có thể thêm cặp giá trị khóa như:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
83 hoặc
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
84
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
83
or
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
84

Xóa phần tử bằng:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
85
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
85

Xóa tất cả:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
86
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
86

Giá trị băm của khóa được tính toán bằng hàm băm, giá trị băm đặt một vị trí trong một mảng "xô" hoặc "danh sách va chạm" chứa cặp (khóa, giá trị).

Q. Điều gì được sử dụng để tạo chuỗi Unicode trong Python?

"u" nên được thêm vào trước chuỗi

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
87
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
88
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
88

Thêm unicode trước chuỗi. Ví dụ: Unicode (văn bản) dẫn đến văn bản.

Q. Hàm tích hợp được sử dụng trong Python để lặp lại trong một chuỗi các số là gì?

Cú pháp:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
89

Ex:

a = range(1,10,2)
print (a)

Đầu ra:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
90

Nếu sử dụng để lặp lại

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

Output:

Q. Python có câu lệnh trong trường hợp chuyển đổi không?

Ans. Trong các ngôn ngữ như C ++, chúng ta có một cái gì đó như thế này:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
0

Nhưng trong Python, chúng tôi không có câu lệnh Case Case. Ở đây, bạn có thể viết một chức năng chuyển đổi để sử dụng. Khác, bạn có thể sử dụng một tập hợp các câu lệnh if-elif-else. Để thực hiện một chức năng cho việc này, chúng tôi có thể sử dụng từ điển.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
1

Ở đây, phương thức get () trả về giá trị của khóa. Khi không có khóa khớp, giá trị mặc định (đối số thứ hai) được trả về.

Q. Công tắc hỗ trợ Python hoặc tuyên bố trường hợp trong Python? Nếu không phải là lý do cho cùng?

Từ điển có thể được sử dụng như trường hợp/chuyển đổi. Trên thực tế, không có câu lệnh chuyển đổi trong ngôn ngữ lập trình Python nhưng là một cấu trúc tương tự có thể thực hiện công lý để chuyển đổi đó là cách xử lý ngoại lệ bằng cách sử dụng thử và ngoại trừ1, ngoại trừ2, ngoại trừ3 ...., v.v.

Q. Câu lệnh có thể được sử dụng trong Python là gì nếu một câu lệnh được yêu cầu về mặt cú pháp nhưng chương trình không yêu cầu hành động?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
91 Từ khóa được sử dụng để không làm gì ngoài việc đáp ứng các yêu cầu cú pháp.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
2

Sử dụng từ khóa

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
91 ở đó như:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
3

Q. Python có hỗ trợ mạnh mẽ cho các biểu thức thông thường không?

Vâng, Python hỗ trợ biểu cảm thường xuyên tốt.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
93 là một thư viện in-buit cho cùng. Có rất nhiều ngôn ngữ khác có sự hỗ trợ tốt cho Regex- perl, awk, sed, java, v.v.

Các biểu thức chính quy (được gọi là RES, hoặc các mẫu Regexes hoặc Regex) về cơ bản là một ngôn ngữ lập trình nhỏ, chuyên dụng cao được nhúng bên trong Python và được cung cấp thông qua mô -đun RE. Sử dụng ngôn ngữ nhỏ này, bạn chỉ định các quy tắc cho tập hợp các chuỗi có thể mà bạn muốn khớp; Bộ này có thể chứa các câu tiếng Anh hoặc địa chỉ e-mail hoặc lệnh tex hoặc bất cứ điều gì bạn thích. Sau đó, bạn có thể đặt câu hỏi như "Chuỗi này có phù hợp với mẫu không?", Hoặc "Có phù hợp với mẫu ở bất cứ đâu trong chuỗi này không?". Bạn cũng có thể sử dụng RES để sửa đổi một chuỗi hoặc để tách nó ra theo nhiều cách khác nhau.

Các mẫu biểu thức chính quy được biên dịch thành một loạt các byte sau đó được thực hiện bởi một công cụ phù hợp được viết bằng C. Để sử dụng nâng cao, có thể cần phải chú ý cẩn thận đến cách động cơ sẽ thực hiện một RE đã cho và viết RE trong A Cách nhất định để sản xuất mã byte chạy nhanh hơn. Tối ưu hóa không được đề cập trong tài liệu này, bởi vì nó đòi hỏi bạn phải hiểu rõ về nội bộ của động cơ phù hợp.

Q. Làm thế nào để bạn thực hiện khớp mẫu trong Python? Giải thích.

Biểu thức thông thường/ RES/ Regexes cho phép chúng tôi chỉ định các biểu thức có thể khớp với "các phần" cụ thể của một chuỗi đã cho. Chẳng hạn, chúng ta có thể xác định một biểu thức chính quy để khớp với một ký tự hoặc một chữ số, số điện thoại hoặc địa chỉ email, v.v ... Mô -đun "Re" của Python cung cấp các mẫu biểu thức chính quy và được giới thiệu từ các phiên bản sau của Python 2.5. Mô -đun "Re" đang cung cấp các phương thức cho các chuỗi văn bản tìm kiếm hoặc thay thế các chuỗi văn bản cùng với các phương thức phân tách chuỗi văn bản dựa trên mẫu được xác định.

Q. Viết một biểu thức chính quy sẽ chấp nhận ID email. Sử dụng mô -đun Division operator `print` function Unicode xrange Error Handling `_future_` module93.

Ans.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
4

'

Để đánh vào các biểu thức thông thường, hãy kiểm tra các biểu thức chính quy trong Python.

Trình thu thập rác & Trình quản lý bộ nhớ

Q. Bộ sưu tập rác là gì?

Khái niệm loại bỏ các đối tượng chưa sử dụng hoặc không được giới thiệu khỏi vị trí bộ nhớ được gọi là bộ sưu tập rác. Trong khi thực hiện chương trình, nếu bộ sưu tập rác diễn ra thì có nhiều không gian bộ nhớ hơn cho chương trình và phần còn lại của việc thực hiện chương trình trở nên nhanh hơn.

Trình thu gom rác là một chương trình được xác định trước, loại bỏ các đối tượng chưa sử dụng hoặc không được giới thiệu khỏi vị trí bộ nhớ.

Bất kỳ số lượng tham chiếu đối tượng nào cũng trở thành 0 thì chúng ta gọi đối tượng đó là đối tượng chưa sử dụng hoặc không được giới thiệu sau đó.

Trong khi thực hiện chương trình Python nếu bất kỳ số tham chiếu đối tượng nào trở thành 0, thì bên trong trình thông dịch Python gọi trình thu gom rác và bộ thu gom rác sẽ loại bỏ đối tượng đó khỏi vị trí bộ nhớ.

Q. Bộ nhớ được quản lý như thế nào trong Python?

Bộ nhớ Python được quản lý bởi Python Private Heap Space. Tất cả các đối tượng Python và cấu trúc dữ liệu được đặt trong một đống riêng tư. Lập trình viên không có quyền truy cập vào đống và thông dịch viên riêng này. Giống như ngôn ngữ lập trình khác, Python cũng có bộ thu gom rác sẽ chăm sóc quản lý bộ nhớ trong Python.python cũng có một bộ thu gom rác sẵn có, tái chế tất cả bộ nhớ không sử dụng và giải phóng bộ nhớ và làm cho nó có sẵn vào không gian đống. Việc phân bổ không gian heap Python cho các đối tượng Python được thực hiện bởi Trình quản lý bộ nhớ Python. API cốt lõi cho phép truy cập vào một số công cụ để lập trình viên mã hóa.

Python có một không gian đống riêng tư để giữ tất cả các đối tượng và cấu trúc dữ liệu. Là lập trình viên, chúng ta không thể truy cập nó; Đó là thông dịch viên quản lý nó. Nhưng với API cốt lõi, chúng ta có thể truy cập một số công cụ. Trình quản lý bộ nhớ Python kiểm soát phân bổ.

Q. Tại sao tất cả bộ nhớ không được giải phóng khi Python thoát ra?

Các đối tượng được tham chiếu từ các không gian tên toàn cầu của các mô -đun Python không phải lúc nào cũng được giải quyết khi Python thoát ra. Điều này có thể xảy ra nếu có tài liệu tham khảo tròn. Ngoài ra còn có một số bộ nhớ nhất định ...

Q. Bất cứ khi nào bạn thoát Python, tất cả đều bị phân bổ bộ nhớ? Nhà nước tại sao nó như vậy.

Câu trả lời ở đây là không. Các mô -đun có tham chiếu tròn đến các đối tượng khác hoặc các đối tượng được tham chiếu từ các không gian tên toàn cầu, không phải lúc nào cũng được giải phóng khi thoát khỏi Python. Thêm vào đó, không thể phân phối các phần của bộ nhớ được bảo lưu bởi thư viện C.

Bất cứ khi nào Python thoát ra, đặc biệt là các mô-đun Python có các tham chiếu tròn đến các đối tượng khác hoặc các đối tượng được tham chiếu từ các không gian tên toàn cầu không phải lúc nào cũng được phân bổ hoặc giải phóng. Thư viện C.on thoát, vì có cơ chế dọn dẹp hiệu quả của riêng mình, Python sẽ cố gắng phân bổ/phá hủy mọi đối tượng khác.

Q. Có thể gán nhiều var cho các giá trị trong danh sách không?

Thủ thuật gán nhiều là một phím tắt cho phép bạn gán nhiều biến với các giá trị trong danh sách trong một dòng mã. Vì vậy, thay vì làm điều này:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
5

Làm cái này:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
6

Q. Division operator `print` function Unicode xrange Error Handling `_future_` module95 là gì và khi nào nó hữu ích?

Trong Python, mọi lớp có thể có các thuộc tính thể hiện. Theo mặc định, Python sử dụng

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
96 để lưu trữ các thuộc tính thể hiện của đối tượng. Điều này thực sự hữu ích vì nó cho phép thiết lập các thuộc tính mới tùy ý khi chạy.

Tuy nhiên, đối với các lớp nhỏ với các thuộc tính đã biết, nó có thể là một nút cổ chai.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
96 lãng phí rất nhiều RAM. Python không thể chỉ phân bổ một lượng bộ nhớ tĩnh khi tạo đối tượng để lưu trữ tất cả các thuộc tính. Do đó, nó hút rất nhiều RAM nếu bạn tạo ra rất nhiều đối tượng. Việc sử dụng
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
95 để nói với Python không sử dụng
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
96 và chỉ phân bổ không gian cho một tập hợp các thuộc tính cố định.

Example:

1. Đối tượng không có khe

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
7

2. Đối tượng với các khe

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
8

Q. Các loại đối tượng hỗ trợ trong ngôn ngữ Python là gì?

Hỗ trợ Python là hai loại là của các đối tượng. Họ đang:

Các loại tích hợp bất biến:

Các loại tích hợp có thể thay đổi:

  • Đối tượng bất biến

    Các đối tượng không cho phép sửa đổi nội dung của các đối tượng đó được gọi là 'đối tượng bất biến'

    Trước khi tạo các đối tượng bất biến với một số trình thông dịch Python nội dung đã xác minh đã có bất kỳ đối tượng nào có sẵn. Trong vị trí bộ nhớ có cùng nội dung hay không.

    Nếu đã không có sẵn đối tượng thì phiên dịch Python sẽ tạo các đối tượng mới với nội dung đó và lưu trữ địa chỉ đối tượng đó hai biến tham chiếu.

    Nếu đã có đối tượng có mặt ở vị trí bộ nhớ với cùng một nội dung, việc tạo các đối tượng mới đã có địa chỉ đối tượng hiện có sẽ được cung cấp cho biến tham chiếu.

    Program:

    Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    9

    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    00 là những đối tượng bất biến

    Hiệu suất đối tượng bất biến là cao.

    Áp dụng lặp lại trên các đối tượng bất biến mất ít thời gian hơn.

    Tất cả các loại cơ bản đại diện cho các đối tượng lớp và đối tượng lớp tuple là các đối tượng bất biến.

  • Các đối tượng có thể thay đổi:

    1. Các đối tượng cho phép sửa đổi nội dung của các đối tượng đó được gọi là 'các đối tượng có thể thay đổi'
    2. Chúng ta có thể tạo hai đối tượng có thể thay đổi khác nhau với cùng một nội dung

    Program:

    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    0

    Output:

    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    01 Các đối tượng lớp là đối tượng có thể thay đổi

    Hiệu suất của các đối tượng có thể thay đổi thấp khi so sánh với các đối tượng bất biến áp dụng các đối tượng có thể lặp lại
    Applying Iterations mutable objects takes huge time

Q. Python được gọi theo giá trị hoặc cuộc gọi theo tham chiếu? Các đối số được truyền theo giá trị hoặc tham chiếu như thế nào?

Tất cả mọi thứ trong Python là một đối tượng và tất cả các biến chứa các tham chiếu đến các đối tượng. Các giá trị tham chiếu là theo các chức năng; Kết quả là bạn không thể thay đổi giá trị của các tài liệu tham khảo. Tuy nhiên, bạn có thể thay đổi các đối tượng nếu nó có thể thay đổi.

Q. Giải thích cơ chế thông qua tham số của Python.

  • Để chuyển các tham số của nó vào một hàm, Python sử dụng từng tham chiếu. Nếu bạn thay đổi một tham số trong một hàm, thay đổi phản ánh trong hàm gọi. Đây là hành vi mặc định của nó.

  • Tuy nhiên, khi chúng ta vượt qua các đối số theo nghĩa đen như chuỗi, số hoặc bộ dữ liệu, chúng vượt qua theo giá trị. Điều này là do họ là bất biến.

Q. def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)02, def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)03 là gì?

Trong trường hợp khi chúng ta không biết có bao nhiêu đối số sẽ được chuyển đến một hàm, như khi chúng ta muốn truyền một danh sách hoặc một bộ giá trị, chúng ta sẽ sử dụng

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
02.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
1

3 2 1 4 7
2
1
4
7

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
03 Lấy các đối số từ khóa khi chúng ta không biết sẽ có bao nhiêu:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
2

A.1 B.2 C.7
b.2
c.7

Các từ

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
06 và
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
07 là một quy ước và chúng ta có thể sử dụng bất cứ thứ gì ở vị trí của chúng.

Q. Làm thế nào tôi có thể chuyển các tham số từ khóa hoặc tùy chọn từ hàm này sang chức năng khác?

Thu thập các đối số bằng trình xác định * và ** trong danh sách tham số của hàm; Điều này cung cấp cho bạn các đối số vị trí như một tuple và từ khóa đối số như một từ điển. Sau đó, bạn có thể chuyển các đối số này khi gọi một chức năng khác bằng cách sử dụng

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
08 và
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
09:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
3

Trong trường hợp không thể bạn quan tâm đến các phiên bản Python cũ hơn 2.0, hãy sử dụng 'Áp dụng':

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
4

Q. Lambda là gì? Chức năng Lambda là gì?

Một hàm không chứa bất kỳ tên nào được gọi là hàm Lambda ẩn danh, hàm Lambda mà chúng ta có thể gán cho biến và chúng ta có thể gọi hàm Lambda thông qua biến.

Cú pháp:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
10

Nó là một chức năng ẩn danh biểu thức duy nhất thường được sử dụng làm hàm nội tuyến. Một hình thức Lambda trong Python không có câu lệnh vì nó được sử dụng để tạo đối tượng chức năng mới và sau đó trả lại chúng trong thời gian chạy.

Toán tử Lambda được sử dụng để tạo các hàm ẩn danh. Nó chủ yếu được sử dụng trong trường hợp người ta muốn vượt qua các chức năng làm tham số. hoặc gán chúng cho các tên biến.

Khi chúng ta muốn một hàm với một biểu thức duy nhất, chúng ta có thể xác định nó ẩn danh. Một biểu thức lambda có thể lấy đầu vào và trả về một giá trị. Để xác định hàm trên là biểu thức lambda, chúng tôi nhập mã sau trong trình thông dịch:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
5

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
11

Ở đây, A và B là đầu vào.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
12 là biểu thức để trả về. Các đối số là 3 và 3,5.
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
12 is the expression to return. The arguments are 3 and 3.5.

Có thể không có bất kỳ đầu vào ở đây.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
13

Xin chào

Example:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
6

Đầu ra: 100

  • Tại sao các hình thức Lambda không thể trong Python chứa các câu lệnh?

Lambdas đánh giá trong thời gian chạy và những điều này không cần câu lệnh Lambda là một hàm ẩn danh, không có tên và không có số lượng đối số cố định. Được đại diện bởi từ khóa Lambda theo sau là tuyên bố. Bán tại:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
7

Đầu ra:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
14
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
14

Q. Làm thế nào để bạn tạo gói của riêng bạn trong Python?

Nó ghi đè bất kỳ khởi tạo nào từ một lớp kế thừa và được gọi khi lớp được khởi tạo.

Chúng tôi biết rằng một gói có thể chứa các gói phụ và mô-đun. Một mô -đun không có gì ngoài mã Python. Để tạo một gói của riêng chúng tôi, chúng tôi tạo một thư mục và tạo một tệp

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
15 trong đó. Chúng tôi để nó trống. Sau đó, trong gói đó, chúng tôi tạo (các) mô -đun với bất kỳ mã nào chúng tôi muốn. Để biết giải thích chi tiết với hình ảnh, hãy tham khảo các gói Python.
To create a package of our own, we create a directory and create a file
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
15 in it. We leave it empty. Then, in that package, we create a module(s) with whatever code we want. For a detailed explanation with pictures, refer to Python Packages.

Q. Giải thích việc sử dụng tuyên bố "với" trong Python?

  • Trong Python thường "với" câu lệnh được sử dụng để mở tệp, xử lý dữ liệu có trong tệp và cũng để đóng tệp mà không gọi phương thức đóng (). "Với" tuyên bố làm cho ngoại lệ xử lý đơn giản hơn bằng cách cung cấp các hoạt động dọn dẹp.

Hình thức chung của với:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
8

Xử lý các câu lệnh Lưu ý: Không cần đóng tệp bằng cách gọi Close () trên file-var.close ()
Note: no need to close the file by calling close() upon file-var.close()

Q. Việc vá khỉ là gì? Đưa ra ví dụ ?

Sửa đổi động một lớp hoặc mô-đun tại thời gian chạy.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
9

Xin chào, Khỉ

Q. Giải thích tuần tự hóa và giải phóng hóa / pickling và bỏ đi.

Mô -đun Pickle chấp nhận bất kỳ đối tượng Python nào và chuyển đổi nó thành một biểu diễn chuỗi và đổ nó vào một tệp bằng cách sử dụng chức năng kết xuất, quá trình này được gọi là Pickling. Trong khi quá trình truy xuất các đối tượng Python gốc từ biểu diễn chuỗi được lưu trữ được gọi là không có tính cách.

Để tạo các biểu diễn tuần tự di động của các đối tượng Python, chúng tôi có mô -đun 'Pickle'. Nó chấp nhận một đối tượng Python (hãy nhớ, mọi thứ trong Python là một đối tượng). Sau đó, nó chuyển đổi nó thành một biểu diễn chuỗi và sử dụng hàm dump () để đổ nó vào một tệp. Chúng tôi gọi đây là Pickling. Ngược lại, việc truy xuất các đối tượng từ biểu diễn chuỗi được lưu trữ này được gọi là 'Unpickling'.

Mô -đun Pickle thực hiện các giao thức nhị phân để tuần tự hóa và giải phóng cấu trúc đối tượng Python. "Pickling" là quá trình theo đó một hệ thống phân cấp đối tượng Python được chuyển đổi thành một luồng byte và "giải thích" là hoạt động nghịch đảo, theo đó một luồng byte (từ một tệp nhị phân hoặc đối tượng giống như byte) được chuyển đổi trở lại thành một hệ thống phân cấp đối tượng. Nồi dồn (và không có tính năng) được gọi là

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
16,
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
17 hoặc
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
18; Tuy nhiên, để tránh nhầm lẫn, các thuật ngữ được sử dụng ở đây là
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
19 và
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
20.

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
0

Tham khảo: [1] https://www.sanfoundry.com/python-questions-answers-pickle-module/ [2] https://docs.python-guide.org/scenarios/serialization/

Q. Các chức năng được đặt hàng cao hơn là gì?

Bạn có hai lựa chọn: Bạn có thể sử dụng phạm vi lồng nhau hoặc bạn có thể sử dụng các đối tượng có thể gọi được. Ví dụ: giả sử bạn muốn xác định tuyến tính (a, b) trả về hàm f (x) tính toán giá trị a*x+b.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
21
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
21

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
1

Hoặc

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
22

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
2

Trong cả hai trường hợp:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
23 đưa ra một đối tượng có thể gọi được trong đó

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
24

Cách tiếp cận đối tượng có thể gọi có bất lợi rằng nó chậm hơn một chút và dẫn đến mã dài hơn một chút. Tuy nhiên, lưu ý rằng một bộ sưu tập các thiết bị gọi có thể chia sẻ chữ ký của chúng thông qua kế thừa:

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
3

Đối tượng có thể gói gọn trạng thái cho một số phương pháp:

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
4

Ở đây inc (), dec () và reset () Act như các hàm có chung biến đếm.

Q. Làm cách nào để sao chép một tệp? Làm thế nào để sao chép đối tượng trong Python? Khác nhau giữa bản sao nông và bản sao sâu?

Mô -đun SHOTIL chứa hàm

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
25.

Một bản sao sâu sao chép một đối tượng vào một đối tượng khác. Điều này có nghĩa là nếu bạn thực hiện thay đổi thành bản sao của một đối tượng, nó sẽ không ảnh hưởng đến đối tượng gốc. Trong Python, chúng tôi sử dụng hàm DeepCopy () cho điều này và chúng tôi nhập bản sao mô -đun. Chúng tôi sử dụng nó như:

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
5

Tuy nhiên, một bản sao nông sao chép một đối tượng khác. Vì vậy, nếu chúng ta thực hiện thay đổi trong bản sao, nó sẽ ảnh hưởng đến đối tượng ban đầu. Đối với điều này, chúng tôi có chức năng

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
26, chúng tôi sử dụng nó như:

  • Phân biệt giữa danh sách và bộ dữ liệu.

Sự khác biệt chính là một danh sách là có thể thay đổi, nhưng một tuple là bất biến. Ví dụ:

Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "", dòng 1, trong mytuple [1] = 2 typeError: 'tuple' đối tượng không hỗ trợ gán mục
TypeError: 'tuple' object does not support item assignment

H: Mục đích của Pythonstartup, Pythoncaseeok, Pythonhome & Pythonpath Môi trường là gì?

  • Pythonstartup - nó chứa đường dẫn của tệp khởi tạo chứa mã nguồn Python. Nó được thực hiện mỗi khi bạn bắt đầu thông dịch viên. Nó được đặt tên là .pythonrc.py trong Unix và nó chứa các lệnh tải các tiện ích hoặc sửa đổi pythonpath.

  • Pythoncaseok-nó được sử dụng trong Windows để hướng dẫn Python tìm trận đấu không nhạy cảm với trường hợp đầu tiên trong một câu lệnh nhập. Đặt biến này thành bất kỳ giá trị nào để kích hoạt nó.

  • Pythonhome - nó là một đường dẫn tìm kiếm mô -đun thay thế. Nó thường được nhúng trong các thư mục Pythonstartup hoặc Pythonpath để giúp các thư viện mô -đun chuyển đổi trở nên dễ dàng.

  • Pythonpath - nó có một vai trò tương tự như đường dẫn. Biến này cho biết trình thông dịch Python nơi định vị các tệp mô -đun được nhập vào một chương trình. Nó nên bao gồm thư mục thư viện nguồn Python và các thư mục chứa mã nguồn Python. Pythonpath đôi khi được đặt trước bởi trình cài đặt Python.

Q. Giải thích kế thừa trong Python với một ví dụ.

Khi một lớp kế thừa từ một lớp khác, nó được cho là lớp con/con có nguồn gốc/phụ được thừa hưởng từ lớp cha mẹ/cơ sở/siêu. Nó kế thừa/đạt được tất cả các thành viên (thuộc tính và phương thức). Kế thừa cho phép chúng tôi sử dụng lại mã của mình và cũng giúp tạo và duy trì các ứng dụng dễ dàng hơn.

Kế thừa cho phép một lớp đạt được tất cả các thành viên (giả sử thuộc tính và phương thức) của một lớp khác. Kế thừa cung cấp khả năng tái sử dụng mã, giúp dễ dàng tạo và duy trì một ứng dụng hơn. Lớp mà chúng ta đang thừa kế được gọi là siêu lớp và lớp được thừa hưởng được gọi là lớp dẫn xuất/trẻ em.

  • Chúng là các loại kế thừa khác nhau được hỗ trợ bởi Python:

    • Kế thừa duy nhất - trong đó một lớp có nguồn gốc có được các thành viên của một siêu lớp duy nhất.

      HOẶC

    • Thừa kế đơn- một lớp kế thừa từ một lớp cơ sở duy nhất.

    • Di truyền đa cấp-Một lớp D1 có nguồn gốc được kế thừa từ cơ sở cơ sở1 và D2 ​​được kế thừa từ base2.

      HOẶC

    • Thừa kế đơn- một lớp kế thừa từ một lớp cơ sở duy nhất.

    • Di truyền đa cấp-Một lớp D1 có nguồn gốc được kế thừa từ cơ sở cơ sở1 và D2 ​​được kế thừa từ base2.

      HOẶC

    • Thừa kế đơn- một lớp kế thừa từ một lớp cơ sở duy nhất.

    • Di truyền đa cấp-Một lớp D1 có nguồn gốc được kế thừa từ cơ sở cơ sở1 và D2 ​​được kế thừa từ base2.

      HOẶC

    • Thừa kế đơn- một lớp kế thừa từ một lớp cơ sở duy nhất.

    • Di truyền đa cấp-Một lớp D1 có nguồn gốc được kế thừa từ cơ sở cơ sở1 và D2 ​​được kế thừa từ base2.

Di truyền đa cấp- một lớp kế thừa từ một lớp cơ sở, từ đó, được thừa hưởng từ một lớp cơ sở khác.

Di truyền phân cấp - Từ một lớp cơ sở, bạn có thể thừa hưởng bất kỳ số lượng lớp con nào

Example:

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
6

Output:

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
7

Kế thừa phân cấp- Nhiều lớp kế thừa từ một lớp cơ sở duy nhất.

Nhiều kế thừa - một lớp dẫn xuất được kế thừa từ nhiều lớp cơ sở.

Q. Những phương pháp/chức năng nào chúng ta sử dụng để xác định loại thể hiện và kế thừa?

Ans. Ở đây, chúng tôi nói về ba phương pháp/chức năng-

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
27.

một.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
28: Điều này cho chúng ta biết loại đối tượng chúng ta đang làm việc.

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
8

b. isinstance ()

Điều này có hai đối số- một giá trị và một loại. Nếu giá trị thuộc loại loại được chỉ định, nó sẽ trả về true. Khác, nó trả về sai.

ĐÚNG VẬY

Sai

ĐÚNG VẬY

Sai

c. clels ()

List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
9

ĐÚNG VẬY

Sai

c. clels ()

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
0

Điều này lấy hai lớp làm đối số. Nếu người đầu tiên kế thừa từ lần thứ hai, nó sẽ trả về đúng. Khác, nó trả về sai.

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
1

H: Viết một lớp một người sẽ đếm số lượng chữ in hoa trong một tệp. Mã của bạn sẽ hoạt động ngay cả khi tệp quá lớn để phù hợp với bộ nhớ.

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
2

Q. Viết một thuật toán sắp xếp cho một bộ dữ liệu số trong Python.

Q. Làm thế nào bạn sẽ xóa đối tượng cuối cùng khỏi danh sách?

Q. Các chỉ số tiêu cực là gì và tại sao chúng được sử dụng?

Trình tự Python có thể được chỉ số trong các số dương và âm. Đối với chỉ số tích cực, 0 là chỉ số đầu tiên, 1 là chỉ số thứ hai và vv. Đối với chỉ số âm, (-1) là chỉ số cuối cùng và (-2) là chỉ số cuối cùng thứ hai và vv.

Các chuỗi trong Python được lập chỉ mục và nó bao gồm các số dương cũng như âm. Các số sử dụng tích cực '0' được sử dụng làm chỉ mục đầu tiên và '1' là chỉ mục thứ hai và quá trình diễn ra như thế.

Chỉ số cho số âm bắt đầu từ '-1' đại diện cho chỉ số cuối cùng trong chuỗi và '-2' là chỉ số áp chót và trình tự chuyển tiếp như số dương.

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
3

Chỉ số âm được sử dụng để loại bỏ bất kỳ không gian dòng mới nào khỏi chuỗi và cho phép chuỗi ngoại trừ ký tự cuối cùng được đưa ra là S [:-1]. Chỉ số âm cũng được sử dụng để hiển thị chỉ mục để biểu diễn chuỗi theo thứ tự chính xác.

6

Hãy lấy một danh sách cho việc này.

Một chỉ số tiêu cực, không giống như một chỉ số tích cực, bắt đầu tìm kiếm từ bên phải.

Điều này cũng giúp cắt từ lưng:

  • [3, 4, 5, 6, 7]
    • Q. Giải thích Split (), Sub (), Subn () Phương thức của mô -đun
      Division operator
      `print` function  
      Unicode 
      xrange  
      Error Handling  
      `_future_` module
      93 trong Python.
    • Để sửa đổi các chuỗi, mô -đun "Re" của Python đang cung cấp 3 phương pháp. Họ đang:
    • Split () - Sử dụng mẫu regex để "chia" một chuỗi đã cho vào danh sách.

sub () - Tìm tất cả các chuỗi con trong đó mẫu Regex khớp với nhau và sau đó thay thế chúng bằng một chuỗi khác.

subn () - nó tương tự như sub () và cũng trả về chuỗi mới cùng với số không. của sự thay thế.

Q. Hàm bản đồ trong Python là gì?

Hàm MAP thực thi hàm được đưa ra là đối số đầu tiên trên tất cả các yếu tố của ITEBELBER được đưa ra dưới dạng đối số thứ hai. Nếu hàm được đưa ra trong hơn 1 đối số, thì nhiều lần lặp được đưa ra. #Follow liên kết để biết nhiều chức năng tương tự hơn

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
4

Q. Làm thế nào để có được các chỉ số của n giá trị tối đa trong một mảng numpy?

Chúng ta có thể nhận các chỉ số của n giá trị tối đa trong một mảng numpy bằng mã bên dưới:

Q. Mô -đun Python là gì?

Một mô -đun là một tập lệnh Python thường chứa các câu lệnh nhập khẩu, chức năng, lớp và định nghĩa biến và mã có thể điều khiển được Python và tệp "sống" với phần mở rộng '.py'. Các tệp ZIP và tệp DLL cũng có thể là các mô -đun. Bên trong mô -đun, bạn có thể gọi tên mô -đun dưới dạng chuỗi được lưu trữ trong tên biến toàn cầu.

Q. Đặt tên cho các mô-đun liên quan đến tệp trong Python?

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
30 and
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
31 – modules include functions for accessing the filesystem
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
32 – module enables you to copy and delete the files.

Python cung cấp các thư viện / mô -đun với các chức năng cho phép bạn thao tác với các tệp văn bản và hệ thống tệp tệp nhị phân. Sử dụng chúng, bạn có thể tạo tệp, cập nhật nội dung, sao chép và xóa các tệp của họ. Thư viện: OS, OS.PATH và SOWLIL.

Ở đây,

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
30 và
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
31 - Các mô -đun bao gồm các chức năng truy cập hệ thống tập tin
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
32 - Mô -đun cho phép bạn sao chép và xóa các tệp.

Q. Có bao nhiêu loại trình tự được hỗ trợ bởi Python? Họ là ai?

Python hỗ trợ 7 loại trình tự. Chúng là STR, DANH SÁCH, TUPE, UNICODE, Mảng byte, Xrange và Buffer. trong đó Xrange không được dùng trong Python 3.5.x.
E.g.:

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
5

Q. Làm thế nào để hiển thị nội dung của tệp văn bản theo thứ tự ngược lại? Bạn sẽ đảo ngược danh sách như thế nào?

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
33 - đảo ngược các đối tượng của danh sách tại chỗ, chuyển đổi tệp đã cho thành một danh sách. Đảo ngược danh sách bằng cách sử dụng
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
34. Ví dụ.:

Q. Điều nào sau đây là một tuyên bố không hợp lệ?

A) ABC = 1.000.000 B) A B C = 1000 2000 3000 C) A, B, C = 1000, 2000, 3000 D) A_B_C = 1.000.000 Trả lời: B
b) a b c = 1000 2000 3000
c) a,b,c = 1000, 2000, 3000
d) a_b_c = 1,000,000 Answer: b

Q. Đầu ra của những điều sau đây là gì?

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
6

Q. Giả sử List1 là [2, 33, 222, 14, 25], list1 [-1] là gì?

Q. Làm thế nào để mở tệp C: \ scores.txt để viết?

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
7

Q. Tên một vài mô -đun Python cho các tính toán thống kê, số và khoa học?

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
8

Q. Tkinter là gì?

Tkinter là Thư viện Python. Nó là một bộ công cụ để phát triển GUI. Nó cung cấp hỗ trợ cho các công cụ hoặc tiện ích GUI khác nhau (như nút, nhãn, hộp văn bản, nút radio, v.v.) được sử dụng trong các ứng dụng GUI. Các thuộc tính phổ biến của chúng bao gồm kích thước, màu sắc, phông chữ, con trỏ, v.v.

Q. Có định hướng đối tượng Python không? Lập trình hướng đối tượng là gì?

Đúng. Python là ngôn ngữ lập trình định hướng đối tượng. OOP là mô hình lập trình dựa trên các lớp và trường hợp của các lớp được gọi là đối tượng. Các tính năng của OOP là: đóng gói, trừu tượng hóa dữ liệu, kế thừa, đa hình.

Q. Python có hỗ trợ các giao diện như trong Java không? Bàn luận.

Python không cung cấp các giao diện như trong Java. Lớp cơ sở trừu tượng (ABC) và tính năng của nó được cung cấp bởi mô -đun "ABC" của Python. Lớp cơ sở trừu tượng là một cơ chế để chỉ định những phương pháp nào phải được thực hiện bằng các lớp con thực hiện của nó. Việc sử dụng ABC'C cung cấp một loại "hiểu biết" về các phương pháp và hành vi mong đợi của chúng. Mô -đun này đã được cung cấp từ phiên bản Python 2.7 trở đi.

Q. Trình truy cập, đột biến, @Property là gì?

Người truy cập và đột biến thường được gọi là getters và setters bằng các ngôn ngữ như "java". Ví dụ: nếu X là thuộc tính của lớp do người dùng xác định, thì lớp sẽ có các phương thức được gọi là setX () và getx (). Python có một 'nhà trang trí' @property cho phép bạn quảng cáo getters và setters để truy cập thuộc tính của lớp.

Q. Phân biệt giữa các phương thức expend () và extend ().?

Cả hai phương thức expend () và extend () là các phương thức của danh sách. Các phương pháp này được sử dụng để thêm các yếu tố ở cuối danh sách.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
35 - Thêm phần tử đã cho ở cuối danh sách đã gọi phương pháp này.
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
36-Thêm các yếu tố của danh sách khác ở cuối danh sách được gọi là phương thức mở rộng.
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
36 – adds the elements of another-list at the end of the list which is called the extend method.

Q. Tên một vài phương pháp được sử dụng để thực hiện lập trình theo định hướng chức năng trong Python?

Python hỗ trợ các phương thức (được gọi là iterator trong python3), chẳng hạn như Filter (), map () và giảm (), rất hữu ích khi bạn cần lặp lại các mục trong danh sách, tạo từ điển hoặc trích xuất một tập hợp con của một danh sách.

  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    65 - Cho phép bạn trích xuất một tập hợp các giá trị dựa trên logic có điều kiện.
  • Division operator
    `print` function  
    Unicode 
    xrange  
    Error Handling  
    `_future_` module
    64-Đây là một chức năng tích hợp áp dụng chức năng cho từng mục trong một mục có thể.
  • def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    39-Liên tục thực hiện giảm cặp theo cặp trên một chuỗi cho đến khi một giá trị duy nhất được tính toán.

Q. Đầu ra của những điều sau đây là gì?

class C: 
    def meth (self, arg): 
        return arg*2 + self.attribute
9

Một kiểu mẫu xảy ra vì bản đồ không có len ().

Q. Đầu ra của những điều sau đây là gì?

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
0

Độ dài của mỗi chuỗi là 2.

Q. Điều nào sau đây không phải là cú pháp chính xác để tạo tập hợp?

a) Đặt ([[1,2], [3,4]]) B) Đặt ([1,2,2,3,4]) C) Đặt ((1,2,3,4)) D) {1,2,3,4}

A. Giải thích: Đối số được đưa ra cho tập hợp phải là một điều không thể đạt được.

Q. Giải thích một vài phương pháp để thực hiện lập trình định hướng chức năng trong Python.

Đôi khi, khi chúng tôi muốn lặp lại trong một danh sách, một vài phương pháp có ích.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
65: Bộ lọc cho phép chúng tôi lọc trong một số giá trị dựa trên logic có điều kiện.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
1

ANS: [6, 7]

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
64: Bản đồ áp dụng một hàm cho mọi yếu tố trong một điều khác.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
2

ANS: [0, 1, 4, 9, 16, 25, 36, 49]

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
39: Giảm liên tục giảm một cặp theo trình tự khôn ngoan cho đến khi chúng ta đạt được một giá trị duy nhất

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
3

ANS: -13

Q. Viết một hàm Python kiểm tra xem một chuỗi được truyền có phải là palindrom hay không?

Lưu ý: Một palindrom là một từ, cụm từ hoặc trình tự đọc cùng lùi như về phía trước, ví dụ, madam, saas, nun.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
4

Q. Viết một chương trình Python để tính tổng của một danh sách các số.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
5

Đầu ra mẫu: 24

Q. Làm thế nào để truy xuất dữ liệu từ một bảng trong cơ sở dữ liệu MySQL thông qua mã Python? Giải thích.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
6

Q. Viết một chương trình Python để đọc một dòng ngẫu nhiên từ một tệp.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
7

Q. Viết một chương trình Python để đếm số lượng dòng trong một tệp văn bản.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
8

Q. Các tính năng chính của Python là gì?

Nếu nó làm cho một ngôn ngữ giới thiệu để lập trình, Python phải có ý nghĩa gì đó. Đây là những phẩm chất của nó:

  • Interpreted.
  • Dynamically-typed.
  • Object-oriented
  • Ngắn gọn và đơn giản
  • Tự do
  • Có một cộng đồng lớn

Q. Giải thích người vận hành ternary trong Python.

Không giống như C ++, chúng ta không có?: Trong Python, nhưng chúng ta có điều này:

[TRÊN TRUE] Nếu [Biểu thức] khác [trên FALSE]

Nếu biểu thức là đúng, câu lệnh trong [trên true] được thực thi. Khác, dưới [trên false] được thực thi.

Dưới đây là cách bạn sẽ sử dụng nó: Ex 1.

class Derived(Base):
    def meth (self): 
       super(Derived, self).meth() 
9

ANS: 2

Ex 2.

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
0

Trả lời: Xin chào

Q. MultiThreading là gì? Cho một ví dụ.

Nó có nghĩa là chạy một số chương trình khác nhau đồng thời bằng cách gọi nhiều luồng. Nhiều luồng trong một quy trình giới thiệu không gian dữ liệu với luồng chính và chúng có thể liên lạc với nhau để chia sẻ thông tin dễ dàng hơn. Các điều này là các quy trình trọng lượng nhẹ và có ít chi phí bộ nhớ hơn. Chủ đề có thể được sử dụng chỉ cho nhiệm vụ nhanh như tính toán kết quả và cũng chạy các quy trình khác trong nền trong khi chương trình chính đang chạy.

Chủ đề là một chức năng hoặc logic có thể thực thi đồng thời cùng với phần khác của chương trình. Chủ đề là một quá trình trọng lượng nhẹ. Bất kỳ chương trình đang được thực hiện đều được gọi là quy trình. Chúng ta có thể xác định các luồng trong Python bằng cách ghi đè lên phương thức chạy của lớp luồng. Lớp luồng là một lớp được xác định trước được xác định trong mô -đun luồng. Chủ đề trong mô -đun là một mô -đun được xác định trước. Nếu chúng ta gọi phương thức Run trực tiếp, logic của phương thức chạy sẽ được thực thi dưới dạng logic phương thức bình thường. Để thực hiện logic của phương thức chạy như một phương thức bắt đầu của lớp luồng. Thí dụ
Thread class is a predefined class which is defined in threading module.
Thread in module is a predefined module.
If we call the run method directly the logic of the run method will be executed as a normal method logic. In order to execute the logic of the run method as a we use start method of thread class. Example

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
1

Một luồng là một quy trình nhẹ và đa luồng cho phép chúng tôi thực thi nhiều luồng cùng một lúc. Như bạn đã biết, Python là một ngôn ngữ đa luồng. Nó có một gói đa luồng. Gil (khóa thông dịch toàn cầu) đảm bảo rằng một luồng duy nhất thực hiện tại một thời điểm. Một chủ đề giữ GIL và làm một chút công việc trước khi chuyển nó sang luồng tiếp theo. Điều này làm cho một ảo ảnh thực thi song song. Nhưng trong thực tế, nó chỉ là sự thay đổi tại CPU. Tất nhiên, tất cả các lần vượt qua đều thêm chi phí cho việc thực hiện.

Q. Giải thích các hàm trợ giúp () và dir () trong Python.

Hàm trợ giúp () hiển thị chuỗi tài liệu và trợ giúp cho đối số của nó.

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
2

Trợ giúp trên Sao chép chức năng trong Mô -đun Sao chép: Sao chép (X) Hoạt động sao chép nông trên các đối tượng Python tùy ý. Xem chuỗi DOC của mô -đun để biết thêm thông tin. Hàm Dir () hiển thị tất cả các thành viên của một đối tượng (bất kỳ loại nào).doc string for more info. The dir() function displays all the members of an object(any kind).

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
3

Từ điển

Q. Từ điển trong Python là gì?

Các kiểu dữ liệu tích hợp trong Python được gọi là từ điển. Nó xác định mối quan hệ một-một giữa các khóa và giá trị. Từ điển chứa cặp khóa và giá trị tương ứng của chúng. Từ điển được lập chỉ mục bởi các khóa.

Hãy lấy một ví dụ:

Ví dụ sau đây chứa một số khóa. Quốc gia, Thủ đô & PM. Các giá trị tương ứng của chúng là Ấn Độ, Delhi và Modi tương ứng.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
43

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
44

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
4

3

Một từ điển là có thể thay đổi, và chúng ta cũng có thể sử dụng một sự hiểu biết để tạo ra nó.

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
5

{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}

Q. Làm thế nào để bạn có được một danh sách tất cả các khóa trong từ điển?

Hãy cụ thể trong các loại câu hỏi và câu trả lời phỏng vấn Python.

Đối với điều này, chúng tôi sử dụng các phím chức năng ().

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
6

(['A', 'B', 'C', 'E']))

H: Viết logic Python để đếm số lượng chữ in hoa trong một tệp.

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
7

26

Q. Làm thế nào bạn sẽ chọn ngẫu nhiên nội dung của một danh sách tại chỗ?

Đối với điều này, chúng tôi sẽ nhập chức năng

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
45 từ mô -đun
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
46.

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
8

[3, 4, 8, 0, 5, 7, 6, 2, 1]

Q. Giải thích Tham gia () và Split () trong Python.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
47 Nó đưa bất kỳ phép lặp vào phương pháp này. Phương thức tham gia được sử dụng để kết hợp các yếu tố của bất kỳ danh sách nào.
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
48 cho phép chúng tôi tham gia các ký tự từ một chuỗi với nhau bằng một ký tự chúng tôi chỉ định.

'1,2,3,4,5'

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
49 cho phép chúng tôi chia một chuỗi xung quanh ký tự chúng tôi chỉ định.

['1', '2', '3', '4', '5']]]

Q. Có nhạy cảm với trường hợp Python không?

Một ngôn ngữ nhạy cảm với trường hợp nếu nó phân biệt giữa các định danh như myname và myname. Nói cách khác, nó quan tâm đến chữ thường hoặc chữ hoa. Hãy thử điều này với Python.

Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "", dòng 1, trong myname nameRror: name 'myname' không được xác định

Như bạn có thể thấy, điều này đã nâng một nameerror. Điều này có nghĩa là Python thực sự nhạy cảm trường hợp.

  • Một số nhận dạng có thể ở Python trong bao lâu?

Trong Python, một định danh có thể có bất kỳ độ dài nào. Ngoài ra, có một số quy tắc nhất định chúng ta phải tuân theo để đặt tên cho một:

def main():
    print('Running test...')
if __name__ == '__main__':
    main() 
9

Python có các từ khóa sau:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
50
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
51
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
52
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
53
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
54
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
55
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
50
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
51
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
52
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
53
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
54
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
55

Q. Làm thế nào để bạn loại bỏ khoảng trắng hàng đầu trong một chuỗi?

Trượt khoảng trắng hàng đầu trong một chuỗi là khoảng trắng trong một chuỗi trước ký tự không phải màu trắng đầu tiên. Để loại bỏ nó khỏi một chuỗi, chúng tôi sử dụng phương thức

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
56.

'Đập '

Như bạn có thể thấy, chuỗi này có cả khoảng trắng dẫn đầu và dấu vết. Lstrip () đã tước chuỗi của khoảng trắng hàng đầu. Nếu chúng ta muốn tước khoảng trắng kéo dài thay vào đó, chúng ta sẽ sử dụng rstrip ().

' Đập'

  • Làm thế nào bạn sẽ chuyển đổi một chuỗi thành chữ thường?

Chúng tôi sử dụng phương thức thấp hơn () cho điều này.

'ramayan'

Để chuyển đổi nó thành chữ hoa, sau đó, chúng tôi sử dụng trên ().

'RAMAYAN'

Ngoài ra, để kiểm tra xem một chuỗi có ở tất cả chữ hoa hay tất cả các chữ thường, chúng tôi sử dụng các phương thức isupper () và islower ().

Sai

ĐÚNG VẬY

ĐÚNG VẬY

ĐÚNG VẬY

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

Ngoài ra, istitle () sẽ cho chúng tôi biết nếu một chuỗi trong trường hợp tiêu đề.

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
0

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

Ngoài ra, istitle () sẽ cho chúng tôi biết nếu một chuỗi trong trường hợp tiêu đề.

Q. Tuyên bố vượt qua trong Python là gì?

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
1

Có thể có những lúc trong mã của chúng tôi khi chúng tôi chưa quyết định phải làm gì, nhưng chúng tôi phải gõ một cái gì đó để nó được chính xác về mặt cú pháp. Trong trường hợp như vậy, chúng tôi sử dụng câu lệnh PASS.
1
2

Tương tự, tuyên bố phá vỡ thoát ra khỏi một vòng lặp.

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
2

0 1 2
1
2
4
5
6

Cuối cùng, tuyên bố tiếp tục bỏ qua lần lặp tiếp theo.

0 1 2 4 5 6

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
3

7

Q. Việc đóng cửa trong Python là gì?

Một đóng cửa được cho là xảy ra khi một hàm lồng nhau tham chiếu một giá trị trong phạm vi bao quanh của nó. Toàn bộ điểm ở đây là nó nhớ lại giá trị.

Q. Giải thích các toán tử //, %và ** trong Python.
Normal division would return 3.5 here.

Nhà điều hành // thực hiện phân chia sàn. Nó sẽ trả về phần số nguyên của kết quả trên bộ phận.

1024

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
57 Bộ phận bình thường sẽ trả lại 3,5 tại đây.

6

0.5

Tương tự, ** thực hiện số mũ. a ** b trả về giá trị của A được nâng lên nguồn b.

Cuối cùng, % là cho mô đun. Điều này cho chúng ta giá trị còn lại sau khi phân chia cao nhất có thể đạt được.

H: Chúng ta có bao nhiêu loại vận hành trong Python? Giải thích các toán tử số học.

Loại câu hỏi và câu trả lời phỏng vấn Python này có thể quyết định kiến ​​thức của bạn trong Python. Trả lời các câu hỏi phỏng vấn Python với một số ví dụ tốt.

Ở Python, chúng tôi có 7 loại toán tử: số học, phân công quan hệ, logic, thành viên, bản sắc và bitwise.

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
4

Chúng tôi có bảy toán tử số học. Chúng cho phép chúng tôi thực hiện các hoạt động số học trên các giá trị:

Ngoài ra (+) Điều này thêm hai giá trị.

  • Q. Giải thích các nhà khai thác quan hệ trong Python.

Sai

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
5

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
6

ĐÚNG VẬY

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
7

ĐÚNG VẬY

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
8

ĐÚNG VẬY

# For more realistic situations, you may have to do something like:
m = __import__(s) 
	for i in s.split(".")[1:]: m = getattr(m, i) 
9

ĐÚNG VẬY

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

Ngoài ra, istitle () sẽ cho chúng tôi biết nếu một chuỗi trong trường hợp tiêu đề.

Q. Tuyên bố vượt qua trong Python là gì?

8

7

14

7.0

49.0

16.0

0.0

Có thể có những lúc trong mã của chúng tôi khi chúng tôi chưa quyết định phải làm gì, nhưng chúng tôi phải gõ một cái gì đó để nó được chính xác về mặt cú pháp. Trong trường hợp như vậy, chúng tôi sử dụng câu lệnh PASS.

Tương tự, tuyên bố phá vỡ thoát ra khỏi một vòng lặp.

Sai

ĐÚNG VẬY

Sai

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

ĐÚNG VẬY

a = range(1,10,2)
print (a)
0

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

Ngoài ra, istitle () sẽ cho chúng tôi biết nếu một chuỗi trong trường hợp tiêu đề.

Sai

ĐÚNG VẬY

Vì vậy, các ký tự như @ và $ sẽ đủ cho cả hai trường hợp.

Ngoài ra, istitle () sẽ cho chúng tôi biết nếu một chuỗi trong trường hợp tiêu đề.

a = range(1,10,2)
print (a)
1

2

a = range(1,10,2)
print (a)
2

3

a = range(1,10,2)
print (a)
3

1

a = range(1,10,2)
print (a)
4

-3

a = range(1,10,2)
print (a)
5

4

Q. Tuyên bố vượt qua trong Python là gì?

Có thể có những lúc trong mã của chúng tôi khi chúng tôi chưa quyết định phải làm gì, nhưng chúng tôi phải gõ một cái gì đó để nó được chính xác về mặt cú pháp. Trong trường hợp như vậy, chúng tôi sử dụng câu lệnh PASS.

1

Tương tự, tuyên bố phá vỡ thoát ra khỏi một vòng lặp.

0 1 2

Cuối cùng, tuyên bố tiếp tục bỏ qua lần lặp tiếp theo.

a = range(1,10,2)
print (a)
7

10

0 1 2 4 5 6

'0b1111'

a = range(1,10,2)
print (a)
8

'0o10'

a = range(1,10,2)
print (a)
9

'0x10'

'0xf'

Q. Việc đóng cửa trong Python là gì?

Một đóng cửa được cho là xảy ra khi một hàm lồng nhau tham chiếu một giá trị trong phạm vi bao quanh của nó. Toàn bộ điểm ở đây là nó nhớ lại giá trị.

Q. Giải thích các toán tử //, %và ** trong Python.

Nhà điều hành // thực hiện phân chia sàn. Nó sẽ trả về phần số nguyên của kết quả trên bộ phận.

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

def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)57 Bộ phận bình thường sẽ trả lại 3,5 tại đây.

Tương tự, ** thực hiện số mũ. a ** b trả về giá trị của A được nâng lên nguồn b.

Cuối cùng, % là cho mô đun. Điều này cho chúng ta giá trị còn lại sau khi phân chia cao nhất có thể đạt được.

H: Chúng ta có bao nhiêu loại vận hành trong Python? Giải thích các toán tử số học.

Loại câu hỏi và câu trả lời phỏng vấn Python này có thể quyết định kiến ​​thức của bạn trong Python. Trả lời các câu hỏi phỏng vấn Python với một số ví dụ tốt.

Ở Python, chúng tôi có 7 loại toán tử: số học, phân công quan hệ, logic, thành viên, bản sắc và bitwise.

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

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

Chúng tôi có bảy toán tử số học. Chúng cho phép chúng tôi thực hiện các hoạt động số học trên các giá trị:

Ngoài ra (+) Điều này thêm hai giá trị.

for i in range(1,10):
    print (i)
3

Q. Giải thích các nhà khai thác quan hệ trong Python.

Toán tử quan hệ so sánh các giá trị.

'\ n \ tthis in

Một tài liệu, không giống như một bình luận, được giữ lại trong thời gian chạy.

Q. Biến Pythonpath là gì?

PythonPath là biến cho trình thông dịch cho biết vị trí các tệp mô -đun được nhập vào một chương trình. Do đó, nó phải bao gồm thư mục thư viện nguồn Python và các thư mục chứa mã nguồn Python. Bạn có thể đặt thủ công Pythonpath, nhưng thông thường, trình cài đặt Python sẽ đặt trước nó.

Q. Cắt lát là gì?

Đây là những loại câu hỏi phỏng vấn Python cơ bản cho Freshers.

Cắt lát là một kỹ thuật cho phép chúng ta chỉ lấy một phần của danh sách, tuple hoặc chuỗi. Đối với điều này, chúng tôi sử dụng toán tử cắt [].

for i in range(1,10):
    print (i)
4

Q. Có tên là gì?

Được đặt tên sẽ cho phép chúng tôi truy cập vào các phần tử của Tuple bằng tên/nhãn. Chúng tôi sử dụng hàm có tênTuple () cho điều này và nhập nó từ các bộ sưu tập.

for i in range(1,10):
    print (i)
5

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
59

Như bạn có thể thấy, nó cho phép chúng tôi truy cập các nhãn hiệu trong hóa học bằng cách sử dụng thuộc tính hóa học của đối tượng Ramayan.

Q. Làm thế nào bạn sẽ tuyên bố một bình luận trong Python?

Không giống như các ngôn ngữ như C ++, Python không có nhận xét đa dòng. Tất cả những gì nó có là Octothorpe (#). Bất cứ điều gì sau băm đều được coi là một bình luận, và thông dịch viên bỏ qua nó.

for i in range(1,10):
    print (i)
6

Trong thực tế, bạn có thể đặt một bình luận ở bất cứ đâu trong mã của bạn. Bạn có thể sử dụng nó để giải thích mã của bạn.

Q. Làm thế nào bạn sẽ chuyển đổi một chuỗi thành INT trong Python?

Nếu một chuỗi chỉ chứa các ký tự số, bạn có thể chuyển đổi nó thành một số nguyên bằng hàm int ().

227

Hãy kiểm tra các loại:

Q. Làm thế nào để bạn lấy đầu vào trong Python?

Để lấy đầu vào từ người dùng, chúng tôi có hàm đầu vào (). Trong Python 2, chúng tôi đã có một hàm khác raw_input ().

Hàm input (), như một đối số, văn bản sẽ được hiển thị cho tác vụ:

for i in range(1,10):
    print (i)
7

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Q. Làm thế nào để bạn lấy đầu vào trong Python?

'77'

Để lấy đầu vào từ người dùng, chúng tôi có hàm đầu vào (). Trong Python 2, chúng tôi đã có một hàm khác raw_input ().

Hàm input (), như một đối số, văn bản sẽ được hiển thị cho tác vụ:

for i in range(1,10):
    print (i)
8

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
60

Nhân cái này với 2 cho chúng ta điều này:

Vì vậy, nếu chúng ta cần làm việc trên một số nguyên thay thế?

Chúng tôi sử dụng hàm int () cho điều này.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
61

Bây giờ khi chúng ta nhân nó với 2, chúng ta nhận được điều này:

Q. Một bộ đóng băng trong Python là gì?
File "", line 1, in myset[0]
TypeError: 'set' object does not support indexing

Trả lời các loại câu hỏi phỏng vấn Python với các ví dụ.

for i in range(1,10):
    print (i)
9

Đầu tiên, chúng ta hãy thảo luận về một bộ là gì. Một bộ là một tập hợp các mục, nơi không thể có bất kỳ bản sao nào. Một bộ cũng không được đặt hàng.

Q. Làm thế nào để bạn lấy đầu vào trong Python?

Để lấy đầu vào từ người dùng, chúng tôi có hàm đầu vào (). Trong Python 2, chúng tôi đã có một hàm khác raw_input ().

Hàm input (), như một đối số, văn bản sẽ được hiển thị cho tác vụ:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
00

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
62

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Nhân cái này với 2 cho chúng ta điều này:

Vì vậy, nếu chúng ta cần làm việc trên một số nguyên thay thế?

Chúng tôi sử dụng hàm int () cho điều này.

Bây giờ khi chúng ta nhân nó với 2, chúng ta nhận được điều này:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
01

6

5

7

6

2

Q. Một bộ đóng băng trong Python là gì?

Trả lời các loại câu hỏi phỏng vấn Python với các ví dụ.

'Ramayan'

Q. Làm thế nào để bạn lấy đầu vào trong Python?

'$HRIR@M'

Để lấy đầu vào từ người dùng, chúng tôi có hàm đầu vào (). Trong Python 2, chúng tôi đã có một hàm khác raw_input ().

Hàm input (), như một đối số, văn bản sẽ được hiển thị cho tác vụ:

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Nhân cái này với 2 cho chúng ta điều này:

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Nhập một số7

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Nhập một số7

Nhập một số7

Nhưng nếu bạn đã chú ý, bạn sẽ biết rằng nó sẽ đầu vào dưới dạng một chuỗi.

Nhân cái này với 2 cho chúng ta điều này:

Vì vậy, nếu chúng ta cần làm việc trên một số nguyên thay thế?

Chúng tôi sử dụng hàm int () cho điều này.

'3232'

Bây giờ khi chúng ta nhân nó với 2, chúng ta nhận được điều này:

Q. Một bộ đóng băng trong Python là gì?

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
66
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
67

Trả lời các loại câu hỏi phỏng vấn Python với các ví dụ.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
02

Đầu tiên, chúng ta hãy thảo luận về một bộ là gì. Một bộ là một tập hợp các mục, nơi không thể có bất kỳ bản sao nào. Một bộ cũng không được đặt hàng.

Điều này có nghĩa là chúng ta không thể lập chỉ mục nó.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
03

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
11

Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "", dòng 1, trong myset [0] typeerror: 'set' đối tượng không hỗ trợ lập chỉ mục

Tuy nhiên, một bộ là có thể thay đổi. Một bộ đông lạnh là bất biến. Điều này có nghĩa là chúng tôi không thể thay đổi giá trị của nó. Điều này cũng làm cho nó đủ điều kiện để được sử dụng làm chìa khóa cho một từ điển.

Frozenset ({1, 2, 3})

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
04

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
69

Q. Làm thế nào bạn sẽ tạo ra một số ngẫu nhiên trong Python?

Loại câu hỏi và câu trả lời phỏng vấn Python này có thể chứng minh chiều sâu kiến ​​thức của bạn.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
05

Để tạo một số ngẫu nhiên, chúng tôi nhập hàm ngẫu nhiên () từ mô -đun ngẫu nhiên.

Hãy gọi cho sự giúp đỡ về điều này.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
06

[('A', 1), ('B', 2), ('C', 3)]]

Q. Nếu bạn đã từng bị mắc kẹt trong một vòng lặp vô hạn, làm thế nào bạn sẽ thoát ra khỏi nó?

Đối với điều này, chúng tôi nhấn Ctrl+c. Điều này làm gián đoạn việc thực hiện. Hãy tạo một vòng lặp vô hạn để chứng minh điều này.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
07

7 7 7 7. . . . . Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "", dòng 1, trong tệp counterfunc (7) "", dòng 2, trong counterfunc while (n == 7): print (n)
7
7
7
.
.
.
.
.
Traceback (most recent call last):
File "", line 1, in counterfunc(7)
File "", line 2, in counterfunc
while(n==7):print(n)
KeyboardInterrupt

Q. Với Python, làm thế nào để bạn tìm ra bạn đang ở thư mục nào?

Để tìm thấy điều này, chúng tôi sử dụng hàm/phương thức getCwd (). Chúng tôi nhập nó từ hệ điều hành mô -đun.

'C: \ Users \ Lifei \ AppData \ Local \ Programs \ Python \ Python36-32'

Chúng tôi cũng có thể thay đổi thư mục làm việc hiện tại với CHDIR ().

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
08

'C: \ Users \ Lifei \ Desktop'

Q. Làm thế nào bạn sẽ tìm thấy, trong một chuỗi, từ đầu tiên có vần với 'bánh'?

Với mục đích của chúng tôi, chúng tôi sẽ sử dụng function search (), sau đó sử dụng nhóm () để có đầu ra.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
09

'make'

Và như chúng ta đã biết, Function Search () dừng ở trận đấu đầu tiên. Do đó, chúng tôi có vần đầu tiên của chúng tôi để 'bánh'.

Q. Tkinter là gì?

Tkinter là một thư viện Python nổi tiếng mà bạn có thể tạo ra một GUI. Nó cung cấp hỗ trợ cho các công cụ và tiện ích GUI khác nhau như nút, nhãn, hộp văn bản, nút radio, v.v. Các công cụ và vật dụng này có các thuộc tính như kích thước, màu sắc, phông chữ, màu sắc, v.v.

Bạn cũng có thể nhập mô -đun Tkinter.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
10

Điều này sẽ tạo ra một cửa sổ mới cho bạn:

Điều này tạo ra một cửa sổ với tiêu đề 'Trò chơi của tôi'. Bạn có thể định vị các vật dụng của bạn về điều này.

Theo liên kết này để biết thêm về Thư viện Python

Q. Tệp .pyc khác với tệp .py như thế nào?

Trong khi cả hai tệp đều giữ mã byte, .PYC là phiên bản biên dịch của tệp Python. Nó có mã byte độc ​​lập với nền tảng. Do đó, chúng tôi có thể thực thi nó trên bất kỳ nền tảng nào hỗ trợ định dạng .pyc. Python tự động tạo nó để cải thiện hiệu suất (về thời gian tải, không phải tốc độ).

Q. Làm thế nào để bạn tính độ dài của một chuỗi?

Cái này đơn giản. Chúng tôi gọi hàm len () trên chuỗi chúng tôi muốn tính độ dài.

Q. Đầu ra mã sau đây là gì?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
11

Ans. ([10, 'A'], [123], [10, 'A']))

Bạn sẽ hy vọng đầu ra sẽ là một cái gì đó như thế này:

([10],[123],['a'])

Chà, điều này là do đối số danh sách không khởi tạo đến giá trị mặc định của nó ([]) mỗi khi chúng tôi thực hiện cuộc gọi đến hàm. Khi chúng tôi xác định chức năng, nó tạo ra một danh sách mới. Sau đó, bất cứ khi nào chúng tôi gọi nó lại mà không có đối số danh sách, nó sử dụng cùng một danh sách. Điều này là do nó tính toán các biểu thức trong các đối số mặc định khi chúng ta xác định hàm chứ không phải khi chúng ta gọi nó.

Hãy sửa đổi cơ sở của lập trình Python

Q. Người trang trí là gì? Làm thế nào để tôi xác định của riêng tôi?

Ans. Một bộ trang trí là một chức năng thêm chức năng cho một chức năng khác mà không cần sửa đổi nó. Nó kết thúc một chức năng khác để thêm chức năng cho nó. Một người trang trí Python là một thay đổi cụ thể mà chúng ta thực hiện trong cú pháp Python để thay đổi các chức năng một cách dễ dàng.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
12

$$$$$$$$$$$$$$$$$$$$

Các nhà trang trí là một ví dụ về metaprogramming, trong đó một phần của mã cố gắng thay đổi một phần khác. Để biết thêm về các nhà trang trí, đọc các nhà trang trí Python.

Q. Tại sao sử dụng các nhà trang trí chức năng? Cho một ví dụ.

Một người trang trí về cơ bản là một đối tượng Python có thể gọi được được sử dụng để sửa đổi hoặc mở rộng một hàm hoặc định nghĩa lớp.

Một trong những người đẹp của các nhà trang trí là một định nghĩa trang trí duy nhất có thể được áp dụng cho nhiều chức năng (hoặc lớp). Do đó, nhiều điều có thể được hoàn thành với các nhà trang trí mà nếu không sẽ yêu cầu nhiều mã nồi hơi (hoặc thậm chí còn tồi tệ hơn!).

Ví dụ, Flask sử dụng các bộ trang trí làm cơ chế để thêm các điểm cuối mới vào một ứng dụng web. Ví dụ về một số cách sử dụng phổ biến hơn của các nhà trang trí bao gồm thêm đồng bộ hóa, thực thi loại, ghi nhật ký hoặc điều kiện trước/bài vào một lớp hoặc chức năng.

  1. Câu hỏi phỏng vấn lập trình Python cơ bản

Dưới đây là một số câu hỏi và câu trả lời phỏng vấn lập trình Python cơ bản cho Freshers.

Q. Phạm vi () có thể mất bao nhiêu đối số?

Ans. Hàm phạm vi () trong Python có thể mất tối đa 3 đối số. Hãy xem cái này từng cái một.

một. Một đối số

Khi chúng ta chỉ vượt qua một đối số, nó lấy nó làm giá trị dừng. Ở đây, giá trị bắt đầu là 0 và giá trị bước là +1.

[0, 1, 2, 3, 4]

[]

[]

b. Hai đối số

Khi chúng ta vượt qua hai đối số, giá trị đầu tiên là giá trị bắt đầu và thứ hai là giá trị dừng.

[2, 3, 4, 5, 6]

[]

b. Hai đối số

Khi chúng ta vượt qua hai đối số, giá trị đầu tiên là giá trị bắt đầu và thứ hai là giá trị dừng.

[2, 3, 4, 5, 6]

[-3, -2, -1, 0, 1, 2, 3]

c. Ba đối số

Ở đây, đối số đầu tiên là giá trị bắt đầu, thứ hai là giá trị dừng và thứ ba là giá trị bước.

Ans. Để gỡ lỗi một chương trình Python, chúng tôi sử dụng mô -đun. Đây là trình gỡ lỗi Python; Chúng tôi sẽ thảo luận về nó trong một hướng dẫn sớm. Nếu chúng tôi bắt đầu một chương trình bằng PDB, nó sẽ cho phép chúng tôi bước qua mã.

Q. Liệt kê một số lệnh PDB.

Một số lệnh PDB bao gồm-

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
13

H: Chúng ta sử dụng lệnh nào để gỡ lỗi chương trình Python?

Ans. Để bắt đầu gỡ lỗi, trước tiên chúng tôi mở dấu nhắc lệnh và đến vị trí tệp đang ở.

Microsoft Windows [Phiên bản 10.0.16299.248]

(c) Tập đoàn Microsoft 2017. Đã đăng ký Bản quyền.

C: \ Users \ Lifei> CD Desktop

C: \ Users \ Lifei \ Desktop>

Sau đó, chúng tôi chạy lệnh sau (cho tệp thử.py):

C: \ Users \ Lifei \ Desktop> Python -M PDB Try.py

C: \ Users \ Lifei \ Desktop \ Try.py (1) ()

-> Đối với i trong phạm vi (5):

(Pdb)

Sau đó, chúng ta có thể bắt đầu gỡ lỗi.

Q. Một quầy trong Python là gì?

Ans. Bộ đếm hàm () từ mô -đun 'bộ sưu tập'. Nó đếm số lần xuất hiện của các yếu tố của một container.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
14

Bộ đếm ({1: 4, 3: 2, 2: 2, 4: 1})

Python cung cấp cho chúng tôi một loạt các cách và phương pháp để làm việc với một bộ đếm. Đọc quầy Python.

Q. Numpy là gì? Nó có tốt hơn một danh sách không?

Câu hỏi phỏng vấn lập trình Python - Danh sách Numpy vs

Câu hỏi phỏng vấn lập trình Python - Danh sách Numpy vs

Ans. Numpy, một gói Python, đã trở thành vị trí của nó trong thế giới điện toán khoa học. Nó có thể xử lý các kích thước dữ liệu lớn và cũng có một đối tượng mảng N chiều mạnh mẽ cùng với một tập hợp các chức năng nâng cao.

Vâng, một mảng numpy tốt hơn một danh sách python. Đây là theo những cách sau:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
15

Đọc hướng dẫn mới nhất của chúng tôi về Python Numpy

Q. Làm thế nào bạn sẽ tạo ra một mảng numpy trống?

Ans. Để tạo một mảng trống với Numpy, chúng tôi có hai tùy chọn:

một. lựa chọn 1

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
16

mảng ([], dtype = float64)

b. Lựa chọn 2

mảng ([], hình = (0, 0), dtype = float64)

Q. Giải thích việc sử dụng từ khóa 'phi địa phương' trong Python.

Ans. Đầu tiên, chúng ta hãy thảo luận về phạm vi địa phương và toàn cầu. Ví dụ, một biến được xác định bên trong một hàm là cục bộ với hàm đó. Một biến khác được xác định bên ngoài bất kỳ phạm vi nào khác là toàn cầu đối với hàm.

Giả sử chúng ta có chức năng lồng nhau. Chúng ta có thể đọc một biến trong một phạm vi bao quanh từ bên trong chức năng bên trong của anh ta, nhưng không thể thay đổi nó. Đối với điều đó, chúng ta phải tuyên bố nó không thuộc về chức năng. Đầu tiên, chúng ta hãy xem điều này mà không có từ khóa không thuộc địa điểm.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
17

7

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
18

Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "", dòng 1, trong tệp bên ngoài () "", dòng 7, trong tệp bên trong bên ngoài () "" 'được tham chiếu trước khi chuyển nhượng
File "", line 1, in outer() File "", line 7, in outer inner() File "", line 4, in inner print(a) UnboundLocalError: local variable 'a' referenced before assignment

Vì vậy, bây giờ, chúng ta hãy thử làm điều này với từ khóa 'phi địa phương':

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
19

inner()

Q. Từ khóa toàn cầu là gì?

Ans. Giống như chúng ta đã thấy trong câu hỏi trước, từ khóa toàn cầu cho phép chúng ta giải quyết, bên trong bất kỳ phạm vi nào, phiên bản toàn cầu của một biến.

Vấn đề:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
20

Giải pháp:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
21

Q. Làm thế nào bạn sẽ thực hiện một tập lệnh Python trên Unix?

Ans. Để điều này xảy ra, hai điều kiện phải được đáp ứng:

Chế độ của tệp script phải được thực thi, dòng đầu tiên phải bắt đầu bằng băm (#). Một ví dụ về điều này sẽ là: #!/Usr/local/bin/python

H: Bạn sẽ sử dụng các chức năng hoặc phương pháp nào để xóa một tệp trong Python?

Ans. Đối với điều này, chúng tôi có thể sử dụng Remove () hoặc Unlink ().

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
22

Khi chúng tôi đi và kiểm tra máy tính để bàn của chúng tôi, tập tin đã biến mất. Chúng ta hãy làm lại để chúng ta có thể xóa nó một lần nữa bằng cách sử dụng không liên kết ().

Cả hai chức năng đều giống nhau, nhưng hủy liên kết là tên Unix truyền thống cho nó.

Q. Trình truy cập, đột biến và @Property là gì?

Ans. Những gì chúng tôi gọi là getters và setters bằng các ngôn ngữ như Java, chúng tôi đánh bại người truy cập và đột biến trong Python. Trong Java, nếu chúng ta có một lớp do người dùng xác định với thuộc tính 'X', chúng ta có các phương thức như getx () và setX (). Trong Python, chúng ta có @Property, đó là đường cú pháp cho tài sản (). Điều này cho phép chúng tôi có được và đặt các biến mà không ảnh hưởng đến các quy ước. Để biết giải thích chi tiết về tài sản, hãy tham khảo tài sản Python.

Q. Phân biệt giữa các phương thức expend () và extend () của một danh sách.

Ans. Các phương thức nối tiếp () và mở rộng () hoạt động trên danh sách. Trong khi append () thêm một phần tử vào cuối danh sách, hãy mở rộng thêm một danh sách khác vào cuối danh sách.

Hãy lấy hai danh sách.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
23

Đây là cách thức hoạt động của append ():

[1, 2, 3, 4]

Và đây là cách mở rộng () hoạt động:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
24

[1, 2, 3, 4, 5, 6, 7, 8]

Q. Ý bạn là gì khi các phương thức ghi đè?

Ans. Giả sử lớp B kế thừa từ lớp A. Cả hai đều có phương thức SayHello ()- cho mỗi phiên bản của riêng họ. B ghi đè Sayhello () của lớp A. Vì vậy, khi chúng ta tạo một đối tượng của lớp B, nó gọi phiên bản mà Class B có.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
25

Xin chào, tôi là một

Xin chào, tôi b

Q. JSON là gì? Mô tả ngắn gọn cách bạn chuyển đổi dữ liệu JSON thành dữ liệu Python?

Ans. JSON là viết tắt của ký hiệu đối tượng JavaScript. Đây là một định dạng dữ liệu rất phổ biến và nó lưu trữ dữ liệu vào cơ sở dữ liệu NoQuery. JSON thường được xây dựng trên hai cấu trúc sau:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
26

Python hỗ trợ các trình phân tích cú pháp JSON. Trên thực tế, dữ liệu dựa trên JSON được thể hiện nội bộ như một từ điển trong Python. Để chuyển đổi dữ liệu JSON thành dữ liệu Python, chúng tôi sử dụng hàm load () từ mô -đun JSON.

Q. Làm thế nào để bạn thực hiện một tập lệnh Python?

Từ dòng lệnh, gõ Python .py hoặc pythonx.y .py trong đó X.Y là phiên bản của trình thông dịch Python mong muốn. Tìm hiểu cách sử dụng Python, từ những điều cơ bản của người mới bắt đầu đến các kỹ thuật nâng cao, với các hướng dẫn video trực tuyến được giảng dạy bởi các chuyên gia trong ngành. Đăng ký cho bản demo đào tạo Python miễn phí!

Q. Giải thích việc sử dụng thử: Ngoại trừ: Nâng cao, và cuối cùng:

Hãy thử, ngoại trừ và cuối cùng các khối được sử dụng trong xử lý lỗi Python. Mã được thực thi trong khối thử cho đến khi xảy ra lỗi. Người ta có thể sử dụng một khối chung ngoại trừ, sẽ nhận được kiểm soát sau tất cả các lỗi hoặc người ta có thể sử dụng các khối xử lý ngoại lệ cụ thể cho các loại lỗi khác nhau. Kiểm soát được chuyển sang khối thích hợp ngoại trừ khối. Trong mọi trường hợp, khối cuối cùng được thực thi. Tăng có thể được sử dụng để nâng cao ngoại lệ của riêng bạn.

Q. Minh họa việc sử dụng đúng cách xử lý lỗi Python.

Ví dụ về mã:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
27

Q. Một không gian tên trong Python là gì?

Trong Python, mọi tên được giới thiệu đều có một nơi mà nó sống và có thể được nối. Điều này được gọi là không gian tên. Nó giống như một hộp nơi một tên biến được ánh xạ tới đối tượng được đặt. Bất cứ khi nào biến được tìm kiếm, hộp này sẽ được tìm kiếm, để có được đối tượng tương ứng.

Một không gian tên là một tập hợp các tên. Nó ánh xạ tên cho các đối tượng tương ứng. Khi các không gian tên khác nhau chứa các đối tượng có cùng tên, điều này tránh được bất kỳ sự va chạm tên nào. Trong nội bộ, một không gian tên được thực hiện như một từ điển Python.

Khi bắt đầu phiên dịch, nó tạo ra một không gian tên miễn là chúng ta không thoát ra. Chúng tôi có không gian tên địa phương, không gian tên toàn cầu và không gian tên tích hợp.

Q. Giải thích sự khác biệt giữa các không gian tên địa phương và toàn cầu.

Không gian tên cục bộ được tạo trong một hàm. Khi chức năng đó được gọi. Không gian tên toàn cầu được tạo khi chương trình bắt đầu.

Q. Đặt tên cho bốn loại không gian tên chính trong Python?

Toàn cầu, địa phương, mô -đun và không gian tên lớp.

Q. Khi nào bạn sẽ sử dụng trích dẫn ba như một dấu phân cách?

Báo giá ba '' "" hoặc '"là các trình phân cách chuỗi có thể trải rộng nhiều dòng trong Python. Trích dẫn ba thường được sử dụng khi trải dài nhiều dòng hoặc bao quanh một chuỗi có hỗn hợp các trích dẫn đơn và đôi có chứa trong đó.

Q. Làm thế nào để sử dụng GUI đi kèm với Python để kiểm tra mã của bạn?

Đó chỉ là một trình soạn thảo và một phiên bản đồ họa của shell tương tác. Bạn viết hoặc tải mã và chạy nó, hoặc nhập nó vào vỏ. Không có thử nghiệm tự động.

Q. Sơ đồ đánh số phiên bản Python hoạt động như thế nào?

Các phiên bản Python được đánh số A.B.C hoặc A.B.

A là số phiên bản chính. Nó chỉ được tăng lên cho những thay đổi lớn trong ngôn ngữ.

B là số phiên bản nhỏ, tăng lên cho những thay đổi ít làm tan đất hơn.

C là cấp độ vi mô. Nó được tăng lên cho mỗi bản phát hành sửa lỗi. Không phải tất cả các bản phát hành đều là bản phát hành sửa lỗi.

Trong thời gian diễn ra một bản phát hành lớn mới, một loạt các bản phát triển phát triển được biểu thị là alpha, beta hoặc ứng cử viên phát hành.

Bảng chữ cái là các bản phát hành sớm trong đó các giao diện chưa được hoàn thiện; Không có gì bất ngờ khi thấy sự thay đổi giao diện giữa hai bản phát hành alpha.

Betas ổn định hơn, bảo tồn các giao diện hiện có nhưng có thể thêm các mô -đun mới và các ứng cử viên phát hành bị đóng băng, không có thay đổi nào ngoại trừ khi cần sửa lỗi quan trọng.

Các phiên bản ứng cử viên Alpha, Beta và phát hành có thêm hậu tố.

Hậu tố cho phiên bản alpha là "một" cho một số số nhỏ n,

Hậu tố cho phiên bản beta là "BN" cho một số số nhỏ N,

Và hậu tố cho phiên bản ứng cử viên phát hành là "CN" cho một số số nhỏ N.

Nói cách khác, tất cả các phiên bản được dán nhãn 2.0an trước các phiên bản được dán nhãn 2.0 tỷ, trước các phiên bản được dán nhãn 2.0cn và các phiên bản trước 2.0.

Bạn cũng có thể tìm thấy số phiên bản với hậu tố "+", ví dụ: "2.2+". Đây là những phiên bản chưa được phát hành, được xây dựng trực tiếp từ thân cây lật đổ. Trong thực tế, sau khi một bản phát hành nhỏ cuối cùng được thực hiện, thân cây lật đổ được tăng lên phiên bản nhỏ tiếp theo, trở thành phiên bản "A0", ví dụ: "2.4A0".

Q. Math.py (socket.py, regex.py, v.v.) ở đâu?

Nếu bạn không thể tìm thấy một tệp nguồn cho một mô-đun, nó có thể là một mô-đun tích hợp hoặc được tải động được thực hiện trong C, C ++ hoặc ngôn ngữ được biên dịch khác. Trong trường hợp này, bạn có thể không có tệp nguồn hoặc nó có thể giống như MathModule.c, ở đâu đó trong thư mục nguồn C (không phải trên đường dẫn Python). Có (ít nhất) ba loại mô -đun trong Python:

  • Các mô -đun được viết bằng Python (.py);
  • Các mô -đun được viết bằng C và được tải động (.dll, .pyd, .so, .sl, v.v.);
  • Các mô -đun được viết trong C và được liên kết với thông dịch viên; Để có được một danh sách những điều này, loại; Nhập sys in sys.builtin_module_names;

Q. Làm cách nào để thực hiện tập lệnh Python trên Unix?

Bạn cần phải thực hiện hai điều: Chế độ của tệp tập lệnh phải được thực thi và dòng đầu tiên phải bắt đầu bằng "#!" tiếp theo là con đường của thông dịch viên Python.

  • Đầu tiên được thực hiện bằng cách thực thi tệp Chmod +x ScriptFile hoặc có lẽ là Chmod 755 'script'.
  • Thứ hai có thể được thực hiện theo một số cách.

Cách đơn giản nhất là viết:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
70
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
70

Là dòng đầu tiên của tệp của bạn, sử dụng tên đường dẫn cho nơi phiên dịch Python được cài đặt trên nền tảng của bạn. Nếu bạn muốn kịch bản độc lập với nơi thông dịch viên Python sống, bạn có thể sử dụng chương trình "Env". Hầu như tất cả các biến thể UNIX đều hỗ trợ như sau, giả sử trình thông dịch Python đều nằm trong thư mục trên đường dẫn người dùng $:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
71

Đừng làm điều này cho các tập lệnh CGI. Biến đường dẫn $ cho các tập lệnh CGI thường là tối thiểu, vì vậy bạn cần sử dụng tên đường dẫn tuyệt đối thực tế của trình thông dịch. Thỉnh thoảng, môi trường của người dùng đầy đủ đến mức chương trình/usr/bin/env thất bại; Hoặc không có chương trình env nào cả. Trong trường hợp đó, bạn có thể thử hack sau (do Alex Rezinsky):$PATH variable for CGI scripts is often minimal, so you need to use the actual absolute pathname of the interpreter. Occasionally, a user's environment is so full that the /usr/bin/env program fails; or there's no env program at all. In that case, you can try the following hack (due to Alex Rezinsky):

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
28

Nhược điểm nhỏ là điều này xác định tập lệnh ____258String của tập lệnh. Tuy nhiên, bạn có thể sửa nó bằng cách thêm:

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
73
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
73

Q. Tại sao trình xử lý tín hiệu của tôi không hoạt động?

Vấn đề phổ biến nhất là trình xử lý tín hiệu được khai báo với danh sách đối số sai. Nó được gọi là: Handler (Signum, Frame) vì vậy nó nên được khai báo với hai đối số: DEF Handler (Signum, FRAME):

Q. Làm thế nào để tôi tìm thấy các ký hiệu G ++ không xác định __builtin_new hoặc __pure_virtual?

Để tự động tải các mô -đun mở rộng G ++, bạn phải: biên dịch lại Python liên kết lại nó bằng G ++ (Thay đổi Linkcc trong các mô -đun Python Makefile) liên kết mô -đun mở rộng của bạn bằng G ++ (ví dụ: "G ++ -shared .

Q. Làm cách nào để gửi thư từ tập lệnh Python?

Sử dụng mô -đun thư viện tiêu chuẩn smtplib. Đây là một người gửi thư tương tác rất đơn giản sử dụng nó. Phương pháp này sẽ hoạt động trên bất kỳ máy chủ nào hỗ trợ người nghe SMTP.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
29

Một thay thế chỉ sử dụng UNIX Gửi thư. Vị trí của chương trình gửi thư khác nhau giữa các hệ thống; Đôi khi đó là/usr/lib/sendmail, đôi khi/usr/sbin/sendmail. Trang Hướng dẫn gửi thư sẽ giúp bạn ra. Đây là một số mã mẫu:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
30

Q. Làm cách nào để tôi có thể bắt chước việc gửi biểu mẫu CGI (Phương thức = Post)? Tôi muốn truy xuất các trang web là kết quả của việc đăng một biểu mẫu.

Đúng. Dưới đây là một ví dụ đơn giản sử dụng httplib:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
31

Lưu ý rằng nói chung cho các hoạt động bài được mã hóa URL, các chuỗi truy vấn phải được trích dẫn bằng cách sử dụng urllib.quote (). Ví dụ: gửi tên = "Guy Steele, Jr.":

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
32

Q. Tại sao không có chủ đề nào của tôi không chạy? Làm thế nào tôi có thể làm cho nó hoạt động?

Ngay khi chủ đề chính thoát ra, tất cả các luồng bị giết. Chủ đề chính của bạn đang chạy quá nhanh, cho các chủ đề không có thời gian để làm bất kỳ công việc nào. Một sửa chữa đơn giản là thêm một giấc ngủ vào cuối chương trình đủ dài để tất cả các luồng kết thúc:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
33

Q. Việc triển khai trong chương trình Python là gì?

Chương trình Python có thể được thực hiện bằng hai cách

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
34

Trong chế độ tương tác Python Shell là bắt buộc. Nó có sẵn trong việc cài đặt ô Python.

Ở chế độ tương tác không phù hợp để phát triển các dự án & ứng dụng

Chế độ tương tác được sử dụng cho các chức năng và chương trình được xác định trước. Thí dụ:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
35

X, y không tìm thấy. Chế độ tương tác không phù hợp với mục đích lặp.

Chế độ tương tác: Khái niệm gửi một câu lệnh Python một cách rõ ràng trong trình thông dịch Python được gọi là "Chế độ tương tác" để gửi một câu lệnh Python một cách rõ ràng cho trình thông dịch Python, chúng tôi sử dụng Shell dòng lệnh Python. Shell dòng lệnh Python có mặt trong phần mềm Python, chúng tôi có thể mở vỏ dòng lệnh Python bằng cách thực thi lệnh Python trên dấu nhắc lệnh hoặc ví dụ đầu cuối: c:/user/mindmajix> Python

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
74 7
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
74
7

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
75 'Mindmajix Mindmajix Mindmajix'
'mindmajix mindmajix mindmajix'

Is

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
77
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
78
3000
Quit
x+y
c:/users/sailu>python Error: name 'X' not defined

Chế độ hàng loạt: Trong khái niệm viết nhóm các câu lệnh Python trong một tệp, hãy lưu tệp với phần mở rộng .Py và gửi toàn bộ tệp đó cho trình thông dịch Python được gọi là chế độ hàng loạt.
In the concept of writing the group of python statements in a file, save the file with extension .py and submit that entire file to the python interpreter is known as Batch Mode.

Để phát triển các tệp Python, chúng tôi sử dụng các trình soạn thảo hoặc các trình soạn thảo khác nhau của IDE là Notepad, Notepad ++, EDIT+, Nano, VI, Gedil, v.v. Mở Notepad và viết mã sau:
Open the notepad and write the following code:

Example:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
36

Lưu tệp trong D Drive Mindmajix Python với dấu nhắc lệnh mở demo.py và thực thi các lệnh sau:

Python D:/Mindmajix Python/Demo.py

3000

-1000

2000.000

Lưu phương thức khác nếu chúng ta đặt đường dẫn chính xác

D:

D:/> cd "Mindmajix Python"

D:/mindmajix python> python demo.py

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
79
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
80
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
81
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
79
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
80
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
81

Q. Các loại dữ liệu hỗ trợ bằng ngôn ngữ Python là gì?

  • Số- Số sử dụng để giữ các giá trị số.
  • Chuỗi- Một chuỗi là một chuỗi các ký tự. Chúng tôi tuyên bố nó bằng cách sử dụng trích dẫn đơn hoặc đôi.
  • Danh sách- Danh sách là một bộ sưu tập các giá trị được đặt hàng và chúng tôi tuyên bố nó bằng cách sử dụng dấu ngoặc vuông.
  • Tuples- Một tuple, giống như một danh sách, là một bộ sưu tập các giá trị được đặt hàng. Sự khác biệt. Tuy nhiên, đó là một tupleis bất biến. Điều này có nghĩa là chúng ta không thể thay đổi một giá trị trong đó.
  • Từ điển- Từ điển là một cấu trúc dữ liệu chứa các cặp giá trị khóa. Chúng tôi tuyên bố nó bằng cách sử dụng niềng răng xoăn.
  • Chúng ta cũng có thể sử dụng khả năng hiểu từ điển:

Số: Int Float phức tạp Boolean Hoạt động: Danh sách chuỗi Tuple Set Từ điển

Mỗi loại dữ liệu trong ngôn ngữ Python được thực hiện nội bộ như một lớp. Các loại dữ liệu ngôn ngữ Python được phân loại thành hai loại.

Họ đang:

Các loại thu thập loại cơ bản

Kiểm soát dòng chảy

Q. Giải thích các câu lệnh điều khiển.

Theo mặc định, thực thi chương trình Python bắt đầu từ dòng đầu tiên, thực thi từng câu và mọi câu lệnh chỉ một lần và giao dịch chương trình nếu câu lệnh cuối cùng của việc thực hiện chương trình kết thúc. Các câu lệnh lưu lượng điều khiển được sử dụng để làm xáo trộn luồng thông thường của việc thực hiện chương trình.

Q. Hai câu lệnh chính là gì?

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
82

Q. Trong những trường hợp nào người ta sẽ sử dụng câu lệnh def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)83 chứ không phải def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)84?

Câu lệnh WHRE được sử dụng cho vòng lặp lặp đi lặp lại đơn giản và câu lệnh FOR được sử dụng khi người ta muốn lặp lại thông qua danh sách các mục, chẳng hạn như bản ghi cơ sở dữ liệu, ký tự trong một chuỗi, v.v.

Q. Điều gì xảy ra nếu đầu ra một câu lệnh def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)85 sau khi khối?

Mã trong khối khác được thực thi sau khi hoàn thành vòng lặp FOR, trừ khi việc ngắt gặp trong thực thi vòng lặp. trong trường hợp khối khác không được thực thi.

Q. Giải thích việc sử dụng phá vỡ và tiếp tục trong vòng lặp Python.

Câu lệnh Break dừng thực hiện vòng lặp hiện tại. và chuyển kiểm soát sang khối tiếp theo. Tuyên bố tiếp tục kết thúc việc thực thi khối hiện tại và nhảy sang lần lặp tiếp theo của vòng lặp.

Q. Khi nào bạn sẽ sử dụng một câu lệnh tiếp tục trong một vòng lặp?

Khi xử lý một mặt hàng cụ thể đã hoàn tất; Để chuyển sang tiếp theo, mà không thực hiện xử lý thêm trong khối. Tuyên bố tiếp tục cho biết: "Tôi đã xử lý xong mục này, chuyển sang mục tiếp theo."

Q. Khi nào bạn sẽ sử dụng một câu lệnh break trong một vòng lặp?

Khi vòng lặp đã phục vụ mục đích của nó. Như một ví dụ. Sau khi tìm thấy mục trong danh sách được tìm kiếm, không cần phải tiếp tục lặp. Tuyên bố phá vỡ cho biết, tôi đã hoàn thành trong vòng lặp này; chuyển sang khối mã tiếp theo. "

Q. Cấu trúc của A For Loop là gì?

Đối với trong: Các dấu chấm lửng đại diện cho một khối mã sẽ được thực thi, một lần cho mỗi mục trong chuỗi. Trong khối, mục có sẵn dưới dạng mục hiện tại từ toàn bộ danh sách.

Q. Cấu trúc của một vòng lặp trong thời gian là gì?

Trong khi: Ellipsis đại diện cho một khối mã sẽ được thực thi. cho đến khi điều kiện trở nên sai. Điều kiện là một biểu thức được coi là đúng trừ khi nó đánh giá O, null hoặc sai.

Q. Sử dụng một vòng lặp và minh họa cách bạn sẽ xác định và in các ký tự thành một chuỗi ra, một dòng.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
37

Q. Cho chuỗi "Tôi yêu

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
38

Q. Cho chuỗi "Tôi yêu Python" in ra từng ký tự ngoại trừ các khoảng trắng, sử dụng một vòng lặp.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
39

Loại dữ liệu

Q. Một tuple là gì?

  • Các đối tượng có thể được tạo bằng cách sử dụng dấu ngoặc đơn hoặc bằng cách gọi hàm tuple hoặc bằng cách gán nhiều giá trị cho một biến duy nhất

  • Đối tượng tuple là đối tượng bất biến

  • Lệnh rạch được bảo tồn

  • Các yếu tố trùng lặp được cho phép

  • Các yếu tố không đồng nhất được cho phép

  • Tuple hỗ trợ cả lập chỉ mục tích cực và tiêu cực

  • Các yếu tố của tuple có thể thay đổi hoặc bất biến

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
40

Q. Từ điển là gì?

  • Các đối tượng từ điển có thể được tạo bằng cách sử dụng niềng răng xoăn {} hoặc bằng cách gọi hàm từ điển.

  • Đối tượng từ điển là các đối tượng có thể thay đổi.

  • Từ điển đại diện cho cơ sở giá trị chính.

  • Mỗi cặp giá trị chính của từ điển được gọi là một mục.

  • Khóa từ điển phải là bất biến.

  • Giá trị từ điển có thể bị thay đổi hoặc bất biến.

  • Các khóa trùng lặp không được phép nhưng các giá trị có thể được trùng lặp.

  • Lệnh chèn không được bảo tồn.

  • Các khóa không đồng nhất và các giá trị không đồng nhất được cho phép.

Q. Làm thế nào để tìm kiếm đường dẫn của các mô -đun?

Theo mặc định, tìm kiếm thông dịch viên Python cho các mô -đun đã nhập ở các vị trí sau:

  • Thư mục hiện tại (Vị trí mô -đun chính)
  • Đường dẫn biến môi trường
  • Thư mục phụ thuộc cài đặt
  • Nếu mô -đun nhập không được tìm thấy ở bất kỳ một trong các vị trí trên. Sau đó, thông dịch viên Python đưa ra.
  • Các thuộc tính tích hợp của một mô-đun:
  • Theo mặc định cho mỗi và mọi mô-đun Python, một số thuộc tính được thêm vào bên trong và chúng tôi gọi các phương thức đó là một mô-đun tích hợp tích hợp của một mô-đun

Q. Các gói là gì?

Gói không có gì ngoài một thư mục hoặc từ điển đại diện cho bộ sưu tập các mô -đun.

Một gói cũng có thể chứa các gói phụ.

Chúng ta có thể nhập các mô -đun của gói bằng cách sử dụng tên gói. Tên hoặc tên.SubPackage Tên.Module Tên

Q. Xử lý tập tin là gì?

Tệp là một vị trí được đặt tên trên đĩa, lưu trữ dữ liệu theo cách vĩnh viễn. Ngôn ngữ Python cung cấp các chức năng và phương pháp khác nhau để cung cấp giao tiếp giữa các chương trình và tệp Python. Các chương trình Python có thể mở tệp, thực hiện các thao tác đọc hoặc ghi trên tệp và đóng tệp chúng tôi có thể mở các tệp bằng cách gọi chức năng mở của các mô-đun tích hợp tại thời điểm mở tệp, chúng tôi phải chỉ định chế độ của Chế độ tệp của tệp cho biết mục đích mà tệp sẽ được mở (R, W, A, B)

Q. Các lỗi thời gian chạy là gì?

Các lỗi xảy ra sau khi bắt đầu thực hiện các chương trình được gọi là lỗi thời gian chạy. Lỗi thời gian chạy có thể xảy ra do:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
41

Liên quan đến mọi lý do gây ra lỗi thời gian chạy sửa lỗi biểu diễn lỗi thời gian chạy có sẵn các lớp biểu diễn lỗi thời gian chạy về mặt kỹ thuật, chúng tôi gọi là một lớp ngoại lệ. Trong khi thực hiện chương trình nếu xảy ra bất kỳ lỗi thời gian chạy nào tương ứng đối tượng lớp biểu diễn lỗi thời gian chạy được tạo, việc tạo đối tượng lớp biểu diễn lỗi thời gian chạy được biết đến như một ngoại lệ đang tăng trong khi thực hiện chương trình nếu có bất kỳ ngoại lệ nào được nêu ra Để xử lý ngoại lệ được nâng lên hay không nếu mã không được thực hiện để xử lý ngoại lệ được nâng lên thì chương trình sẽ bị chấm dứt bất thường

Q. Chấm dứt bất thường là gì?

Khái niệm chấm dứt chương trình ở giữa việc thực hiện mà không thực hiện tuyên bố cuối cùng của mô -đun chính được gọi là chấm dứt bất thường bất thường là tình huống không mong muốn trong các ngôn ngữ lập trình.

Q. Khối def div1(x,y): print "%s/%s = %s" % (x, y, x/y) def div2(x,y): print "%s//%s = %s" % (x, y, x//y) div1(5,2) div1(5.,2) div2(5,2) div2(5.,2.)86 là gì?

Một khối được đi trước bởi từ khóa thử được gọi là cú pháp khối thử: thử {// Câu lệnh có thể gây ra ngoại lệ}

Các câu lệnh gây ra lỗi thời gian chạy và các câu lệnh khác phụ thuộc vào việc thực hiện các câu lệnh Lỗi thời gian chạy được khuyến nghị để biểu diễn trong BLOC Chuyển tiếp ngoại lệ đó đến ngoại trừ khối mà không thực thi các câu lệnh còn lại để thử khối.

Q. Sự khác biệt giữa các phương thức & nhà xây dựng là gì?

Phương pháp

  • Tên phương thức có thể là bất kỳ tên nào.
  • Đối với một đối tượng, một phương thức có thể được gọi cho các thành viên 'n' của dòng
  • Các phương thức được sử dụng để thể hiện logic kinh doanh để thực hiện các hoạt động

Người xây dựng

  • Constructor sẽ được thực thi tự động bất cứ khi nào chúng ta tạo một đối tượng.
  • Đối với một đối tượng, một hàm tạo chỉ có thể được thực thi một lần
  • Các hàm tạo được sử dụng để xác định và khởi tạo biến không tĩnh

Q. Việc đóng gói là gì?

Khái niệm liên kết hoặc nhóm các thành viên dữ liệu liên quan cùng với các chức năng liên quan của nó được gọi là đóng gói.

Q. Thực hiện các lệnh DML thông qua các chương trình Python?

Các lệnh DML (Ngôn ngữ sửa đổi dữ liệu) được sử dụng để sửa đổi dữ liệu của các đối tượng cơ sở dữ liệu bất cứ khi nào chúng tôi thực thi các lệnh DML, các bản ghi sẽ được sửa đổi tạm thời.

Bất cứ khi nào chúng tôi chạy lệnh "rollback", các bản ghi được sửa đổi sẽ trở lại trạng thái ban đầu.

Để sửa đổi các bản ghi của các đối tượng cơ sở dữ liệu vĩnh viễn, chúng tôi sử dụng lệnh "cam kết"

Sau khi thực thi lệnh cam kết mặc dù chúng tôi thực thi lệnh "rollback", các bản ghi được sửa đổi sẽ không quay trở lại trạng thái ban đầu.

Tạo bảng EMP1 trong cơ sở dữ liệu bằng cách sử dụng lệnh sau

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
87
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
87

Bất cứ khi nào chúng tôi chạy các lệnh DML thông qua chương trình Python, thì các bản ghi số được sửa đổi do lệnh đó sẽ được lưu trữ vào thuộc tính RowCount của đối tượng con trỏ. Sau khi thực hiện lệnh DML thông qua chương trình Python, chúng tôi phải gọi phương thức cam kết của đối tượng con trỏ.
After executing the DML Command through the python program we have to call commit method of cursor object.

Đa luồng

Q. Vòng đời chủ đề là gì?

Vòng đời

  • Tạo đối tượng của một lớp đang ghi đè phương thức chạy của lớp luồng được gọi là một luồng tạo.
  • Bất cứ khi nào chủ đề được tạo thì chúng tôi gọi luồng là ở trạng thái mới hoặc chuỗi trạng thái sinh.
  • Bất cứ khi nào chúng tôi gọi phương thức bắt đầu trên các luồng trạng thái mới thì các luồng đó sẽ được chuyển tiếp để lập lịch.
  • Các luồng được chuyển tiếp để lập lịch được gọi là các luồng trạng thái sẵn sàng
  • Bất cứ khi nào thời gian lập lịch xảy ra, chủ đề trạng thái sẵn sàng bắt đầu thực thi.
  • Các luồng đang thực thi được gọi là các luồng trạng thái đang chạy bất cứ khi nào các phương thức ngủ hoặc tham gia được gọi trên các luồng trạng thái đang chạy thì ngay lập tức các luồng đó sẽ chờ.
  • Các luồng đang chờ được gọi là các luồng trạng thái chờ bất cứ khi nào thời gian chờ kết thúc hoặc thực thi luồng được chỉ định đã kết thúc - sau đó các luồng trạng thái chờ đợi ngay lập tức được chuyển tiếp để lập lịch.
  • Nếu việc thực hiện các luồng trạng thái chạy kết thúc thì ngay lập tức thực thi các luồng đó sẽ bị chấm dứt -các luồng thực thi bị chấm dứt được gọi là các luồng trạng thái chết.

Q. Lịch trình là gì?

Trong số nhiều chủ đề:

  • Chủ đề nào để bắt đầu thực thi trước,
  • Bao nhiêu thời gian của chủ đề để thực hiện sau khi thời gian được phân bổ kết thúc,
  • Chủ đề nào để tiếp tục thực hiện tiếp theo điều này được lên lịch. Lập kế hoạch rất năng động

Q. Đối với vòng lặp được triển khai bằng ngôn ngữ Python như sau:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
42

Đối với vòng lặp lấy đối tượng đã cho, hãy chuyển đổi đối tượng đó dưới dạng đối tượng có thể lặp lại và lấy một phần tử một thành phần là đối tượng có thể lặp lại.

Trong khi nhận được một phần tử giá trị từ đối tượng có thể điều chỉnh được nếu dừng ngoại lệ lặp lại

Q. Mô -đun HĐH

Mô -đun OS là một mô -đun được xác định trước và cung cấp các chức năng và phương pháp khác nhau để thực hiện các hoạt động liên quan đến hệ điều hành, chẳng hạn như tạo tệp, xóa các tệp, tạo các thư mục xóa các thư mục, thực thi các lệnh liên quan đến hệ điều hành, v.v. Ví dụ:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
43

Output:

Q. Các ứng dụng của Python là gì?

Ứng dụng của Python

  • Ứng dụng tự động hóa
  • Phân tích dữ liệu
  • Ứng dụng khoa học
  • ứng dụng web
  • Hủy bỏ web
  • Trường hợp thử nghiệm
  • Mạng với IoT
  • Tập lệnh quản trị
  • GUI
  • Chơi game
  • Hoạt hình

Q. Làm thế nào Python được giải thích?

Ngôn ngữ Python là một ngôn ngữ được giải thích. Chương trình Python chạy trực tiếp từ mã nguồn. Nó chuyển đổi mã nguồn được lập trình viên viết thành ngôn ngữ trung gian, một lần nữa được dịch thành ngôn ngữ máy phải được thực thi.

Q. Các công cụ giúp tìm lỗi hoặc thực hiện phân tích tĩnh là gì?

PyChecker là một công cụ phân tích tĩnh để phát hiện các lỗi trong mã nguồn Python và cảnh báo về phong cách và độ phức tạp của lỗi. Pylint là một công cụ khác để xác minh xem mô -đun có đáp ứng tiêu chuẩn mã hóa hay không.

Q. Những gì vượt qua trong Python?

Pass có nghĩa là, tuyên bố Python không hoạt động, hay nói cách khác, đó là một người giữ vị trí trong tuyên bố ghép, nơi cần có một khoảng trống trái và không có gì phải được viết ở đó.

Q. Trong Python Iterators là gì?

Trong Python, các trình lặp được sử dụng để lặp lại một nhóm các yếu tố, các thùng chứa như danh sách.

Q. Trong Python là gì?

Một cơ chế để chọn một loạt các mục từ các loại trình tự như danh sách, tuple, chuỗi, vv được gọi là cắt.

Q. Máy phát điện trong Python là gì?

Cách thực hiện các trình lặp được gọi là máy phát điện. Nó là một hàm bình thường ngoại trừ nó mang lại biểu thức trong hàm. Trình tạo Python tạo ra một chuỗi các giá trị để lặp lại. Bằng cách này, nó là một loại có thể. Chúng tôi xác định một hàm 'mang lại các giá trị' từng cái một và sau đó sử dụng một vòng lặp để lặp lại trên đó.
Python generator produces a sequence of values to iterate on. This way, it is kind of an iterable. We define a function that 'yields' values one by one, and then use a for loop to iterate on it.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
44

1 4 9 16 25 36 49
4
9
16
25
36
49

Q. Vì vậy, một người lặp là gì, sau đó?

Một trình lặp trả về một đối tượng tại một thời điểm để lặp lại. Để tạo một iterator, chúng tôi sử dụng hàm iter ().

Sau đó, chúng tôi gọi hàm tiếp theo () trên đó mỗi khi chúng tôi muốn một đối tượng.

1

3

5

Và bây giờ, khi chúng ta gọi nó một lần nữa, nó sẽ tăng một ngoại lệ ngăn chặn. Điều này là do nó đã đạt đến phần cuối của các giá trị để lặp lại.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
45

Q. Giải thích máy phát điện và máy lặp trong Python?

  • Họ làm, nhưng có những khác biệt tinh tế:

  • Đối với một trình tạo, chúng tôi tạo một chức năng. Đối với một trình lặp, chúng tôi sử dụng các hàm được xây dựng

    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    88 và
    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    89.

  • Đối với một trình tạo, chúng tôi sử dụng từ khóa 'mang lại' để mang lại/trả về một đối tượng tại một thời điểm.

  • Một trình tạo có thể có nhiều câu lệnh 'năng suất' như bạn muốn.

  • Một trình tạo sẽ lưu trạng thái của các biến cục bộ mỗi khi 'năng suất' sẽ tạm dừng vòng lặp.

  • Một trình lặp không sử dụng các biến cục bộ; Nó chỉ cần một sự lặp lại để lặp lại trên.

  • Sử dụng một lớp, bạn có thể thực hiện trình lặp của riêng bạn, nhưng không phải là trình tạo.

  • Máy phát điện nhanh, nhỏ gọn và đơn giản hơn.

  • Trình lặp có hiệu quả hơn về bộ nhớ.

Q. Làm thế nào bạn có thể sao chép một đối tượng trong Python?

Để sao chép một đối tượng trong Python, bạn có thể thử Copy.Copy () hoặc Copy.DeepCopy () cho trường hợp chung. Bạn không thể sao chép tất cả các đối tượng nhưng hầu hết chúng.

Q. Làm thế nào bạn có thể chuyển đổi một số thành một chuỗi?

Để chuyển đổi một số thành một chuỗi, hãy sử dụng hàm sẵn str (). Nếu bạn muốn một biểu diễn bát phân hoặc thập lục phân, hãy sử dụng hàm sẵn OCT () hoặc hex ().

Q. Mô -đun và gói trong Python là gì?

Trong Python, mô -đun là cách để chương trình cấu trúc. Mỗi tệp chương trình Python là một mô -đun, nhập các mô -đun khác như các đối tượng và thuộc tính.

Thư mục của chương trình Python là một gói các mô -đun. Một gói có thể có các mô -đun hoặc thư mục con.

Q. Đề cập đến các quy tắc cho các biến địa phương và toàn cầu trong Python là gì?

Các biến cục bộ: Nếu một biến được gán một giá trị mới ở bất cứ đâu trong cơ thể của hàm, thì nó được coi là cục bộ.

Các biến toàn cầu: Những biến chỉ được tham chiếu bên trong một hàm là toàn cầu ngầm.

Q. Làm thế nào bạn có thể chia sẻ các biến toàn cầu trên các mô -đun?

Để chia sẻ các biến toàn cầu trên các mô -đun trong một chương trình duy nhất, hãy tạo một mô -đun đặc biệt. Nhập mô -đun cấu hình trong tất cả các mô -đun của ứng dụng của bạn. Mô -đun sẽ có sẵn dưới dạng biến toàn cầu trên các mô -đun.

Q. Giải thích làm thế nào bạn có thể thực hiện một tập lệnh Python trên Unix?

Để thực hiện một tập lệnh Python trên Unix, bạn cần phải làm hai việc,

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
46

Q. Giải thích cách xóa một tệp trong Python?

Bằng cách sử dụng lệnh os.remove (tên tệp) hoặc os.unlink (tên tệp)

Q. Giải thích Làm thế nào bạn có thể tạo ra các số ngẫu nhiên trong Python?

Để tạo số ngẫu nhiên trong Python, bạn cần nhập lệnh dưới dạng

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
47

Điều này trả về một số điểm nổi ngẫu nhiên trong phạm vi (0,1)

  • Giải thích Làm thế nào bạn có thể truy cập một mô -đun được viết bằng Python từ C?

Bạn có thể truy cập một mô -đun được viết bằng Python từ C theo phương thức sau,

Mô -đun = = pyimport_importmodule ("");

Q. Đề cập đến việc sử dụng nhà điều hành // trong Python?

Nó là một bộ phân chia sàn, được sử dụng để chia hai toán hạng với kết quả là thương số chỉ hiển thị các chữ số trước điểm thập phân. Ví dụ, 10 // 5 = 2 và 10.0 // 5.0 = 2.0.

Q. Đề cập đến năm lợi ích của việc sử dụng Python?

  • Python bao gồm một thư viện tiêu chuẩn khổng lồ cho hầu hết các nền tảng Internet như email, HTML, v.v.
  • Python không yêu cầu quản lý bộ nhớ rõ ràng vì bản thân trình thông dịch phân bổ bộ nhớ cho NewVariables và tự động giải phóng chúng
  • Cung cấp khả năng dễ đọc do sử dụng dấu ngoặc vuông
  • Dễ học cho người mới bắt đầu
  • Có các loại dữ liệu tích hợp tiết kiệm thời gian và nỗ lực lập trình từ việc khai báo các biến

Q. Đề cập đến việc sử dụng chức năng phân chia trong Python?

Việc sử dụng hàm phân chia trong Python là nó chia một chuỗi thành các chuỗi ngắn hơn bằng cách sử dụng dấu phân cách xác định. Nó đưa ra một danh sách tất cả các từ có trong chuỗi.

Q. Đề cập đến sự khác biệt giữa Django, Kim tự tháp và Bình là gì?

Flask là một "microframework" chủ yếu xây dựng cho một ứng dụng nhỏ với các yêu cầu đơn giản hơn. Trong bình, bạn phải sử dụng các thư viện bên ngoài. Bình đã sẵn sàng để sử dụng.

Kim tự tháp được xây dựng cho các ứng dụng lớn hơn. Nó cung cấp sự linh hoạt và cho phép nhà phát triển sử dụng các công cụ phù hợp cho dự án của họ. Nhà phát triển có thể chọn cơ sở dữ liệu, cấu trúc URL, kiểu khuôn mẫu và nhiều hơn nữa. Kim tự tháp có cấu hình nặng.

Giống như kim tự tháp, Django cũng có thể được sử dụng cho các ứng dụng lớn hơn. Nó bao gồm một orm.

  • Bạn đang có nhiều máy chủ Memcache chạy Python, trong đó một trong những máy chủ Memcacher không thành công và nó có dữ liệu của bạn, nó có bao giờ cố gắng lấy dữ liệu chính từ một máy chủ bị lỗi đó không?

Dữ liệu trong máy chủ không thành công sẽ không bị xóa, nhưng có một điều khoản cho tự động-failure, bạn có thể định cấu hình cho nhiều nút. Thất bại có thể được kích hoạt trong bất kỳ loại ổ cắm hoặc lỗi máy chủ nào được ghi nhận và không phải trong các lỗi máy khách thông thường như thêm khóa hiện có, v.v.

Q. Giải thích làm thế nào bạn có thể giảm thiểu sự cố mất điện của máy chủ memcached trong quá trình phát triển Python của bạn?

  • Khi một trường hợp thất bại, một số trong số chúng sẽ giảm, điều này sẽ đặt tải lớn hơn trên máy chủ cơ sở dữ liệu khi dữ liệu bị mất được tải lại khi máy khách đưa ra yêu cầu. Để tránh điều này, nếu mã của bạn đã được viết để giảm thiểu bộ đệm đóng dấu thì nó sẽ để lại tác động tối thiểu
  • Một cách khác là đưa ra một ví dụ về memcached trên một máy mới sử dụng địa chỉ IP Machine Machine
  • Mã là một tùy chọn khác để giảm thiểu sự cố mất điện vì nó cung cấp cho bạn quyền tự do để thay đổi danh sách máy chủ Memcached với công việc tối thiểu
  • Cài đặt giá trị thời gian chờ là một tùy chọn khác mà một số máy khách được thực hiện cho việc ngừng hoạt động của máy chủ Memcached. Khi máy chủ Memcached của bạn xuống, khách hàng sẽ tiếp tục cố gắng gửi yêu cầu cho đến khi đạt được giới hạn hết thời gian

Q. Giải thích hiệu ứng dogpile là gì? Làm thế nào bạn có thể ngăn chặn hiệu ứng này?

Hiệu ứng DogPile được đề cập đến sự kiện khi hết hạn bộ nhớ cache và các trang web bị ảnh hưởng bởi nhiều yêu cầu do khách hàng thực hiện cùng một lúc. Hiệu ứng này có thể được ngăn chặn bằng cách sử dụng khóa semaphore. Trong hệ thống này khi giá trị hết hạn, quy trình đầu tiên có được khóa và bắt đầu tạo giá trị mới.
This effect can be prevented by using semaphore lock. In this system when value expires, first process acquires the lock and starts generating new value.

Q. Giải thích cách sử dụng memcached không nên được sử dụng trong dự án Python của bạn?

Memcached lạm dụng phổ biến là sử dụng nó như một kho lưu trữ dữ liệu, chứ không phải là bộ đệm. Không bao giờ sử dụng memcached làm nguồn thông tin duy nhất bạn cần để chạy ứng dụng của mình. Dữ liệu phải luôn luôn có sẵn thông qua một nguồn khác là tốt. Memcached chỉ là một cửa hàng khóa hoặc giá trị và không thể thực hiện truy vấn qua dữ liệu hoặc lặp lại nội dung để trích xuất thông tin.

Memcached không cung cấp bất kỳ hình thức bảo mật nào trong mã hóa hoặc xác thực

Q. Tính năng Danh sách Toàn bộ của Python được sử dụng cho là gì?

Danh sách các toàn bộ giúp tạo và quản lý danh sách theo cách đơn giản và rõ ràng hơn so với việc sử dụng

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
64,
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
65 và
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
92. Mỗi danh sách hiểu bao gồm một biểu thức theo sau là một mệnh đề cho mệnh đề, sau đó không hoặc nhiều hơn cho hoặc nếu điều khoản.

Q. Biểu thức Lambda, danh sách toàn diện và biểu thức máy phát là gì?

Biểu thức Lambda

là một kỹ thuật tốc ký để tạo các chức năng duy nhất, ẩn danh. Bản chất đơn giản, nội tuyến của chúng thường xuyên - mặc dù không phải lúc nào cũng - dẫn đến mã dễ đọc và ngắn gọn hơn so với sự thay thế của các khai báo chức năng chính thức. Mặt khác, bản chất liên kết của chúng, theo định nghĩa, rất nhiều giới hạn những gì họ có khả năng làm và khả năng ứng dụng của chúng. Là ẩn danh và nội tuyến, cách duy nhất để sử dụng cùng một hàm lambda ở nhiều vị trí trong mã của bạn là chỉ định nó một cách dư thừa.

Danh sách toàn diện

Cung cấp một cú pháp ngắn gọn để tạo danh sách. Các hệ thống danh sách thường được sử dụng để lập danh sách trong đó mỗi phần tử là kết quả của một số hoạt động được áp dụng cho mỗi thành viên của một chuỗi khác hoặc có thể điều chỉnh được. Chúng cũng có thể được sử dụng để tạo ra một phần trăm của các yếu tố mà các thành viên đáp ứng một điều kiện nhất định. Trong Python, các toàn bộ danh sách cung cấp một giải pháp thay thế cho việc sử dụng các hàm bản đồ tích hợp () và bộ lọc ().

Vì việc sử dụng ứng dụng của các biểu thức Lambda và danh sách toàn diện có thể chồng chéo, các ý kiến ​​rất khác nhau theo thời gian và nơi sử dụng cái này so với cái kia. Tuy nhiên, một điểm cần lưu ý là việc hiểu danh sách thực hiện nhanh hơn một chút so với một giải pháp tương đương sử dụng MAP và LAMBDA (một số bài kiểm tra nhanh mang lại sự khác biệt về hiệu suất khoảng 10%). Điều này là do việc gọi hàm Lambda tạo ra một khung ngăn xếp mới trong khi biểu thức trong danh sách hiểu được đánh giá mà không làm như vậy.

Biểu thức máy phát

được cú pháp và chức năng tương tự như toàn bộ danh sách nhưng có một số khác biệt khá đáng kể giữa các cách mà hai cách vận hành và theo đó, khi mỗi người nên được sử dụng. Tóm lại, việc lặp lại một biểu thức máy phát hoặc khả năng hiểu danh sách về cơ bản sẽ làm điều tương tự, nhưng sự hiểu biết danh sách sẽ tạo toàn bộ danh sách trong bộ nhớ trước trong khi biểu thức máy phát sẽ tạo các mục khi bay khi cần. Do đó, các biểu thức của máy phát có thể được sử dụng cho các chuỗi rất lớn (và thậm chí vô hạn) và việc tạo ra các giá trị lười biếng (nghĩa là theo yêu cầu) của chúng dẫn đến hiệu suất được cải thiện và sử dụng bộ nhớ thấp hơn. Tuy nhiên, điều đáng chú ý là các phương thức danh sách Python tiêu chuẩn có thể được sử dụng dựa trên kết quả của sự hiểu biết danh sách, nhưng không trực tiếp trên biểu thức của trình tạo.

  • Xem xét hai cách tiếp cận dưới đây để khởi tạo một mảng và các mảng sẽ dẫn đến. Các mảng kết quả sẽ khác nhau như thế nào và tại sao bạn nên sử dụng một phương pháp khởi tạo so với cách tiếp cận khác?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
48

Ans:

Mặc dù cả hai phương pháp xuất hiện lúc đầu đỏ mặt để tạo ra kết quả tương tự, có một sự khác biệt cực kỳ đáng kể giữa hai. Phương pháp 2 tạo ra, như bạn mong đợi, một mảng gồm 3 yếu tố, mỗi phần tử là một mảng 4 phần tử độc lập. Tuy nhiên, trong Phương pháp 1, các thành viên của mảng đều chỉ vào cùng một đối tượng. Điều này có thể dẫn đến những gì có khả năng là hành vi không lường trước được và không mong muốn như hình dưới đây.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
49

Q. Điều gì sẽ được in ra bởi câu lệnh EPPEND () thứ hai bên dưới?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
50

append () # Gọi không có arg sử dụng giá trị danh sách mặc định của [] [0]

append () # Nhưng điều gì xảy ra khi chúng ta gọi lại là không có arg?

Ans:

Khi giá trị mặc định cho đối số hàm là biểu thức, biểu thức chỉ được đánh giá một lần, không phải mỗi khi hàm được gọi. Do đó, một khi đối số danh sách đã được khởi tạo thành một mảng trống, các cuộc gọi tiếp theo để nối thêm mà không có bất kỳ đối số nào được chỉ định sẽ tiếp tục sử dụng cùng một mảng mà danh sách ban đầu được khởi tạo. Do đó, điều này sẽ mang lại hành vi sau đây, có lẽ bất ngờ, bất ngờ:

append () # cuộc gọi đầu tiên không có arg sử dụng giá trị danh sách mặc định của [] [0] append () # Nhưng sau đó hãy xem điều gì xảy ra ... [0, 1] append () # Các cuộc gọi liên tiếp Hãy tiếp tục mở rộng cùng một danh sách mặc định! [0, 1, 2] append () #, v.v., v.v., v.v.

  • Làm thế nào người ta có thể sửa đổi việc thực hiện phương pháp
    def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    93 trong câu hỏi trước để tránh hành vi không mong muốn được mô tả ở đó?

Việc thực hiện thay thế sau đây của phương pháp phụ trợ sẽ là một trong một số cách để tránh hành vi không mong muốn được mô tả trong câu trả lời cho câu hỏi trước:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
51

Hỏi: Làm thế nào bạn có thể trao đổi các giá trị của hai biến với một dòng mã Python duy nhất?

Xem xét ví dụ đơn giản này:

Trong nhiều ngôn ngữ khác, hoán đổi các giá trị của X và Y yêu cầu bạn phải làm như sau:

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
52

Nhưng trong Python, làm cho có thể thực hiện hoán đổi với một dòng mã duy nhất (nhờ đóng gói và giải nén ngầm) như sau:

Q. Điều gì sẽ được in ra bởi tuyên bố cuối cùng dưới đây?

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
53

Trong bất kỳ đóng cửa nào trong Python, các biến bị ràng buộc bởi tên. Do đó, dòng mã trên sẽ in ra như sau: [2, 2, 2] có lẽ không phải là tác giả của mã trên dự định?
[2, 2, 2]
Presumably not what the author of the above code intended?

Một cách giải quyết là để tạo một chức năng riêng biệt hoặc vượt qua ARG bằng tên; ví dụ.

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
54

Q. Python có được giải thích hay biên soạn không?

Như đã lưu ý tại sao có rất nhiều trăn ?, Đây là một câu hỏi nhỏ về một câu hỏi khó khăn. Bản thân Python không gì khác hơn là một định nghĩa giao diện (như đúng với bất kỳ đặc điểm kỹ thuật ngôn ngữ nào) trong đó có nhiều triển khai. Theo đó, câu hỏi liệu "Python" có được giải thích hay biên dịch không áp dụng cho chính ngôn ngữ Python hay không; Thay vào đó, nó áp dụng cho từng triển khai cụ thể của đặc tả Python.

Làm phức tạp thêm câu trả lời cho câu hỏi này là thực tế là, trong trường hợp của Cpython (triển khai Python phổ biến nhất), câu trả lời thực sự là "loại cả hai". Cụ thể, với CPython, mã trước tiên được biên dịch và sau đó được giải thích. Chính xác hơn, nó không được biên dịch trước mã máy gốc, mà là mã byte. Mặc dù mã máy chắc chắn nhanh hơn, mã byte có khả năng di động và an toàn hơn. Mã byte sau đó được giải thích trong trường hợp CPython (hoặc cả được giải thích và biên dịch để tối ưu hóa mã máy trong thời gian chạy trong trường hợp PYPY).

Q. Một số triển khai thay thế cho CPython là gì? Khi nào và tại sao bạn có thể sử dụng chúng?

Một trong những triển khai thay thế nổi bật hơn là Jython, một triển khai Python được viết bằng Java sử dụng máy ảo Java (JVM). Trong khi Cpython sản xuất mã byte để chạy trên VM CPython, Jython tạo ra mã byte Java để chạy trên JVM.

Một cái khác là Ironpython, được viết bằng C# và nhắm mục tiêu ngăn xếp .NET. Ironpython chạy trên thời gian chạy ngôn ngữ chung của Microsoft (CLR).

Như đã chỉ ra lý do tại sao có rất nhiều trăn ?, Hoàn toàn có thể tồn tại mà không bao giờ chạm vào việc thực hiện Python không phải là CPYThon, nhưng có những lợi thế cần phải có từ việc chuyển đổi, hầu hết trong số đó phụ thuộc vào ngăn xếp công nghệ của bạn.

Một triển khai thay thế đáng chú ý khác là PYPY có các tính năng chính bao gồm:

  • Tốc độ, vận tốc. Nhờ trình biên dịch chỉ trong thời gian (JIT), các chương trình Python thường chạy nhanh hơn trên Pypy.
  • Sử dụng bộ nhớ. Các chương trình Python lớn, đói bộ nhớ cuối cùng có thể chiếm ít không gian hơn với PYPY so với trong CPython.
  • Khả năng tương thích. PYPY rất tương thích với mã Python hiện có. Nó hỗ trợ CFFI và có thể chạy các thư viện Python phổ biến như Twisted và Django.
  • Hộp cát. PYPY cung cấp khả năng chạy mã không đáng tin cậy theo cách hoàn toàn an toàn.
  • Chế độ không chồng. PYPY đi kèm theo mặc định với sự hỗ trợ cho chế độ Stackless, cung cấp các luồng vi mô cho sự đồng thời lớn.

Q. Điều gì là nhất quán trong Python? Cách tiếp cận của bạn để kiểm tra đơn vị trong Python là gì?

Một khung thử nghiệm đơn vị trong Python được gọi là Unittest. Nó hỗ trợ chia sẻ các thiết lập, kiểm tra tự động hóa, mã tắt cho các bài kiểm tra, tổng hợp các thử nghiệm thành các bộ sưu tập, v.v.

Câu trả lời cơ bản nhất cho câu hỏi này tập trung vào khung thử nghiệm nhất quán nhất của Python. Về cơ bản, nếu một ứng cử viên không đề cập đến việc không nhất quán khi trả lời câu hỏi này, đó sẽ là một lá cờ đỏ khổng lồ.

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
94 hỗ trợ tự động hóa thử nghiệm, chia sẻ mã thiết lập và tắt máy để kiểm tra, tổng hợp các bài kiểm tra thành các bộ sưu tập và tính độc lập của các bài kiểm tra từ khung báo cáo. Mô -đun Unittest cung cấp các lớp giúp dễ dàng hỗ trợ các phẩm chất này cho một tập hợp các bài kiểm tra.

Giả sử rằng ứng viên không đề cập đến việc nhất quán (nếu họ không, bạn có thể chỉ muốn kết thúc cuộc phỏng vấn ngay lúc đó và ở đó!), Bạn cũng nên yêu cầu họ mô tả các yếu tố chính của khung không nhất quán; Cụ thể, đồ đạc thử nghiệm, trường hợp thử nghiệm, bộ thử nghiệm và người chạy thử.

Một bổ sung gần đây hơn cho khung Unittest là Mock. Mock cho phép bạn thay thế các bộ phận trong hệ thống của mình bằng thử nghiệm bằng các đối tượng giả và đưa ra các xác nhận về cách sử dụng chúng. Mock hiện là một phần của thư viện tiêu chuẩn Python, có sẵn dưới dạng unittest.mock trong Python 3.3 trở đi.

Giá trị và sức mạnh của giả được giải thích rõ trong phần giới thiệu về việc chế giễu trong Python. Như đã lưu ý trong đó, các cuộc gọi hệ thống là ứng cử viên chính để chế giễu: Cho dù viết tập lệnh để đẩy ổ đĩa CD, máy chủ web loại bỏ các tệp bộ đệm cổ xưa khỏi /TMP hoặc máy chủ ổ cắm liên kết với cổng TCP, các cuộc gọi này tác dụng phụ trong bối cảnh của các bài kiểm tra đơn vị. Tương tự, giữ cho các bài kiểm tra đơn vị của bạn hiệu quả và hiệu suất có nghĩa là giữ càng nhiều "mã chậm" càng tốt trong các lần chạy thử nghiệm tự động, cụ thể là truy cập hệ thống tệp và mạng.

[Lưu ý: Câu hỏi này là dành cho các nhà phát triển Python, những người cũng có kinh nghiệm ở Java.]

Q. Làm thế nào bạn sẽ thực hiện kiểm tra đơn vị trên mã Python của bạn?

Ans. Với mục đích này, chúng tôi có mô -đun nhất định trong Python. Nó có các thành viên sau:

  • FunctionTestCase
  • Bỏ qua
  • Testcase
  • KIỂM TRA KIỂM TRA
  • Kết quả kiểm tra
  • Thử nghiệm
  • TextTestresult
  • TextTestrunner
  • DefaultTestloader
  • mong đợi
  • FindTestcase
  • Gettestcasenames
  • InstallHandler
  • chính
  • Makeuite
  • Đăng ký
  • RemoleHandler
  • Removeresult
  • nhảy
  • Bỏ qua
  • bỏ qua

Dưới đây là một số câu hỏi phỏng vấn lập trình Python tiên tiến cho kinh nghiệm. Tôi khuyên bạn nên giới thiệu những câu hỏi phỏng vấn này để biết kiến ​​thức nâng cao.

Q. Làm cách nào để kiểm tra chương trình hoặc thành phần Python?

Python đi kèm với hai khung thử nghiệm: Mô -đun kiểm tra tài liệu tìm thấy các ví dụ trong chuỗi tài liệu cho một mô -đun và chạy chúng, so sánh đầu ra với đầu ra dự kiến ​​được đưa ra trong chuỗi tài liệu.

Mô -đun Unittest nhất một khung thử nghiệm fancier được mô hình hóa trên các khung thử nghiệm Java và Smalltalk.

Để thử nghiệm, nó giúp viết chương trình để nó có thể dễ dàng được kiểm tra bằng cách sử dụng thiết kế mô -đun tốt. Chương trình của bạn nên có hầu hết tất cả các chức năng được gói gọn trong cả hai chức năng hoặc phương thức lớp. Và điều này đôi khi có hiệu ứng đáng ngạc nhiên và thú vị của việc làm cho chương trình chạy nhanh hơn vì các truy cập biến cục bộ nhanh hơn truy cập toàn cầu.

Hơn nữa, chương trình nên tránh phụ thuộc vào các biến toàn cầu đột biến, vì điều này khiến việc thử nghiệm khó thực hiện hơn nhiều. "Logic chính toàn cầu" của chương trình của bạn có thể đơn giản như:

if name == "chính": main_logic ()name=="main":
main_logic()

Ở dưới cùng của mô -đun chính của chương trình của bạn. Khi chương trình của bạn được tổ chức như một bộ sưu tập các chức năng và hành vi của lớp, bạn nên viết các chức năng kiểm tra thực hiện các hành vi.

Một bộ thử nghiệm có thể được liên kết với mỗi mô -đun tự động hóa một chuỗi các thử nghiệm.

Bạn có thể làm cho việc mã hóa dễ chịu hơn nhiều bằng cách viết các chức năng kiểm tra của mình song song với "mã sản xuất", vì điều này giúp dễ dàng tìm thấy lỗi và thậm chí các lỗ hổng thiết kế sớm hơn.

"Các mô-đun hỗ trợ" không nhằm mục đích là mô-đun chính của chương trình có thể bao gồm tự kiểm tra mô-đun.

Nếu name == "Main": self_test ()name == "main": self_test()

Ngay cả các chương trình tương tác với các giao diện bên ngoài phức tạp cũng có thể được kiểm tra khi các giao diện bên ngoài không khả dụng bằng cách sử dụng các giao diện "giả" được triển khai trong Python.

BÌNH GIỮ NHIỆT

Q. Bình và lợi ích của nó là gì?

Bình Python, như chúng ta đã thảo luận trước đây, là một máy tính vi mô web cho Python. Nó dựa trên '

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
95,
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
96 và giấy phép BSD có ý định tốt. Hai trong số các phụ thuộc của nó là Werkzeug và Jinja2. Điều này có nghĩa là nó không có sự phụ thuộc vào các thư viện bên ngoài. Do đó, chúng ta có thể gọi nó là một khung ánh sáng. Một phiên sử dụng cookie đã ký để cho phép người dùng xem và sửa đổi nội dung phiên. Nó sẽ nhớ thông tin từ yêu cầu này sang yêu cầu khác. Tuy nhiên, để sửa đổi một phiên, người dùng phải có khóa bí mật
def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
97.

Flask là một khung vi mô web cho Python dựa trên "Werkzeug, Jinja 2 và ý định tốt" BSD được cấp phép. Werkzeug và Jingja là hai trong số các phụ thuộc của nó.

Bình là một phần của khung vi mô. Điều đó có nghĩa là nó sẽ có rất ít hoặc không có sự phụ thuộc vào các thư viện bên ngoài. Nó làm cho khung ánh sáng trong khi có rất ít sự phụ thuộc để cập nhật và ít lỗi bảo mật hơn.

Q. Đề cập đến Flask-WTF là gì và các tính năng của chúng là gì?

Flask-WTF cung cấp tích hợp đơn giản với WTForms. Các tính năng bao gồm cho Flask WTF là

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
55

Q. Giải thích cách phổ biến để tập lệnh bình hoạt động là gì?

Cách phổ biến để tập lệnh bình hoạt động là

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
56

Q. Giải thích làm thế nào bạn có thể truy cập các phiên trong bình?

Một phiên về cơ bản cho phép bạn nhớ thông tin từ yêu cầu này sang yêu cầu khác. Trong bình, nó sử dụng cookie đã ký để người dùng có thể xem nội dung phiên và sửa đổi. Người dùng có thể sửa đổi phiên nếu chỉ có bình khóa bí mật.secret_key.

Q. Flask có phải là mô hình MVC không và nếu có, hãy đưa ra một ví dụ hiển thị mẫu MVC cho ứng dụng của bạn?

Về cơ bản, Flask là một khung tối giản hoạt động giống như khung MVC. Vì vậy, MVC là một phù hợp hoàn hảo cho bình và mẫu cho MVC, chúng tôi sẽ xem xét cho ví dụ sau

Từ bình Nhập Applask Ứng dụng = Flask (Tên) @App.Route ("/") def Hello (): Trả về "Hello World" App.Run (Debug = true)

Trong mã này của bạn,

Phần cấu hình sẽ

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
57

Xem phần sẽ là

Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
58

Trong khi mô hình hoặc phần chính của bạn sẽ là

Q. Giải thích kết nối cơ sở dữ liệu trong bình Python?

Cơ sở dữ liệu tốt nhất cho bình là MySQL. Flask hỗ trợ ứng dụng hỗ trợ cơ sở dữ liệu (RDB). Hệ thống như vậy yêu cầu tạo lược đồ, yêu cầu đường ống tệp shema.sql thành lệnh sqlite3. Vì vậy, bạn cần cài đặt lệnh

def div1(x,y):
    print "%s/%s = %s" % (x, y, x/y)
def div2(x,y):
    print "%s//%s = %s" % (x, y, x//y)

div1(5,2)
div1(5.,2)
div2(5,2)
div2(5.,2.)
98 để tạo hoặc bắt đầu cơ sở dữ liệu trong bình. Bình cho phép yêu cầu cơ sở dữ liệu theo ba cách

  • def div1(x,y):
        print "%s/%s = %s" % (x, y, x/y)
    def div2(x,y):
        print "%s//%s = %s" % (x, y, x//y)
    
    div1(5,2)
    div1(5.,2)
    div2(5,2)
    div2(5.,2.)
    99: Chúng được gọi trước khi yêu cầu và không có đối số.
  • List = ['a', 'b', 'c', 'd', 'e']
    print(list[10:])
    00: Họ được gọi theo yêu cầu và chuyển phản hồi sẽ được gửi cho khách hàng.
  • List = ['a', 'b', 'c', 'd', 'e']
    print(list[10:])
    01: Chúng được gọi trong tình huống khi ngoại lệ được nâng lên và phản hồi không được đảm bảo. Chúng được gọi sau khi phản hồi được xây dựng. Họ không được phép sửa đổi yêu cầu và giá trị của chúng bị bỏ qua.

Làm thế nào bạn sẽ sắp xếp kết quả của học sinh mà bạn không biết điểm số dựa trên số cuộn của họ?

Sử dụng sắp xếp bong bóng.

Q. Làm thế nào bạn sẽ kiểm tra rò rỉ bộ nhớ trên Linux?

  • Valgrind cùng với GCC.

Q. Làm thế nào bạn có thể trả về nhiều giá trị từ một hàm/phương thức?

Q. Cách nhanh nhất để trao đổi các giá trị được liên kết với hai biến là gì?

Q. Tầm quan trọng của việc đếm tham chiếu là gì?

Q. Các hàm (hoặc phương thức) có trả lại điều gì đó ngay cả khi không có câu lệnh trả về không? Nếu vậy, họ trở lại điều gì?

Q. Làm thế nào để bạn đảo ngược một danh sách? Bạn có thể nghĩ ra ít nhất ba cách?

Q. Làm thế nào bạn sẽ hợp nhất hai danh sách được sắp xếp? Chúng có thể là bất kỳ chiều dài, hoặc trống.

Q. Làm thế nào bạn sẽ đếm các dòng trong một tệp? Làm thế nào bạn sẽ làm điều đó nếu tệp quá lớn để giữ trong bộ nhớ?

Q. Có phải ngôn ngữ biên dịch Python?

Q. Thư viện Python tiêu chuẩn được sử dụng?

Q. Kích thước của số nguyên trong Python là bao nhiêu?

Q. Định dạng tuần tự hóa (trong Python) là gì?

Q. Làm thế nào Python quản lý bộ nhớ?

Q. Tuple có thể thay đổi hay bất biến?

Q. Hãy cho tôi biết một số cơ sở dữ liệu trong Python?

Q. Tại sao Python thay vì Scala trên Spark khi Scala có hiệu suất tốt hơn?

Q. Làm thế nào để truy cập tệp trên máy chủ Linux bằng Python?

Q. Danh sách hiểu danh sách là gì? Hiển thị với ví dụ

Q. Bạn đang sử dụng phiên bản Azure DataFactory nào>?

Q. Làm thế nào để thực thi mã Java?

Q. Làm thế nào để tìm PID của quá trình và làm thế nào để tìm ra bao nhiêu tài nguyên mà một quy trình đang thực hiện trên Linux?

Q. Phiên bản Hadoop của Amazon là gì?

Q. Các công cụ để uống là gì?

Q. Python là gì?

Q. Mô tả một số tính năng của Python.

Q. Python thực thi mã như thế nào?

Q. Một số loại tích hợp trong Python là gì?

Q. Các ràng buộc là gì, tức là, nó có nghĩa là gì đối với một giá trị bị ràng buộc với một biến?

Q. Làm thế nào để bạn tạo một danh sách?

Q. Làm thế nào để bạn tạo một từ điển?

Q. Hiểu danh sách là gì? Tại sao bạn sẽ sử dụng một?

Q. Máy phát điện là gì? Những gì nó có thể được sử dụng cho?

Q. Kế thừa là gì?

Q. Điều gì xảy ra nếu bạn gặp lỗi trong câu lệnh INIT?init statement?

Q. Điều gì xảy ra trong Python nếu bạn cố gắng chia cho 0?

Q. Làm thế nào các biến thể hiện khác với các biến lớp?

Q. Phân biệt giữa tệp ".py" và ".pyc"?

Q. Giải thích sự khác biệt giữa MAP VS giảm VS Filter?

Q. Máy phát điện là gì?

Q. Iterators là gì?

Q. Máy phát điện có thể được sử dụng để tạo trình lặp không? Đưa ra ví dụ

Q. Trình lặp có thể được sử dụng để tạo trình tạo không?

Q. Trình lặp và máy phát điện là gì?

Q. Thứ tự phân giải phương pháp là gì?

Q. Phân biệt giữa các phương thức expend () và extend ()?

Q. Làm thế nào bạn có thể thực hiện lập trình chức năng và tại sao bạn sẽ?

Q. Giải thích CTYPES và tại sao bạn sẽ sử dụng chúng?

Q. Nhiều kế thừa là gì và khi nào bạn nên sử dụng nó?

Q. Lớp Meta là gì?

Q. Thuộc tính là gì và điểm gì?

Q. Sự khác biệt giữa 2,7+ và 3 là gì?

Q. Chuỗi Unicode là gì?

Q. Câu lệnh năng suất làm gì?

Q. Máy phát điện là gì?

Q. Tại sao tôi sẽ sử dụng một?

Q. Đa hình là gì, khi nào tôi sẽ sử dụng nó?

Q. Làm thế nào để bạn đi về bao bì mã Python?

Q. Python có được biên soạn không ?, Nếu có, làm thế nào, nếu không làm thế nào như vậy.

Q. Một số biến có nghĩa là gì?some-variable mean?

Q. Tôi có nên nhập toàn bộ mô -đun không?

Q. Động lực/vịt có nghĩa là gì?

Q. Khi nào tôi sẽ không sử dụng Python?

Q. Cái gì khô, làm thế nào tôi có thể áp dụng nó thông qua OOP hoặc FP?

Q. Khi nào tôi sẽ sử dụng Python?

Q. Cho ví dụ về khung Python?

Q. Làm thế nào Python được giải thích.

Q. Giải thích Dict.

Q. Cách truyền đối số từ khóa hoặc tùy chọn.

Q. Giải thích lập chỉ mục và cắt.

Q. Sự khác biệt giữa str () và repr ().

Q. Gõ động là gì?

Q. Biện minh cho tuyên bố này: Mọi thứ đều là đối tượng trong Python?

Q. Middle Wares là gì?

Q. Việc sử dụng việc liệt kê () trong Python là gì?

Q. Nén danh sách / Dict là gì.

Q. Làm thế nào để tạo ra mảng trong Python?

Q. Cách tạo số ngẫu nhiên.

Q. Làm thế nào để xử lý các ngoại lệ.

Q. Khi nào nên sử dụng danh sách/tuple/set/dict?

Q. Virtualenv là gì

Q.
List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
02 Tuyên bố và cách sử dụng của nó.

Q. Lớp học là gì và bản thân là gì.

Q. Giải thích isinstance ()

Q. Phương pháp tĩnh, phương thức lớp và phương pháp thể hiện là gì?

Q. Giải thích bản đồ, lọc, giảm và lambda.

Q. Sự khác biệt giữa các lớp học theo kiểu mới và kiểu cũ.

Q. Khác biệt giữa Python và Java là gì?

Q. Bộ xử lý ngữ cảnh là gì?

Q. exec () và eval () là gì?

Q. Làm thế nào để vượt qua đối số dòng lệnh.

Q. Năng suất là gì?

Q. ord () và chr () là gì?

Q. Metaclasses là gì?

Q. Mô tả là gì?

Q. Không gian tên vs phạm vi?

Q. MRO là gì?

Q. Khi nào nên sử dụng toàn bộ danh sách và khi nào để tránh danh sách toàn diện?

Q. Bản đồ, bộ lọc và giảm chức năng là gì?

Q. Các loại ngoại lệ khác nhau được tạo ra trong Python là gì?

Q. Làm thế nào để viết xử lý ngoại lệ tùy chỉnh của riêng bạn?

Q. Sự khác biệt giữa đầu vào và raw_input?

Q. Tại sao chúng ta viết
Division operator
`print` function  
Unicode 
xrange  
Error Handling  
`_future_` module
75 ==
List = ['a', 'b', 'c', 'd', 'e']
print(list[10:])
04 trong tập lệnh Python?

Q. Tại sao xử lý ngoại lệ có một khối cuối cùng?

Q. Python có cung cấp chủ đề đa luồng an toàn không?

Q. Ý bạn là gì khi không chặn IO?

Q. Điều gì xảy ra nếu xảy ra lỗi không được xử lý trong khối ngoại trừ?

Q. Các mô -đun được sử dụng như thế nào trong chương trình Python?

Q. Làm thế nào để bạn tạo chức năng Python?

Q. Một lớp Python được tạo ra như thế nào?

Q. Làm thế nào một lớp Python được khởi tạo?

Q. Làm thế nào để một hàm trả về giá trị?

Q. Điều gì xảy ra khi một hàm không có câu lệnh trả về? Cái này có hợp lệ không?

Q. Làm thế nào để bạn tạo một từ điển có thể bảo tồn thứ tự của các cặp?

Q. Bạn có thể sử dụng cấu trúc dữ liệu có thể thay đổi làm khóa trong từ điển không?

Q. Sự khác biệt giữa tuple và danh sách là gì? Bạn sẽ sử dụng Tuple ở đâu và bạn sẽ sử dụng danh sách ở đâu?

Q. Giải thích tất cả các chế độ xử lý tệp được hỗ trợ bởi Python?

Q. PEP 8 là gì?

Q. Các tham số cần xem xét để kiểm tra khi máy chủ bị hỏng?

Q. Làm thế nào bạn sẽ đo bộ nhớ trên máy chủ Linux?