Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

Giới thiệu về Python:

Python được phát triển bởi Guido Van Rossum và được phát hành đầu tiên vào ngày 20 tháng 2 năm 1991. Đây là một trong những ngôn ngữ lập trình được sử dụng rộng rãi và được yêu thích nhất và được giải thích trong tự nhiên do đó cung cấp sự linh hoạt của việc kết hợp ngữ nghĩa năng động. Nó cũng là một ngôn ngữ miễn phí và nguồn mở với cú pháp rất đơn giản và sạch sẽ. Điều này giúp các nhà phát triển dễ dàng học Python. Python cũng hỗ trợ lập trình hướng đối tượng và thường được sử dụng nhất để thực hiện lập trình đa năng. & NBSP;learn python. Python also supports object-oriented programming and is most commonly used to perform general-purpose programming. 

Show

Do tính chất đơn giản của nó và khả năng đạt được nhiều chức năng trong ít dòng mã hơn, sự phổ biến của Python, ngày càng tăng. Python cũng được sử dụng trong học máy, trí tuệ nhân tạo, phát triển web, quét web và nhiều lĩnh vực khác do khả năng hỗ trợ các tính toán mạnh mẽ sử dụng các thư viện mạnh mẽ. Do đó, có một nhu cầu rất lớn đối với các nhà phát triển Python ở Ấn Độ và trên toàn thế giới. Các công ty sẵn sàng cung cấp các đặc quyền và lợi ích đáng kinh ngạc cho các nhà phát triển này. & NBSP;

Trong bài viết này, chúng ta sẽ thấy các câu hỏi và câu trả lời phỏng vấn Python thường được hỏi nhất sẽ giúp bạn vượt trội và túi cung cấp công việc tuyệt vời.

Chúng tôi đã phân loại chúng thành các phần sau:

  • Câu hỏi phỏng vấn Python cho Freshers
  • Câu hỏi phỏng vấn Python cho kinh nghiệm
  • Python oops câu hỏi phỏng vấn
  • Câu hỏi phỏng vấn Python Pandas
  • Câu hỏi phỏng vấn Numpy
  • Các câu hỏi phỏng vấn thư viện Python
  • Ví dụ lập trình Python

Python Cheat Sheet: Các khái niệm cơ bản đến nâng cao

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

Câu hỏi phỏng vấn Python cho kinh nghiệm

Python oops câu hỏi phỏng vấn

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

  • Câu hỏi phỏng vấn Numpy
  • Các câu hỏi phỏng vấn thư viện Python

Ví dụ lập trình Python

Python Cheat Sheet: Các khái niệm cơ bản đến nâng caoTyping refers to type-checking in programming languages. In a strongly-typed language, such as Python, "1" + 2 will result in a type error since these languages don't allow for "type-coercion" (implicit conversion of data types). On the other hand, a weakly-typed language, such as Javascript, will simply output "12" as result.

1. Python là gì? Những lợi ích của việc sử dụng Python là gì

  • Python là một ngôn ngữ lập trình cấp cao, được giải thích, đa năng. Là một ngôn ngữ có mục đích chung, nó có thể được sử dụng để xây dựng hầu hết mọi loại ứng dụng với các công cụ/thư viện phù hợp. Ngoài ra, Python hỗ trợ các đối tượng, mô-đun, luồng, xử lý ngoại lệ và quản lý bộ nhớ tự động giúp mô hình hóa các vấn đề trong thế giới thực và xây dựng các ứng dụng để giải quyết các vấn đề này. - Data Types are checked before execution.
  • Lợi ích của việc sử dụng Python: - Data Types are checked during execution.

Python là một ngôn ngữ lập trình đa năng có cú pháp đơn giản, dễ học, nhấn mạnh khả năng đọc và do đó làm giảm chi phí bảo trì chương trình. Hơn nữa, ngôn ngữ có khả năng viết kịch bản, hoàn toàn nguồn mở và hỗ trợ các gói của bên thứ ba khuyến khích tính mô-đun và tái sử dụng mã.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

Các cấu trúc dữ liệu cấp cao của nó, kết hợp với gõ động và ràng buộc động, thu hút một cộng đồng lớn các nhà phát triển để phát triển và triển khai ứng dụng nhanh chóng.

2. Ngôn ngữ được gõ động là gì?

Trước khi chúng ta hiểu một ngôn ngữ được đánh máy động, chúng ta nên tìm hiểu về việc gõ là gì. Gõ đề cập đến việc kiểm tra loại trong các ngôn ngữ lập trình. Trong một ngôn ngữ được gõ mạnh, chẳng hạn như Python, "1" + 2 sẽ dẫn đến lỗi loại vì các ngôn ngữ này không cho phép "tính toán loại" (chuyển đổi ẩn các loại dữ liệu). Mặt khác, một ngôn ngữ được gõ yếu, chẳng hạn như JavaScript, sẽ chỉ đơn giản là xuất hiện "12".

Kiểm tra loại có thể được thực hiện ở hai giai đoạn -Python Enhancement Proposal. A PEP is an official design document providing information to the Python community, or describing a new feature for Python or its processes. PEP 8 is especially important since it documents the style guidelines for Python Code. Apparently contributing to the Python open-source community requires you to follow these style guidelines sincerely and strictly.

Tĩnh - Kiểu dữ liệu được kiểm tra trước khi thực hiện.

Dynamic - Kiểu dữ liệu được kiểm tra trong khi thực hiện.

  • Python là một ngôn ngữ được giải thích, thực hiện từng dòng câu lệnh và do đó kiểm tra loại được thực hiện một cách nhanh chóng, trong khi thực hiện. Do đó, Python là một ngôn ngữ được đánh máy động.local scope refers to the local objects available in the current function.
  • Một phạm vi toàn cầu đề cập đến các đối tượng có sẵn trong suốt quá trình thực thi mã kể từ khi thành lập.global scope refers to the objects available throughout the code execution since their inception.
  • Một phạm vi cấp độ mô-đun đề cập đến các đối tượng toàn cầu của mô-đun hiện tại có thể truy cập trong chương trình.module-level scope refers to the global objects of the current module accessible in the program.
  • Một phạm vi ngoài cùng đề cập đến tất cả các tên tích hợp có thể gọi trong chương trình. Các đối tượng trong phạm vi này được tìm kiếm cuối cùng để tìm tên được tham chiếu.outermost scope refers to all the built-in names callable in the program. The objects in this scope are searched last to find the name referenced.

Lưu ý: Các đối tượng phạm vi cục bộ có thể được đồng bộ hóa với các đối tượng phạm vi toàn cầu bằng cách sử dụng các từ khóa như toàn cầu. Local scope objects can be synced with global scope objects using keywords such as global.

6. Danh sách và bộ dữ liệu là gì? Sự khác biệt chính giữa hai là gì?

Danh sách và bộ dữ liệu đều là các loại dữ liệu chuỗi có thể lưu trữ một tập hợp các đối tượng trong Python. Các đối tượng được lưu trữ trong cả hai chuỗi có thể có các loại dữ liệu khác nhau. Danh sách được thể hiện bằng dấu ngoặc vuông

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
2, trong khi các bộ dữ liệu được biểu diễn bằng parantheses ________ 93. Nhưng sự khác biệt thực sự giữa hai là gì? Sự khác biệt chính giữa hai là trong khi các danh sách có thể thay đổi, mặt khác, các bộ dữ liệu là các đối tượng bất biến. Điều này có nghĩa là các danh sách có thể được sửa đổi, được nối hoặc cắt lát khi đang di chuyển nhưng các bộ dữ liệu vẫn không đổi và không thể được sửa đổi theo bất kỳ cách nào. Bạn có thể chạy ví dụ sau trên Python Idle để xác nhận sự khác biệt:and Tuples are both sequence data types that can store a collection of objects in Python. The objects stored in both sequences can have different data types. Lists are represented with square brackets
# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
2, while tuples are represented with parantheses
# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
3.
But what is the real difference between the two? The key difference between the two is that while lists are mutable, tuples on the other hand are immutable objects. This means that lists can be modified, appended or sliced on the go but tuples remain constant and cannot be modified in any manner. You can run the following example on Python IDLE to confirm the difference:

my_tuple = ('sara', 6, 5, 0.97)
my_list = ['sara', 6, 5, 0.97]
print(my_tuple[0])     # output => 'sara'
print(my_list[0])     # output => 'sara'
my_tuple[0] = 'ansh'    # modifying tuple => throws an error
my_list[0] = 'ansh'    # modifying list => list modified
print(my_tuple[0])     # output => 'sara'
print(my_list[0])     # output => 'ansh'

7. Các loại dữ liệu tích hợp phổ biến trong Python là gì?

Có một số loại dữ liệu tích hợp trong Python. Mặc dù, Python không yêu cầu các loại dữ liệu được xác định rõ ràng trong các lỗi loại khai báo biến có thể xảy ra nếu kiến ​​thức về các loại dữ liệu và khả năng tương thích của chúng với nhau bị bỏ qua. Python cung cấp các chức năng

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
4 và
# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
5 để kiểm tra loại biến này. Các loại dữ liệu này có thể được nhóm thành các danh mục sau-

  • Không có loại: ________ 96 Từ khóa đại diện cho các giá trị null trong Python. Hoạt động bình đẳng Boolean có thể được thực hiện bằng cách sử dụng các đối tượng không định nghĩa này.
    # decorator function to capitalize names
    def names_decorator(function):
       def wrapper(arg1, arg2):
           arg1 = arg1.capitalize()
           arg2 = arg2.capitalize()
           string_hello = function(arg1, arg2)
           return string_hello
       return wrapper
    @names_decorator
    def say_hello(name1, name2):
       return 'Hello ' + name1 + '! Hello ' + name2 + '!'
    say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
    6 keyword represents the null values in Python. Boolean equality operation can be performed using these NoneType objects.
Tên lớpSự mô tả
Không định vịĐại diện cho các giá trị null trong Python. NULL values in Python.
  • Các loại số: Có ba loại số riêng biệt - số nguyên, số điểm nổi và số phức. Ngoài ra, Booleans là một loại số nguyên.
    There are three distinct numeric types - integers, floating-point numbers, and complex numbers. Additionally, booleans are a sub-type of integers.
Tên lớpSự mô tả
Không định vịĐại diện cho các giá trị null trong Python.
Các loại số: Có ba loại số riêng biệt - số nguyên, số điểm nổi và số phức. Ngoài ra, Booleans là một loại số nguyên.int
Cửa hàng theo nghĩa đen bao gồm Hex, Octal và nhị phân như số nguyêntrôi nổi
Lưu trữ các chữ có chứa các giá trị thập phân và/hoặc dấu hiệu số mũ dưới dạng số điểm nổitổ hợp

Lưu trữ các số phức tạp trong biểu mẫu (A + BJ) và có các thuộc tính:

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
7 và
# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
8
The standard library also includes fractions to store rational numbers and decimal to store floating-point numbers with user-defined precision.

  • bool
    According to Python Docs, there are three basic Sequence Types - lists, tuples, and range objects. Sequence types have the
    # decorator function to capitalize names
    def names_decorator(function):
       def wrapper(arg1, arg2):
           arg1 = arg1.capitalize()
           arg2 = arg2.capitalize()
           string_hello = function(arg1, arg2)
           return string_hello
       return wrapper
    @names_decorator
    def say_hello(name1, name2):
       return 'Hello ' + name1 + '! Hello ' + name2 + '!'
    say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
    9 and
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    00 operators defined for their traversing their elements. These operators share the same priority as the comparison operations.
Tên lớpSự mô tả
Không định vịĐại diện cho các giá trị null trong Python.
Các loại số: Có ba loại số riêng biệt - số nguyên, số điểm nổi và số phức. Ngoài ra, Booleans là một loại số nguyên.int
Cửa hàng theo nghĩa đen bao gồm Hex, Octal và nhị phân như số nguyêntrôi nổi
Lưu trữ các chữ có chứa các giá trị thập phân và/hoặc dấu hiệu số mũ dưới dạng số điểm nổitổ hợp

Lưu trữ các số phức tạp trong biểu mẫu (A + BJ) và có các thuộc tính:

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
7 và
# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
8
The standard library also includes additional types for processing:
1. Binary data such as
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
01
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
02 , and
2. Text strings such as
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
03.

  • bool

Lưu trữ giá trị boolean (đúng hoặc sai).dictionary.

Lưu ý: Thư viện tiêu chuẩn cũng bao gồm các phân số để lưu trữ các số hợp lý và thập phân để lưu trữ các số điểm nổi với độ chính xác do người dùng xác định.Sự mô tả
Không định vịĐại diện cho các giá trị null trong Python.key: value pairs
  • Các loại số: Có ba loại số riêng biệt - số nguyên, số điểm nổi và số phức. Ngoài ra, Booleans là một loại số nguyên.
    Currently, Python has two built-in set types - set and frozenset. set type is mutable and supports methods like
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    04 and
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    05. frozenset type is immutable and can't be modified after creation.
Tên lớpSự mô tả
Không định vịĐại diện cho các giá trị null trong Python.
Các loại số: Có ba loại số riêng biệt - số nguyên, số điểm nổi và số phức. Ngoài ra, Booleans là một loại số nguyên.int

Cửa hàng theo nghĩa đen bao gồm Hex, Octal và nhị phân như số nguyên

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
06 is mutable and thus cannot be used as key for a dictionary. On the other hand,
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
07 is immutable and thus, hashable, and can be used as a dictionary key or as an element of another set.

  • trôi nổi
    Module is an additional built-in type supported by the Python Interpreter. It supports one special operation, i.e., attribute access:
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    08, where
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    09 is a module and myobj references a name defined in m's symbol table. The module's symbol table resides in a very special attribute of the module __dict__, but direct assignment to this module is neither possible nor recommended.
  • Lưu trữ các chữ có chứa các giá trị thập phân và/hoặc dấu hiệu số mũ dưới dạng số điểm nổi
    Callable types are the types to which function call can be applied. They can be user-defined functions, instance methods, generator functions, and some other built-in functions, methods and classes.
    Refer to the documentation at docs.python.org for a detailed view of the callable types.

8. Pass trong Python là gì?

Từ khóa

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
10 đại diện cho một hoạt động null trong Python. Nó thường được sử dụng cho mục đích lấp đầy các khối mã trống có thể thực thi trong thời gian chạy nhưng vẫn chưa được viết. Nếu không có câu lệnh PASS trong mã sau, chúng tôi có thể gặp một số lỗi trong quá trình thực thi mã.pass statement in the following code, we may run into some errors during code execution.

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block

9. Các mô -đun và gói trong Python là gì?

Các gói Python và mô -đun Python là hai cơ chế cho phép lập trình mô -đun trong Python. Mô -đun hóa có một số lợi thế -modular programming in Python. Modularizing has several advantages -

  • Đơn giản: Làm việc trên một mô -đun duy nhất giúp bạn tập trung vào một phần tương đối nhỏ của vấn đề trong tay. Điều này làm cho sự phát triển dễ dàng hơn và dễ bị lỗi hơn.: Working on a single module helps you focus on a relatively small portion of the problem at hand. This makes development easier and less error-prone.
  • Khả năng duy trì: Các mô -đun được thiết kế để thực thi các ranh giới logic giữa các lĩnh vực vấn đề khác nhau. Nếu chúng được viết theo cách giảm sự phụ thuộc lẫn nhau, thì ít có khả năng sửa đổi trong một mô -đun có thể tác động đến các phần khác của chương trình.: Modules are designed to enforce logical boundaries between different problem domains. If they are written in a manner that reduces interdependency, it is less likely that modifications in a module might impact other parts of the program.
  • Khả năng tái sử dụng: Các chức năng được xác định trong một mô -đun có thể dễ dàng được sử dụng lại bởi các phần khác của ứng dụng.: Functions defined in a module can be easily reused by other parts of the application.
  • Phạm vi: Các mô -đun thường xác định một không gian tên riêng, giúp tránh sự nhầm lẫn giữa các định danh từ các phần khác của chương trình.: Modules typically define a separate namespace, which helps avoid confusion between identifiers from other parts of the program.

Các mô -đun, nói chung, chỉ đơn giản là các tệp python có phần mở rộng .py và có thể có một tập hợp các hàm, lớp hoặc biến được xác định và triển khai. Chúng có thể được nhập và khởi tạo sau khi sử dụng câu lệnh

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
11. Nếu chức năng một phần là cần thiết, hãy nhập các lớp hoặc chức năng cần thiết bằng cách sử dụng
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
12.
, in general, are simply Python files with a .py extension and can have a set of functions, classes, or variables defined and implemented. They can be imported and initialized once using the
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
11 statement. If partial functionality is needed, import the requisite classes or functions using
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
12.

Các gói cho phép cấu trúc phân cấp của không gian tên mô -đun bằng ký hiệu DOT. Vì, các mô -đun giúp tránh các cuộc đụng độ giữa các tên biến toàn cầu, theo cách tương tự, các gói giúp tránh các cuộc đụng độ giữa các tên mô -đun. Việc tạo gói rất dễ dàng vì nó sử dụng cấu trúc tệp vốn có của hệ thống. Vì vậy, chỉ cần nhét các mô -đun vào một thư mục và ở đó bạn có nó, tên thư mục là tên gói. Nhập một mô -đun hoặc nội dung của nó từ gói này yêu cầu tên gói làm tiền tố cho tên mô -đun được nối bởi một dấu chấm. allow for hierarchial structuring of the module namespace using dot notation. As, modules help avoid clashes between global variable names, in a similar manner, packages help avoid clashes between module names.
Creating a package is easy since it makes use of the system's inherent file structure. So just stuff the modules into a folder and there you have it, the folder name as the package name. Importing a module or its contents from this package requires the package name as prefix to the module name joined by a dot.

Lưu ý: Về mặt kỹ thuật, bạn cũng có thể nhập gói, nhưng than ôi, nó không nhập các mô -đun trong gói vào không gian tên cục bộ, do đó, nó thực tế là vô dụng. You can technically import the package as well, but alas, it doesn't import the modules within the package to the local namespace, thus, it is practically useless.

10. Các thuộc tính toàn cầu, được bảo vệ và riêng tư trong Python là gì?

  • Các biến toàn cầu là các biến công khai được xác định trong phạm vi toàn cầu. Để sử dụng biến trong phạm vi toàn cầu bên trong một hàm, chúng tôi sử dụng từ khóa
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    13.
    variables are public variables that are defined in the global scope. To use the variable in the global scope inside a function, we use the
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    13 keyword.
  • Các thuộc tính được bảo vệ là các thuộc tính được xác định với tiền tố nhấn mạnh cho định danh của chúng, ví dụ. _sara. Chúng vẫn có thể được truy cập và sửa đổi từ bên ngoài lớp mà họ được xác định nhưng một nhà phát triển có trách nhiệm nên không làm như vậy. attributes are attributes defined with an underscore prefixed to their identifier eg. _sara. They can still be accessed and modified from outside the class they are defined in but a responsible developer should refrain from doing so.
  • Các thuộc tính riêng tư là các thuộc tính có tiền tố Double UnderCore cho số nhận dạng của chúng, ví dụ. __ansh. Chúng không thể được truy cập hoặc sửa đổi trực tiếp từ bên ngoài và sẽ dẫn đến một thuộc tính nếu một nỗ lực đó được thực hiện.attributes are attributes with double underscore prefixed to their identifier eg. __ansh. They cannot be accessed or modified from the outside directly and will result in an AttributeError if such an attempt is made.

11. Việc sử dụng bản thân trong Python là gì?

Bản thân được sử dụng để đại diện cho thể hiện của lớp. Với từ khóa này, bạn có thể truy cập các thuộc tính và phương thức của lớp trong Python. Nó liên kết các thuộc tính với các đối số đã cho. Tự được sử dụng ở những nơi khác nhau và thường được cho là một từ khóa. Nhưng không giống như trong C ++, Self không phải là một từ khóa trong Python.is used to represent the instance of the class. With this keyword, you can access the attributes and methods of the class in python. It binds the attributes with the given arguments. self is used in different places and often thought to be a keyword. But unlike in C++, self is not a keyword in Python.

12. __init__ là gì?

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
14 là một phương thức tương phản trong Python và được gọi tự động để phân bổ bộ nhớ khi một đối tượng/phiên bản mới được tạo. Tất cả các lớp có một phương pháp __init__ liên quan đến chúng. Nó giúp phân biệt các phương pháp và thuộc tính của một lớp với các biến cục bộ.__init__ method associated with them. It helps in distinguishing methods and attributes of a class from local variables.

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")

13. Nghỉ ngơi, tiếp tục và vượt qua trong Python là gì?

Phá vỡCâu lệnh Break chấm dứt vòng lặp ngay lập tức và điều khiển chảy vào câu lệnh sau phần thân của vòng lặp.
Tiếp tụcTuyên bố tiếp tục chấm dứt lần lặp hiện tại của câu lệnh, bỏ qua phần còn lại của mã trong lần lặp hiện tại và điều khiển chảy đến lần lặp tiếp theo của vòng lặp.
Đi quaNhư đã giải thích ở trên, từ khóa Pass trong Python thường được sử dụng để lấp đầy các khối trống và tương tự như một câu lệnh trống được đại diện bởi một đại hội bằng các ngôn ngữ như Java, C ++, JavaScript, v.v.
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0

14. Các bài kiểm tra đơn vị trong Python là gì?

  • Kiểm tra đơn vị là một khung kiểm tra đơn vị của Python.
  • Kiểm tra đơn vị có nghĩa là kiểm tra các thành phần khác nhau của phần mềm một cách riêng biệt. Bạn có thể nghĩ về lý do tại sao thử nghiệm đơn vị là quan trọng? Hãy tưởng tượng một kịch bản, bạn đang xây dựng phần mềm sử dụng ba thành phần là A, B và C. Bây giờ, giả sử phần mềm của bạn bị hỏng tại một thời điểm. Làm thế nào bạn sẽ tìm thấy thành phần nào chịu trách nhiệm phá vỡ phần mềm? Có lẽ đó là thành phần A thất bại, đến lượt thành phần B thất bại và điều này thực sự đã thất bại trong phần mềm. Có thể có nhiều sự kết hợp như vậy.
  • Đây là lý do tại sao cần phải kiểm tra từng thành phần đúng cách để chúng tôi biết thành phần nào có thể chịu trách nhiệm cao cho sự thất bại của phần mềm.

15. DocString trong Python là gì?

  • Chuỗi tài liệu hoặc DocString là một chuỗi đa dòng được sử dụng để ghi lại một phân đoạn mã cụ thể.
  • DocString nên mô tả những gì chức năng hoặc phương pháp làm.

16. Cắt lát ở Python là gì?

  • Như tên cho thấy, ‘cắt lát đang lấy các phần của.
  • Cú pháp để cắt là [Bắt đầu: Dừng: Bước][start : stop : step]
  • Bắt đầu là chỉ mục bắt đầu từ nơi để cắt một danh sách hoặc tìm kiếm is the starting index from where to slice a list or tuple
  • Dừng là chỉ số kết thúc hoặc ở đâu để sop. is the ending index or where to sop.
  • Bước là số bước để nhảy. is the number of steps to jump.
  • Giá trị mặc định cho bắt đầu là 0, dừng là số lượng vật phẩm, bước là 1.start is 0, stop is number of items, step is 1.
  • Cắt có thể được thực hiện trên chuỗi, mảng, danh sách và bộ dữ liệu.strings, arrays, lists, and tuples.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]

17. 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?

  • Tệp tập lệnh phải bắt đầu bằng #!/Usr/bin/env Python#!/usr/bin/env python

18. Sự khác biệt giữa các mảng và danh sách Python là gì?

  • Các mảng trong Python chỉ có thể chứa các yếu tố của cùng loại dữ liệu, tức là, loại dữ liệu của mảng phải đồng nhất. Đó là một trình bao bọc mỏng xung quanh các mảng ngôn ngữ C và tiêu thụ bộ nhớ ít hơn nhiều so với danh sách.
  • Danh sách trong Python có thể chứa các yếu tố của các loại dữ liệu khác nhau, tức là, loại dữ liệu của danh sách có thể không đồng nhất. Nó có nhược điểm của việc tiêu thụ bộ nhớ lớn.
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string

Câu hỏi phỏng vấn Python cho kinh nghiệm

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

  • Quản lý bộ nhớ trong Python được xử lý bởi Trình quản lý bộ nhớ Python. Bộ nhớ được phân bổ bởi người quản lý là dưới dạng một không gian đống riêng tư dành riêng cho Python. Tất cả các đối tượng Python được lưu trữ trong đống này và là riêng tư, nó không thể truy cập được cho lập trình viên. Mặc dù vậy, Python không cung cấp một số chức năng API cốt lõi để hoạt động trên không gian đống riêng tư.Python Memory Manager. The memory allocated by the manager is in form of a private heap space dedicated to Python. All Python objects are stored in this heap and being private, it is inaccessible to the programmer. Though, python does provide some core API functions to work upon the private heap space.
  • Ngoài ra, Python có một bộ sưu tập rác được xây dựng để tái chế bộ nhớ không sử dụng cho không gian đống riêng tư.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

20. Không gian tên Python là gì? Tại sao chúng được sử dụng?

Một không gian tên trong Python đảm bảo rằng tên đối tượng trong một chương trình là duy nhất và có thể được sử dụng mà không có bất kỳ xung đột nào. Python thực hiện các không gian tên này là từ điển có 'tên là khóa' được ánh xạ tới một 'đối tượng tương ứng là giá trị'. Điều này cho phép nhiều không gian tên sử dụng cùng tên và ánh xạ nó đến một đối tượng riêng. Một vài ví dụ về không gian tên như sau:

  • Không gian tên cục bộ bao gồm tên địa phương bên trong một chức năng. Không gian tên tạm thời được tạo cho một cuộc gọi chức năng và bị xóa khi hàm trả về. includes local names inside a function. the namespace is temporarily created for a function call and gets cleared when the function returns.
  • Không gian tên toàn cầu bao gồm các tên từ các gói/ mô -đun nhập khẩu khác nhau đang được sử dụng trong dự án hiện tại. Không gian tên này được tạo khi gói được nhập trong tập lệnh và kéo dài cho đến khi thực hiện tập lệnh. includes names from various imported packages/ modules that are being used in the current project. This namespace is created when the package is imported in the script and lasts until the execution of the script.
  • Không gian tên tích hợp bao gồm các chức năng tích hợp của Core Python và các tên tích hợp cho các loại ngoại lệ khác nhau.includes built-in functions of core Python and built-in names for various types of exceptions.

Vòng đời của một không gian tên phụ thuộc vào phạm vi của các đối tượng mà chúng được ánh xạ tới. Nếu phạm vi của một đối tượng kết thúc, vòng đời của không gian tên đó đã kết thúc. Do đó, không thể truy cập các đối tượng không gian tên bên trong từ một không gian tên bên ngoài.lifecycle of a namespace depends upon the scope of objects they are mapped to. If the scope of an object ends, the lifecycle of that namespace comes to an end. Hence, it isn't possible to access inner namespace objects from an outer namespace.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

21. Độ phân giải phạm vi trong Python là gì?

Đôi khi các đối tượng trong cùng một phạm vi có cùng tên nhưng hoạt động khác nhau. Trong những trường hợp như vậy, độ phân giải phạm vi sẽ tự động phát huy tác dụng trong Python. Một vài ví dụ về hành vi như vậy là:

  • Các mô -đun Python cụ thể là 'Toán' và 'CMATH' có rất nhiều chức năng phổ biến cho cả hai -
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    15,
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    16,
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    17, v.v. .
  • Hãy xem xét mã bên dưới, một temp đối tượng đã được khởi tạo thành 10 trên toàn cầu và sau đó đến 20 trong cuộc gọi chức năng. Tuy nhiên, cuộc gọi chức năng không thay đổi giá trị của nhiệt độ trên toàn cầu. Ở đây, chúng ta có thể quan sát rằng Python rút ra một ranh giới rõ ràng giữa các biến toàn cầu và địa phương, coi các không gian tên của chúng là danh tính riêng biệt.
temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10

Hành vi này có thể được ghi đè bằng từ khóa

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
13 bên trong hàm, như được hiển thị trong ví dụ sau:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20

22. Người trang trí trong Python là gì?

Các nhà trang trí trong Python về cơ bản là các chức năng bổ sung chức năng cho một chức năng hiện có trong Python mà không thay đổi cấu trúc của chính chức năng. Chúng được đại diện cho

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
21 trong Python và được gọi theo kiểu từ dưới lên. Ví dụ: in Python are essentially functions that add functionality to an existing function in Python without changing the structure of the function itself. They are represented the
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
21 in Python and are called in a bottom-up fashion. For example:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]

Vẻ đẹp của các nhà trang trí nằm ở chỗ bên cạnh việc thêm chức năng vào đầu ra của phương pháp, họ thậm chí có thể chấp nhận các đối số cho các chức năng và có thể sửa đổi thêm các đối số đó trước khi chuyển nó đến chức năng. Chức năng lồng nhau bên trong, tức là chức năng 'bao bọc', đóng một vai trò quan trọng ở đây. Nó được thực hiện để thực thi đóng gói và do đó, giữ cho chính nó ẩn khỏi phạm vi toàn cầu.accept arguments for functions and can further modify those arguments before passing it to the function itself. The inner nested function, i.e. 'wrapper' function, plays a significant role here. It is implemented to enforce encapsulation and thus, keep itself hidden from the global scope.

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'

23. Dict và danh sách toàn diện là gì?

Các toàn bộ Python, như các bộ trang trí, là các cấu trúc đường cú pháp giúp xây dựng các danh sách, từ điển hoặc bộ lọc được thay đổi và lọc từ một danh sách, từ điển hoặc thiết lập nhất định. Sử dụng các hệ thống lưu trữ tiết kiệm rất nhiều thời gian và mã có thể có nhiều dòng hơn đáng kể (chứa nhiều dòng mã hơn). Hãy xem một số ví dụ, trong đó sự hiểu biết có thể thực sự có lợi:syntactic sugar constructs that help build altered and filtered lists, dictionaries, or sets from a given list, dictionary, or set. Using comprehensions saves a lot of time and code that might be considerably more verbose (containing more lines of code). Let's check out some examples, where comprehensions can be truly beneficial:

  • Thực hiện các hoạt động toán học trong toàn bộ danh sách
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
0
  • Thực hiện các hoạt động lọc có điều kiện trong toàn bộ danh sách
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
1
  • Kết hợp nhiều danh sách thành một

Các hệ thống cho phép nhiều trình lặp và do đó, có thể được sử dụng để kết hợp nhiều danh sách thành một. & NBSP;

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
2
  • Làm phẳng danh sách đa chiều

Một cách tiếp cận tương tự của các phép lặp lồng nhau (như trên) có thể được áp dụng để làm phẳng danh sách đa chiều hoặc làm việc trên các yếu tố bên trong của nó. & NBSP;

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
3

LƯU Ý: Danh sách toàn diện có hiệu ứng giống như phương thức bản đồ trong các ngôn ngữ khác. Họ tuân theo ký hiệu trình xây dựng tập toán học thay vì các chức năng của MAP và bộ lọc trong Python. List comprehensions have the same effect as the map method in other languages. They follow the mathematical set builder notation rather than map and filter functions in Python.

24. Lambda trong Python là gì? Tại sao nó được sử dụng?

Lambda là một hàm ẩn danh trong Python, có thể chấp nhận bất kỳ số lượng đối số nào, nhưng chỉ có thể có một biểu thức duy nhất. Nó thường được sử dụng trong các tình huống đòi hỏi một chức năng ẩn danh trong một khoảng thời gian ngắn. Các hàm Lambda có thể được sử dụng theo một trong hai cách:

  • Gán các hàm Lambda cho một biến:
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
4
  • Gói các hàm Lambda bên trong một chức năng khác:
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
5

25. Làm thế nào để bạn sao chép một đối tượng trong Python?

Trong Python, câu lệnh gán (toán tử

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
22) không sao chép các đối tượng. Thay vào đó, nó tạo ra một ràng buộc giữa đối tượng hiện có và tên biến mục tiêu. Để tạo các bản sao của một đối tượng trong Python, chúng ta cần sử dụng mô -đun sao chép. Hơn nữa, có hai cách tạo bản sao cho đối tượng đã cho bằng mô -đun sao chép -copy module. Moreover, there are two ways of creating copies for the given object using the copy module -

Bản sao nông là một bản sao nhỏ của một đối tượng. Đối tượng được sao chép được tạo có một bản sao chính xác của các giá trị trong đối tượng gốc. Nếu một trong các giá trị là một tham chiếu đến các đối tượng khác, chỉ các địa chỉ tham chiếu cho cùng được sao chép. Bản sao sao chép tất cả các giá trị từ nguồn từ nguồn này sang đối tượng đích, tức là nó thậm chí còn sao chép các đối tượng được tham chiếu bởi đối tượng nguồn. is a bit-wise copy of an object. The copied object created has an exact copy of the values in the original object. If either of the values is a reference to other objects, just the reference addresses for the same are copied.
Deep Copy copies all values recursively from source to target object, i.e. it even duplicates the objects referenced by the source object.

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
6

26. Sự khác biệt giữa Xrange và phạm vi trong Python là gì?

xrange () và phạm vi () khá giống nhau về chức năng. Cả hai đều tạo ra một chuỗi các số nguyên, với sự khác biệt duy nhất

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
23 trả về danh sách python, trong khi đó,
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
24 trả về một đối tượng xrange.
and range() are quite similar in terms of functionality. They both generate a sequence of integers, with the only difference that
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
23 returns a Python list, whereas,
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
24 returns an xrange object.

Vậy làm thế nào mà tạo ra sự khác biệt? Nó chắc chắn, bởi vì không giống như phạm vi (), xrange () không tạo ra một danh sách tĩnh, nó tạo ra giá trị khi đang di chuyển. Kỹ thuật này thường được sử dụng với một trình tạo loại đối tượng và đã được gọi là "năng suất". It sure does, because unlike range(), xrange() doesn't generate a static list, it creates the value on the go. This technique is commonly used with an object-type generator and has been termed as "yielding".

Năng suất là rất quan trọng trong các ứng dụng trong đó bộ nhớ là một ràng buộc. Tạo một danh sách tĩnh như trong phạm vi () có thể dẫn đến

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
25 trong các điều kiện như vậy, trong khi, xrange () có thể xử lý tối ưu bằng cách sử dụng bộ nhớ vừa đủ cho trình tạo (so sánh ít hơn đáng kể). is crucial in applications where memory is a constraint. Creating a static list as in range() can lead to a
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
25 in such conditions, while, xrange() can handle it optimally by using just enough memory for the generator (significantly less in comparison).

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
7

Lưu ý: Xrange đã được không dùng nữa như Python 3.x. Bây giờ

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
26 thực hiện chính xác giống như những gì
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
27 đã sử dụng trong Python 2.x, vì việc sử dụng xrange () là cách tốt hơn so với hàm range () ban đầu trong Python 2.x.
: xrange has been deprecated as of Python 3.x. Now
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
26 does exactly the same as what
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
27 used to do in Python 2.x, since it was way better to use xrange() than the original range() function in Python 2.x.

27. Pickling và Unbickling là gì?

Thư viện Python cung cấp một tính năng - tuần tự hóa ra khỏi hộp. Xét nghiệm một đối tượng đề cập đến việc chuyển đổi nó thành một định dạng có thể được lưu trữ, để có thể giải phóng nó, sau này, để có được đối tượng gốc. Ở đây, mô -đun Pickle đi vào chơi.serialization out of the box. Serializing an object refers to transforming it into a format that can be stored, so as to be able to deserialize it, later on, to obtain the original object. Here, the pickle module comes into play.

Pickling:

  • Pickling là tên của quá trình tuần tự hóa trong Python. Bất kỳ đối tượng nào trong Python đều có thể được tuần tự hóa thành luồng byte và được bỏ dưới dạng tệp trong bộ nhớ. Quá trình ngâm nhỏ gọn nhưng các đối tượng dưa chua có thể được nén thêm. Hơn nữa, Pickle theo dõi các đối tượng mà nó đã tuần tự hóa và việc tuần tự hóa có thể di động trên các phiên bản.
  • Hàm được sử dụng cho quá trình trên là
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    28.

Unpickling:

  • Không có sự nghịch đảo hoàn toàn của ngâm. Nó giảm dần luồng byte để tạo lại các đối tượng được lưu trữ trong tệp và tải đối tượng vào bộ nhớ.
  • Hàm được sử dụng cho quá trình trên là
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    29.

Lưu ý: Python có mô -đun tuần tự hóa khác, nguyên thủy hơn được gọi là Marshall, tồn tại chủ yếu để hỗ trợ các tệp .pyc trong Python và khác biệt đáng kể so với dưa chua. Python has another, more primitive, serialization module called marshall, which exists primarily to support .pyc files in Python and differs significantly from the pickle.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

28. Máy phát điện trong Python là gì?

Máy phát điện là các chức năng trả về một bộ sưu tập các mặt hàng, từng lần một, theo cách định vị. Máy phát điện, nói chung, được sử dụng để tạo ra các trình lặp với một cách tiếp cận khác. Họ sử dụng từ khóa

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
30 thay vì
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
31 để trả về một đối tượng máy phát. Hãy thử và xây dựng một trình tạo cho các số Fibonacci -generator object.
Let's try and build a generator for fibonacci numbers -

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
8

29. Pythonpath trong Python là gì?

Pythonpath là một biến môi trường mà bạn có thể đặt để thêm các thư mục bổ sung trong đó Python sẽ tìm kiếm các mô -đun và gói. Điều này đặc biệt hữu ích trong việc duy trì các thư viện Python mà bạn không muốn cài đặt ở vị trí mặc định toàn cầu.

30. Việc sử dụng các hàm trợ giúp () và dir () là gì?

HELP () hàm trong Python được sử dụng để hiển thị tài liệu về các mô -đun, lớp, chức năng, từ khóa, v.v. Nếu không có tham số nào được chuyển đến hàm

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
32 Trả về một danh sách hợp lệ các thuộc tính và phương thức của đối tượng nó được yêu cầu. Nó hoạt động khác nhau với các đối tượng khác nhau, vì nó nhằm mục đích tạo ra dữ liệu phù hợp nhất, thay vì thông tin đầy đủ. function in Python is used to display the documentation of modules, classes, functions, keywords, etc. If no parameter is passed to the
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
32 function, then an interactive help utility is launched on the console.
dir() function tries to return a valid list of attributes and methods of the object it is called upon. It behaves differently with different objects, as it aims to produce the most relevant data, rather than the complete information.

  • Đối với các mô -đun/đối tượng thư viện, nó trả về một danh sách tất cả các thuộc tính, có trong mô -đun đó.
  • Đối với các đối tượng lớp, nó trả về một danh sách tất cả các thuộc tính hợp lệ và thuộc tính cơ sở.
  • Không có đối số được thông qua, nó trả về một danh sách các thuộc tính trong phạm vi hiện tại.

31. Sự khác biệt giữa các tệp .py và .pyc là gì?

  • Các tệp .py chứa mã nguồn của một chương trình. Trong khi đó, tệp .pyc chứa mã byte của chương trình của bạn. Chúng tôi nhận được mã byte sau khi biên dịch tệp .py (mã nguồn). Các tệp .pyc không được tạo cho tất cả các tệp mà bạn chạy. Nó chỉ được tạo cho các tệp mà bạn nhập.
  • Trước khi thực hiện một trình thông dịch Python chương trình Python, hãy kiểm tra các tệp được biên dịch. Nếu tập tin có mặt, máy ảo thực thi nó. Nếu không tìm thấy, nó sẽ kiểm tra tệp .py. Nếu được tìm thấy, hãy biên dịch nó vào tệp .pyc và sau đó máy ảo Python thực thi nó.
  • Có tệp .pyc giúp bạn tiết kiệm thời gian biên dịch.

32. Làm thế nào Python được giải thích?

  • Python như một ngôn ngữ không được giải thích hoặc biên soạn. Giải thích hoặc biên dịch là tài sản của việc thực hiện. Python là một mã byte (tập hợp các hướng dẫn có thể đọc được trình thông dịch) được giải thích chung.
  • Mã nguồn là một tập tin với tiện ích mở rộng .py.
  • Python biên dịch mã nguồn cho một tập hợp các hướng dẫn cho một máy ảo. Trình thông dịch Python là một triển khai của máy ảo đó. Định dạng trung gian này được gọi là mã byte mã.
  • Mã nguồn .Py đầu tiên được biên dịch để cung cấp cho .pyc là mã byte. Mã byte này sau đó có thể được giải thích bởi CPython hoặc JIT chính thức (chỉ trong trình biên dịch thời gian) được biên dịch bởi Pypy.

33. Làm thế nào các đối số được truyền theo giá trị hoặc bằng tham chiếu trong Python?

  • Vượt qua giá trị: Bản sao của đối tượng thực tế được thông qua. Thay đổi giá trị của bản sao của đối tượng sẽ không thay đổi giá trị của đối tượng gốc.: Copy of the actual object is passed. Changing the value of the copy of the object will not change the value of the original object.
  • Vượt qua tham chiếu: Tham khảo đối tượng thực tế được thông qua. Thay đổi giá trị của đối tượng mới sẽ thay đổi giá trị của đối tượng gốc.: Reference to the actual object is passed. Changing the value of the new object will change the value of the original object.

Trong Python, các đối số được truyền qua tham chiếu, tức là, tham chiếu đến đối tượng thực tế được truyền.

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
9

34. Người lặp trong Python là gì?

  • Một người lặp là một đối tượng.
  • Nó nhớ trạng thái của nó, tức là, nơi nó trong quá trình lặp (xem mã bên dưới để xem cách)
  • __iter __ () Phương thức khởi tạo một trình lặp.
  • Nó có một phương thức __next __ () trả về mục tiếp theo trong lần lặp và trỏ đến phần tử tiếp theo. Khi đạt đến phần cuối của đối tượng có thể lặp lại __next __ () phải trả lại ngoại lệ dừng lại.
  • Nó cũng là tự đơn giản.
  • Trình lặp là đối tượng mà chúng ta có thể lặp lại trên các đối tượng có thể lặp lại như danh sách, chuỗi, v.v.
# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
0

35. Giải thích cách xóa một tệp trong Python?

Sử dụng lệnh os.remove (file_name)os.remove(file_name)

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
1

36. Giải thích các hàm chia () và tham gia () trong Python?

  • Bạn có thể sử dụng hàm split () để phân chia một chuỗi dựa trên dấu phân cách cho danh sách các chuỗi.split() function to split a string based on a delimiter to a list of strings.
  • Bạn có thể sử dụng hàm Jop () để tham gia danh sách các chuỗi dựa trên dấu phân cách để đưa ra một chuỗi.join() function to join a list of strings based on a delimiter to give a single string.
# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
2

37. *Args và ** Kwargs có nghĩa là gì?

*args

  • *Args là một cú pháp đặc biệt được sử dụng trong định nghĩa hàm để truyền các đối số có độ dài biến.
  • Có nghĩa là chiều dài biến đổi và các đối tác là tên được sử dụng bởi quy ước. Bạn có thể sử dụng bất kỳ khác.
# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
3

**kwargs

  • ** KWARGS là một cú pháp đặc biệt được sử dụng trong định nghĩa hàm để truyền các đối số từ khóa có độ dài biến.
  • Ở đây, ngoài ra, Kw Kwargs, được sử dụng chỉ bằng quy ước. Bạn có thể sử dụng bất kỳ tên nào khác.
  • Đối số khóa có nghĩa là một biến có tên khi được truyền đến một hàm.
  • Nó thực sự là một từ điển của các tên biến và giá trị của nó.
# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
4

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

  • Các chỉ mục tiêu cực là các chỉ mục từ cuối danh sách hoặc tuple hoặc chuỗi.
  • Mảng [-1] có nghĩa là phần tử cuối cùng của mảng mảng [] means the last element of array Arr[]
# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
5

39. Làm thế nào để bạn tạo một lớp học trong Python?

Để tạo một lớp trong Python, chúng tôi sử dụng từ khóa lớp lớp như trong ví dụ dưới đây:

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
6

Để khởi tạo hoặc tạo một đối tượng từ lớp được tạo ở trên, chúng tôi làm như sau:

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
7

Để truy cập thuộc tính tên, chúng tôi chỉ cần gọi thuộc tính bằng toán tử DOT như được hiển thị bên dưới:

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
8

Để tạo các phương thức bên trong lớp, chúng tôi bao gồm các phương thức trong phạm vi của lớp như được hiển thị bên dưới:

# class definition
class Student:
   def __init__(self, fname, lname, age, section):
       self.firstname = fname
       self.lastname = lname
       self.age = age
       self.section = section
# creating a new object
stu1 = Student("Sara", "Ansh", 22, "A2")
9

Tham số tự trong các hàm init và giới thiệu biểu thị tham chiếu đến thể hiện lớp hiện tại được sử dụng để truy cập các thuộc tính và phương thức của lớp đó. Tham số tự phải là tham số đầu tiên của bất kỳ phương thức nào được xác định bên trong lớp. Phương pháp của lớp phỏng vấn có thể được truy cập như hình dưới đây:

pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
0

Chương trình tổng thể sẽ trông như thế này:

pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
1

40. Làm thế nào để thừa kế hoạt động trong Python? Giải thích nó với một ví dụ.

Kế thừa cung cấp sức mạnh cho một lớp để truy cập tất cả các thuộc tính và phương thức của một lớp khác. Nó hỗ trợ cho khả năng tái sử dụng mã và giúp nhà phát triển duy trì các ứng dụng mà không cần mã dự phòng. Lớp kế thừa từ một lớp khác là một lớp con hoặc còn được gọi là lớp dẫn xuất. Lớp mà một lớp trẻ em có được các thành viên được gọi là lớp cha hoặc siêu lớp.

Python hỗ trợ các loại kế thừa khác nhau, chúng là:

  • Bước thừa kế duy nhất: Lớp trẻ em có được thành viên của một lớp cha mẹ.: Child class derives members of one parent class.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
2
  • Di truyền đa cấp: Các thành viên của lớp cha, A, được thừa hưởng bởi lớp con sau đó được kế thừa bởi một lớp con khác, B. Ở đây, A là lớp ông của lớp C.The members of the parent class, A, are inherited by child class which is then inherited by another child class, B. The features of the base class and the derived class are further inherited into the new derived class, C. Here, A is the grandfather class of class C.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
3
  • Nhiều kế thừa: Điều này đạt được khi một lớp con có được thành viên từ nhiều lớp cha mẹ. Tất cả các tính năng của các lớp cha được kế thừa trong lớp con. This is achieved when one child class derives members from more than one parent class. All features of parent classes are inherited in the child class.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
4
  • Kế thừa phân cấp: Khi một lớp cha mẹ có nguồn gốc từ một lớp con, nó được gọi là thừa kế phân cấp.When a parent class is derived by more than one child class, it is called hierarchical inheritance.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
5

41. Làm thế nào để bạn truy cập các thành viên phụ huynh trong lớp con?

Sau đây là những cách sử dụng mà bạn có thể truy cập các thành viên lớp phụ huynh trong lớp con:

  • Bằng cách sử dụng tên lớp cha: bạn có thể sử dụng tên của lớp cha để truy cập các thuộc tính như trong ví dụ dưới đây: You can use the name of the parent class to access the attributes as shown in the example below:
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
6
  • Bằng cách sử dụng Super (): Các thành viên của lớp cha có thể được truy cập trong lớp con bằng từ khóa Super. The parent class members can be accessed in child class using the super keyword.
pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
7

42. Các nhà xác định truy cập có được sử dụng trong Python không?

Python không sử dụng các nhà xác định truy cập đặc biệt như riêng tư, công khai, được bảo vệ, v.v. Tuy nhiên, nó không lấy được điều này từ bất kỳ biến nào. Nó có khái niệm bắt chước hành vi của các biến bằng cách sử dụng một dấu gạch dưới (được bảo vệ) hoặc gấp đôi (riêng tư) làm tiền tố cho các tên biến. Theo mặc định, các biến không có tiền tố nhấn mạnh là công khai.

Example:

pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
8

43. Có thể gọi lớp phụ huynh mà không cần tạo trường hợp của nó không?

Có, có thể nếu lớp cơ sở được khởi tạo bởi các lớp con khác hoặc nếu lớp cơ sở là phương pháp tĩnh.

44. Làm thế nào một lớp trống được tạo ra trong Python?

Một lớp trống không có bất kỳ thành viên nào được xác định trong đó. Nó được tạo bằng cách sử dụng từ khóa Pass (lệnh Pass không làm gì trong Python). Chúng ta có thể tạo các đối tượng cho lớp này bên ngoài lớp. Ví dụ-
For example-

pat = [1, 3, 2, 1, 2, 3, 1, 0, 1, 3]
for p in pat:
   pass
   if (p == 0):
       current = p
       break
   elif (p % 2 == 0):
       continue
   print(p)    # output => 1 3 1 3 1
print(current)    # output => 0
9

Đầu ra: Tên được tạo = Phỏng vấnbit
Name created = Interviewbit

45. Phân biệt giữa các công cụ sửa đổi mới và ghi đè.

Công cụ sửa đổi mới được sử dụng để hướng dẫn trình biên dịch sử dụng triển khai mới chứ không phải chức năng lớp cơ sở. Trình sửa đổi ghi đè rất hữu ích để ghi đè chức năng lớp cơ sở bên trong lớp con.

46. ​​Tại sao hoàn thiện được sử dụng?

Phương pháp hoàn thiện được sử dụng để giải phóng các tài nguyên không được quản lý và dọn dẹp trước khi phương pháp thu gom rác được gọi. Điều này giúp thực hiện các nhiệm vụ quản lý bộ nhớ.

47. Phương pháp init trong Python là gì?

Phương pháp INIT hoạt động tương tự như các hàm tạo trong Java. Phương pháp được chạy ngay khi một đối tượng được khởi tạo. Nó rất hữu ích để khởi tạo bất kỳ thuộc tính hoặc hành vi mặc định nào của đối tượng tại thời điểm khởi tạo. Ví dụ:init method works similarly to the constructors in Java. The method is run as soon as an object is instantiated. It is useful for initializing any attributes or default behaviour of the object at the time of instantiation.
For example:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
0

48. Làm thế nào bạn sẽ kiểm tra xem một lớp học là một đứa trẻ của một lớp khác?

Điều này được thực hiện bằng cách sử dụng một phương thức gọi là ISSUBCLASS () do Python cung cấp. Phương thức cho chúng ta biết nếu bất kỳ lớp nào là một đứa trẻ của một lớp khác bằng cách trả về đúng hoặc sai phù hợp. Ví dụ:issubclass() provided by python. The method tells us if any class is a child of another class by returning true or false accordingly.
For example:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
1
  • Chúng ta có thể kiểm tra xem một đối tượng có phải là một thể hiện của một lớp bằng cách sử dụng phương thức isInstance ():isinstance() method:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
2

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

49. Bạn biết gì về gấu trúc?

  • Pandas là một thư viện dựa trên nguồn mở, dựa trên Python được sử dụng trong các ứng dụng thao tác dữ liệu đòi hỏi hiệu suất cao. Tên này có nguồn gốc từ dữ liệu bảng điều khiển có dữ liệu đa chiều. Điều này được phát triển vào năm 2008 bởi Wes McKinney và được phát triển để phân tích dữ liệu.
  • Gấu trúc rất hữu ích trong việc thực hiện 5 bước phân tích dữ liệu chính - tải dữ liệu, làm sạch/thao tác nó, chuẩn bị nó, mô hình hóa nó và phân tích dữ liệu.

50. Xác định gấu trúc DataFrame.

DataFrame là cấu trúc bảng điều khiển 2D và bảng để biểu diễn dữ liệu được dán nhãn với các trục - hàng và cột. Cú pháp để tạo DataFrame:
The syntax for creating dataframe:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
3

where:

  • Dữ liệu - đại diện cho các hình thức khác nhau như loạt, bản đồ, ndarray, danh sách, dict, v.v.
  • Chỉ mục - Đối số tùy chọn đại diện cho một chỉ mục cho các nhãn hàng.
  • Cột - Đối số tùy chọn cho nhãn cột.
  • DTYPE - Kiểu dữ liệu của mỗi cột. Một lần nữa tùy chọn.

51. Bạn sẽ kết hợp các khung dữ liệu gấu trúc khác nhau như thế nào?

DataFrames có thể được kết hợp bằng cách sử dụng các cách tiếp cận dưới đây:

  • Phương thức nối (): Điều này được sử dụng để xếp các khung dữ liệu theo chiều ngang. Cú pháp:: This is used to stack the dataframes horizontally. Syntax:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
4
  • Phương thức Concat (): Điều này được sử dụng để xếp các khung dữ liệu theo chiều dọc. Điều này được sử dụng tốt nhất khi các khung dữ liệu có cùng các cột và các trường tương tự. Cú pháp:This is used to stack dataframes vertically. This is best used when the dataframes have the same columns and similar fields. Syntax:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
5
  • Phương thức tham gia (): Điều này được sử dụng để trích xuất dữ liệu từ các khung dữ liệu khác nhau có một hoặc nhiều cột phổ biến.This is used for extracting data from various dataframes having one or more common columns.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
6

52. Bạn có thể tạo một chuỗi từ đối tượng từ điển trong gấu trúc không?

Mảng một chiều có khả năng lưu trữ các loại dữ liệu khác nhau được gọi là một chuỗi. Chúng ta có thể tạo chuỗi gấu trúc từ một đối tượng từ điển như hình dưới đây:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
7

Nếu một chỉ mục không được chỉ định trong phương thức đầu vào, thì các khóa của từ điển được sắp xếp theo thứ tự tăng dần để xây dựng chỉ mục. Trong trường hợp chỉ số được truyền, thì các giá trị của nhãn chỉ mục sẽ được trích xuất từ ​​từ điển.

53. Làm thế nào bạn sẽ xác định và xử lý các giá trị bị thiếu trong DataFrame?

Chúng ta có thể xác định nếu một khung dữ liệu có các giá trị bị thiếu bằng cách sử dụng các phương thức isnull () và isna ().

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
8

Chúng ta có thể xử lý các giá trị bị thiếu bằng cách thay thế các giá trị trong cột bằng 0 như sau:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(numbers[1 : : 2])  #output : [2, 4, 6, 8, 10]
9

Hoặc bằng cách thay thế nó bằng giá trị trung bình của cột

import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
0

54. Bạn hiểu gì khi tái xuất trong gấu trúc?

Reindexing là quá trình phù hợp với DataFrame với một chỉ mục mới với logic điền tùy chọn. Nếu các giá trị bị thiếu trong chỉ số trước, thì NAN/NA được đặt ở vị trí. Một đối tượng mới được trả về trừ khi một chỉ mục mới được tạo ra tương đương với mục tiêu hiện tại. Giá trị bản sao được đặt thành sai. Điều này cũng được sử dụng để thay đổi chỉ mục của các hàng và cột trong DataFrame.

55. Làm thế nào để thêm cột mới vào Pandas DataFrame?

Một cột mới có thể được thêm vào DataFrame Pandas như sau:

import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
1

56. Làm thế nào bạn sẽ xóa các chỉ số, hàng và cột khỏi một khung dữ liệu?

Để xóa một chỉ mục:

  • Thực thi
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    33 để xóa chỉ mục theo tên.
  • Ngoài ra,
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    34 có thể được gán cho không có.
  • Ví dụ: nếu bạn có DataFrame dưới đây:
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
2
  • Để bỏ tên chỉ mục tên tên trực tuyến:
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
3

Để xóa hàng/cột khỏi DataFrame:

  • Phương thức
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    35 được sử dụng để xóa hàng/cột khỏi DataFrame.
  • Đối số trục được chuyển đến phương thức thả trong đó nếu giá trị là 0, nó cho biết việc thả/xóa một hàng và nếu 1 nó phải thả cột.
  • Ngoài ra, chúng ta có thể cố gắng xóa các hàng/cột tại chỗ bằng cách đặt giá trị tại chỗ thành true. Điều này đảm bảo rằng công việc được thực hiện mà không cần phải phân công lại.
  • Các giá trị trùng lặp từ hàng/cột có thể bị xóa bằng cách sử dụng phương thức
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    36.
Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

57. Bạn có thể nhận được các mục của Series A không có sẵn trong một loạt B khác không?

Điều này có thể đạt được bằng cách sử dụng phương pháp

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
37 (không/phủ định) và phương thức
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
38 như hình dưới đây.

import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
4

58. Làm thế nào bạn sẽ có được các mục không phổ biến cho cả Series A và B đã cho?

Chúng ta có thể đạt được điều này bằng cách đầu tiên thực hiện liên minh của cả hai loạt, sau đó thực hiện giao điểm của cả hai loạt. Sau đó, chúng tôi làm theo cách tiếp cận của việc có được các mục của Liên minh không có trong danh sách giao lộ.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

Mã sau đây cho thấy điều này:

import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
5

59. Trong khi nhập dữ liệu từ các nguồn khác nhau, thư viện PANDAS có thể nhận ra ngày không?

Vâng, họ có thể, nhưng với một số trợ giúp. Chúng ta cần thêm đối số parse_dates trong khi chúng ta đang đọc dữ liệu từ các nguồn. Hãy xem xét một ví dụ trong đó chúng tôi đọc dữ liệu từ tệp CSV, chúng tôi có thể gặp các định dạng thời gian ngày khác nhau không thể đọc được bởi thư viện Pandas. Trong trường hợp này, Pandas cung cấp sự linh hoạt để xây dựng trình phân tích cú pháp ngày tùy chỉnh của chúng tôi với sự trợ giúp của các chức năng Lambda như hình dưới đây:

import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
6

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

60. Bạn hiểu gì bởi Numpy?

Numpy là một trong những gói phổ biến nhất, dễ sử dụng, đa năng, nguồn mở, dựa trên Python, được sử dụng để xử lý các mảng. Numpy là viết tắt của Python số. Điều này rất nổi tiếng với các công cụ được tối ưu hóa cao, dẫn đến tính năng xử lý mảng N chiều hiệu suất cao và mạnh mẽ được thiết kế rõ ràng để hoạt động trên các mảng phức tạp. Do sự phổ biến và hiệu suất mạnh mẽ và tính linh hoạt của nó để thực hiện các hoạt động khác nhau như hoạt động lượng giác, đại số và tính toán thống kê, nó được sử dụng phổ biến nhất trong việc thực hiện các tính toán khoa học và các chức năng phát sóng khác nhau. Hình ảnh sau đây cho thấy các ứng dụng của Numpy:

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

61. Mảng numpy có lợi thế như thế nào trong danh sách Python?

  • Cấu trúc dữ liệu danh sách của Python rất hiệu quả và có khả năng thực hiện các chức năng khác nhau. Nhưng, chúng có những hạn chế nghiêm trọng khi tính toán các hoạt động vector hóa liên quan đến phép nhân và bổ sung yếu tố. Danh sách Python cũng yêu cầu thông tin liên quan đến loại của mọi yếu tố dẫn đến chi phí khi mã gửi loại được thực thi mỗi khi bất kỳ hoạt động nào được thực hiện trên bất kỳ phần tử nào. Đây là nơi các mảng numpy đi vào hình ảnh vì tất cả các hạn chế của danh sách python được xử lý trong các mảng numpy.
  • Ngoài ra, khi kích thước của các mảng numpy tăng lên, Numpy trở nên nhanh hơn khoảng 30 lần so với danh sách Python. Điều này là do các mảng numpy được đóng gói dày đặc trong bộ nhớ do bản chất đồng nhất của chúng. Điều này đảm bảo bộ nhớ miễn phí cũng nhanh hơn.

62. Các bước để tạo mảng 1D, 2D và 3D là gì?

  • Tạo mảng 1D:
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
7
  • Tạo mảng 2D:
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
8
  • Tạo mảng 3D:
import array
a = array.array('i', [1, 2, 3])
for i in a:
    print(i, end=' ')    #OUTPUT: 1 2 3
a = array.array('i', [1, 2, 'string'])    #OUTPUT: TypeError: an integer is required (got type str)
a = [1, 2, 'string']
for i in a:
   print(i, end=' ')    #OUTPUT: 1 2 string
9
  • Tạo mảng ND: Điều này có thể đạt được bằng cách đưa ra thuộc tính NDMIN. Ví dụ dưới đây cho thấy việc tạo ra một mảng 6D:This can be achieved by giving the ndmin attribute. The below example demonstrates the creation of a 6D array:
temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
0

63. Bạn được cung cấp một mảng numpy và một cột mới làm đầu vào. Làm thế nào bạn sẽ xóa cột thứ hai và thay thế cột bằng một giá trị cột mới?

Ví dụ: Mảng đã cho:
Given array:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
1

Giá trị cột mới:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
2

Solution:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
3

64. Bạn sẽ tải dữ liệu hiệu quả như thế nào từ tệp văn bản?

Chúng ta có thể sử dụng phương thức

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
39 có thể tự động đọc các dòng tiêu đề và chân trang của tệp và các nhận xét nếu có.

Phương pháp này có hiệu quả cao và ngay cả khi phương pháp này cảm thấy kém hiệu quả hơn, thì dữ liệu phải được biểu diễn theo định dạng hiệu quả hơn như CSV, v.v ... Các lựa chọn thay thế khác nhau có thể được xem xét tùy thuộc vào phiên bản Numpy được sử dụng.

Sau đây là các định dạng tệp được hỗ trợ:

  • Tệp văn bản: Các tệp này thường rất chậm, lớn nhưng di động và có thể đọc được của con người.
  • Raw nhị phân: Tệp này không có siêu dữ liệu và không di động. Nhưng họ rất nhanh.
  • Pickle: Đây là đường biên chậm và di động nhưng phụ thuộc vào các phiên bản numpy.
  • HDF5: Điều này được gọi là định dạng bồn rửa nhà bếp công suất cao hỗ trợ cả pytables và định dạng H5PY.
  • .npy: Đây là định dạng dữ liệu nhị phân gốc của Numpy cực kỳ đơn giản, hiệu quả và di động.

65. Làm thế nào bạn sẽ đọc dữ liệu CSV vào một mảng trong Numpy?

Điều này có thể đạt được bằng cách sử dụng phương thức GenFromTxt () bằng cách đặt dấu phân cách làm dấu phẩy.

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
4

66. Làm thế nào bạn sẽ sắp xếp mảng dựa trên cột thứ n?

Ví dụ, hãy xem xét một mảng mảng.

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
5

Chúng ta hãy cố gắng sắp xếp các hàng theo cột thứ 2 để chúng ta nhận được:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
6

Chúng ta có thể thực hiện điều này bằng cách sử dụng phương thức sort () trong Numpy như:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
7

Chúng tôi cũng có thể thực hiện việc sắp xếp và điều đó quá sắp xếp bằng cách thực hiện:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
8

67. Làm thế nào bạn sẽ tìm thấy giá trị gần nhất trong một mảng numpy nhất định?

Chúng ta có thể sử dụng phương thức argmin () của Numpy như hình dưới đây:

temp = 10   # global-scope variable
def func():
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 10
9

68. Làm thế nào bạn sẽ đảo ngược mảng Numpy bằng một dòng mã?

Điều này có thể được thực hiện như thể hiện sau:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
0

Trong đó ARR = mảng nguyên bản đã cho, Reverse_array là kết quả sau khi đảo ngược tất cả các phần tử trong đầu vào.arr = original given array, reverse_array is the resultant after reversing all elements in the input.

69. Làm thế nào bạn sẽ tìm thấy hình dạng của bất kỳ mảng numpy nào?

Chúng ta có thể sử dụng thuộc tính hình dạng của mảng numpy để tìm hình dạng. Nó trả về hình dạng của mảng theo số lượng hàng và số cột của mảng.

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
1

Các câu hỏi phỏng vấn thư viện Python

70. Phân biệt giữa một gói và một mô -đun trong Python.

Mô -đun là một tệp Python duy nhất. Một mô -đun có thể nhập các mô -đun khác (các tệp Python khác) dưới dạng đối tượng. Trong khi đó, một gói là thư mục/thư mục nơi các gói phụ khác nhau và các mô-đun nằm.

Một mô -đun Python được tạo bằng cách lưu một tệp với phần mở rộng

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
40. Tệp này sẽ có các lớp và chức năng có thể tái sử dụng trong mã cũng như trên các mô -đun.

Gói Python được tạo bằng cách làm theo các bước dưới đây:

  • Tạo một thư mục và đặt một tên hợp lệ đại diện cho hoạt động của nó.
  • Đặt các mô -đun một loại trong thư mục này.
  • Tạo tệp
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    41 trong thư mục này. Điều này cho phép Python biết thư mục chúng tôi tạo là một gói. Nội dung của gói này có thể được nhập trên các mô -đun khác nhau trong các gói khác để sử dụng lại chức năng.

71. Một số mô-đun tích hợp được sử dụng phổ biến nhất trong Python là gì?

Các mô -đun Python là các tệp có mã Python có thể là các hàm, biến hoặc lớp. Chúng đi theo .Py mở rộng. Các mô-đun tích hợp phổ biến nhất có sẵn là:

  • hệ điều hành
  • môn Toán
  • sys
  • ngẫu nhiên
  • lại
  • ngày giờ
  • Json

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

Các hàm Lambda thường là nội tuyến, các hàm ẩn danh được biểu thị bằng một biểu thức duy nhất. Chúng được sử dụng để tạo các đối tượng chức năng trong thời gian chạy. Họ có thể chấp nhận bất kỳ số lượng tham số. Chúng thường được sử dụng khi các chức năng chỉ được yêu cầu trong một thời gian ngắn. Chúng có thể được sử dụng như:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
2

73. Làm thế nào bạn có thể tạo ra các số ngẫu nhiên?

Python cung cấp một mô -đun gọi là ngẫu nhiên bằng cách sử dụng mà chúng ta có thể tạo ra các số ngẫu nhiên.

  • Chúng tôi phải nhập một mô -đun ngẫu nhiên và gọi phương thức
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    42 như được hiển thị bên dưới:
    • Phương thức ngẫu nhiên () tạo ra các giá trị nổi nằm ngẫu nhiên trong khoảng từ 0 đến 1.
temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
3
  • Để tạo các số ngẫu nhiên tùy chỉnh giữa các phạm vi được chỉ định, chúng ta có thể sử dụng phương thức
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    43.syntax:
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    44 cho ví dụ:
    Syntax:
    def myEmptyFunc():
       # do nothing
       pass
    myEmptyFunc()    # nothing happens
    ## Without the pass keyword
    # File "", line 3
    # IndentationError: expected an indented block
    44
    For example:
temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
4

74. Bạn có thể dễ dàng kiểm tra xem tất cả các ký tự trong chuỗi đã cho là chữ và số không?

Điều này có thể dễ dàng thực hiện bằng cách sử dụng phương thức isalNum () trả về true trong trường hợp chuỗi chỉ có ký tự chữ và số.

Ví dụ -

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
5

Một cách khác là sử dụng phương thức

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
45 từ mô -đun RE (Regex) như được hiển thị:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
6

75. Sự khác biệt giữa pickling và không có gì?

Pickling là sự chuyển đổi của các đối tượng Python sang dạng nhị phân. Trong khi đó, việc không gặp phải là chuyển đổi dữ liệu dạng nhị phân thành các đối tượng Python. Các đối tượng ngâm được sử dụng để lưu trữ trong các đĩa hoặc vị trí bộ nhớ ngoài. Các đối tượng không được sử dụng để lấy lại dữ liệu dưới dạng các đối tượng Python khi xử lý có thể được thực hiện trong Python.

Python cung cấp một mô -đun

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
46 để đạt được điều này. Pickling sử dụng phương pháp
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
28 để đổ các đối tượng Python vào các đĩa. Unpickling sử dụng phương thức
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
29 để lấy lại dữ liệu dưới dạng các đối tượng Python.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

76. Xác định Gil.

Gil là viết tắt của khóa phiên dịch toàn cầu. Đây là một mutex được sử dụng để giới hạn quyền truy cập vào các đối tượng Python và AIDS trong việc đồng bộ hóa luồng hiệu quả bằng cách tránh bế tắc. Gil giúp đạt được đa nhiệm (và không tính toán song song). Biểu đồ sau đại diện cho cách Gil hoạt động.

Hướng dẫn what are the questions asked for python developer in interview? - những câu hỏi đặt ra cho nhà phát triển python trong cuộc phỏng vấn là gì?

Dựa trên sơ đồ trên, có ba chủ đề. Chủ đề đầu tiên có được Gil trước và bắt đầu thực thi I/O. Khi các hoạt động I/O được thực hiện, luồng 1 sẽ phát hành Gil thu được sau đó được đưa lên bởi luồng thứ hai. Quá trình lặp lại và GIL được sử dụng bởi các luồng khác nhau cho đến khi các luồng hoàn thành việc thực thi của chúng. Các luồng không có khóa Gil đi vào trạng thái chờ và chỉ tiếp tục thực thi khi nó có được khóa.

77. Xác định Pythonpath.

Đây là một biến môi trường được sử dụng để kết hợp các thư mục bổ sung trong quá trình nhập mô -đun hoặc gói. Pythonpath được sử dụng để kiểm tra xem các gói hoặc mô -đun đã nhập có sẵn trong các thư mục hiện có. Không chỉ vậy, trình thông dịch sử dụng biến môi trường này để xác định mô -đun nào cần được tải.

78. Xác định PIP.

PIP là viết tắt của gói cài đặt Python. Như tên chỉ ra, nó được sử dụng để cài đặt các mô -đun Python khác nhau. Đây là một công cụ dòng lệnh cung cấp giao diện liền mạch để cài đặt các mô-đun Python khác nhau. Nó tìm kiếm qua Internet cho gói và cài đặt chúng vào thư mục làm việc mà không cần bất kỳ tương tác nào với người dùng. Cú pháp cho điều này là:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
7

79. Có công cụ nào để xác định lỗi và thực hiện phân tích tĩnh trong Python không?

Có, có các công cụ như pychecker và pylint được sử dụng như các công cụ phân tích tĩnh và lớp lót tương ứng. PyChecker giúp tìm các lỗi trong các tệp mã nguồn Python và tăng cảnh báo cho các vấn đề về mã và độ phức tạp của chúng. Pylint kiểm tra các tiêu chuẩn mã hóa mô -đun và hỗ trợ các plugin khác nhau để cho phép các tính năng tùy chỉnh đáp ứng yêu cầu này.

80. Phân biệt giữa các bản sao sâu và nông.

  • Bản sao nông thực hiện nhiệm vụ tạo các đối tượng mới lưu trữ tài liệu tham khảo của các yếu tố gốc. Điều này không trải qua đệ quy để tạo các bản sao của các đối tượng lồng nhau. Nó chỉ sao chép các chi tiết tham chiếu của các đối tượng lồng nhau.
  • Bản sao sâu tạo ra một bản sao độc lập và mới của một đối tượng và thậm chí sao chép tất cả các đối tượng lồng nhau của phần tử gốc đệ quy.

81. Chức năng chính trong Python là gì? Làm thế nào để bạn gọi nó?

Trong thế giới của các ngôn ngữ lập trình, chính được coi là điểm thực hiện cho một chương trình. Nhưng trong Python, người ta biết rằng trình thông dịch giải thích theo từng dòng tệp. Điều này có nghĩa là Python không cung cấp chức năng

def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
49 một cách rõ ràng. Nhưng điều này không có nghĩa là chúng ta không thể mô phỏng việc thực hiện chính. Điều này có thể được thực hiện bằng cách xác định hàm
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
49 do người dùng xác định và bằng cách sử dụng thuộc tính
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
51 của tệp Python. Biến
def myEmptyFunc():
   # do nothing
   pass
myEmptyFunc()    # nothing happens
## Without the pass keyword
# File "", line 3
# IndentationError: expected an indented block
51 này là một biến tích hợp đặc biệt chỉ vào tên của mô-đun hiện tại. Điều này có thể được thực hiện như hình dưới đây:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
8

Ví dụ lập trình Python

82. Viết hàm Python có một số lượng đối số khác nhau.

Một hàm có các đối số biến được gọi là nguyên mẫu chức năng. Cú pháp:

temp = 10   # global-scope variable
def func():
     global temp
     temp = 20   # local-scope variable
     print(temp)
print(temp)   # output => 10
func()    # output => 20
print(temp)   # output => 20
9

Ví dụ:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
0

* Trong đối số hàm đại diện cho các đối số biến trong hàm.

83. WAP (Viết một chương trình) có một chuỗi các số và kiểm tra xem tất cả các số là duy nhất.

Bạn có thể thực hiện điều này bằng cách chuyển đổi danh sách thành được đặt bằng cách sử dụng phương thức set () và so sánh độ dài của tập hợp này với độ dài của danh sách ban đầu. Nếu được tìm thấy bằng nhau, trả về đúng.

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
1

84. Viết một chương trình để đếm số lượng của mỗi ký tự của một tệp văn bản nhất định.

Ý tưởng là sử dụng các bộ sưu tập và mô -đun Pprint như hình dưới đây:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
2

85. Viết một chương trình để kiểm tra và trả về các cặp của một mảng đã cho một giá trị tổng của có bằng giá trị đích N.

Điều này có thể được thực hiện dễ dàng bằng cách sử dụng hiện tượng băm. Chúng ta có thể sử dụng bản đồ băm để kiểm tra giá trị hiện tại của mảng, x. Nếu bản đồ có giá trị của (n-x), thì có cặp của chúng tôi.

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
3

86. Viết một chương trình để thêm hai số nguyên> 0 mà không cần sử dụng toán tử cộng.

Chúng ta có thể sử dụng các nhà khai thác bitwise để đạt được điều này.

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
4

87. Viết một chương trình để giải phương trình đã cho giả sử rằng a, b, c, m, n, o là hằng số:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
5

Bằng cách giải phương trình, chúng ta nhận được:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
6

88. Viết một chương trình để khớp với một chuỗi có chữ ’A, sau đó là 4 đến 8 'b.

Chúng ta có thể sử dụng mô -đun RE của Python để thực hiện so sánh mẫu regex ở đây.

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
7

89. Viết một chương trình để chuyển đổi ngày từ định dạng Yyyy-MM-DD sang định dạng DD-MM-YYYY.

Chúng ta có thể sử dụng lại mô -đun RE để chuyển đổi chuỗi ngày như hình bên dưới:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
8

Bạn cũng có thể sử dụng mô -đun DateTime như được hiển thị bên dưới:

# decorator function to convert to lowercase
def lowercase_decorator(function):
   def wrapper():
       func = function()
       string_lowercase = func.lower()
       return string_lowercase
   return wrapper
# decorator function to split words
def splitter_decorator(function):
   def wrapper():
       func = function()
       string_split = func.split()
       return string_split
   return wrapper
@splitter_decorator # this is executed next
@lowercase_decorator # this is executed first
def hello():
   return 'Hello World'
hello()   # output => [ 'hello' , 'world' ]
9

90. Viết một chương trình để kết hợp hai từ điển khác nhau. Trong khi kết hợp, nếu bạn tìm thấy cùng một khóa, bạn có thể thêm các giá trị của các khóa tương tự. Đầu ra từ điển mới

Chúng ta có thể sử dụng phương thức bộ đếm từ mô -đun bộ sưu tập

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
0

91. Làm thế nào bạn sẽ truy cập bộ dữ liệu của bảng tính được chia sẻ công khai ở định dạng CSV được lưu trữ trong Google Drive?

Chúng ta có thể sử dụng mô -đun StringIO từ mô -đun IO để đọc từ liên kết Google Drive và sau đó chúng ta có thể sử dụng thư viện Pandas bằng nguồn dữ liệu thu được.

# decorator function to capitalize names
def names_decorator(function):
   def wrapper(arg1, arg2):
       arg1 = arg1.capitalize()
       arg2 = arg2.capitalize()
       string_hello = function(arg1, arg2)
       return string_hello
   return wrapper
@names_decorator
def say_hello(name1, name2):
   return 'Hello ' + name1 + '! Hello ' + name2 + '!'
say_hello('sara', 'ansh')   # output => 'Hello Sara! Hello Ansh!'
1

Conclusion:

Trong bài viết này, chúng tôi đã thấy các câu hỏi phỏng vấn thường được hỏi cho một nhà phát triển Python. Những câu hỏi này cùng với các buổi thực hành vấn đề thường xuyên sẽ giúp bạn bẻ khóa bất kỳ cuộc phỏng vấn dựa trên Python nào. Trong những năm qua, Python đã trở nên phổ biến trong cộng đồng nhà phát triển do sự đơn giản và khả năng hỗ trợ các tính toán mạnh mẽ. Do đó, nhu cầu về các nhà phát triển Python tốt ngày càng tăng. Tuy nhiên, để đề cập đến, các đặc quyền của một nhà phát triển Python thực sự tốt. Cùng với kiến ​​thức lý thuyết trong Python, có một sự nhấn mạnh vào khả năng viết mã chất lượng tốt là tốt. Vì vậy, hãy tiếp tục học hỏi và tiếp tục thực hành các vấn đề và không nghi ngờ gì, bạn có thể bẻ khóa bất kỳ cuộc phỏng vấn.

Tài nguyên quan trọng:

  • Các chương trình cơ bản của Python
  • Python MCQ
  • Các lệnh Python
  • Nhà phát triển Python tiếp tục
  • Dự án Python
  • Sự khác biệt giữa Python 2 và 3
  • Khung Python
  • Tài liệu Python
  • Hướng dẫn Numpy
  • Python vs r
  • Python vs JavaScript
  • Sự khác biệt giữa C và Python
  • Python vs Java
  • Các tính năng của Python
  • Golang vs Python
  • Kỹ năng phát triển Python

Python MCQ

Các lệnh Python

Nhà phát triển Python tiếp tục

Dự án Python

Sự khác biệt giữa Python 2 và 3

Khung Python

Tài liệu Python

Hướng dẫn Numpy

Python vs r

Python vs JavaScript

Sự khác biệt giữa C và Python

Python vs Java

Các tính năng của Python

100000000000000000000

1e+20

100000000000000000000.0

1.0e+20

Golang vs Python

Kỹ năng phát triển Python

list1 = [3,4,5,2,1]

list1 = [3,4,5,2,0]

list1 = [3,5,2,1,0]

list1 = [3,4,5,2]

"Chào thế giới"

"Thế giới xin chào"

"Dlrow olleh"

"Olleh Dlrow"

Danh sách là một loại dữ liệu trình tự, trong khi Tuple thì không.

Tuples có thể thay đổi nhưng danh sách là bất biến.

Tuple là một kiểu dữ liệu chuỗi, trong khi danh sách thì không.

Danh sách là có thể thay đổi nhưng bộ dữ liệu là bất biến.

__init__ được gọi là thủ công trên tạo đối tượng.

__init__ là một phương pháp xây dựng trong Python.

Tất cả các lớp có một phương pháp __init__ liên quan đến chúng.

__init__ phân bổ bộ nhớ cho các đối tượng.

dưa chua.save ()

Pickle.Store ()

dưa chua.pickle ()

dưa chua.dump ()

Thời gian hiện tại tính bằng mili giây kể từ nửa đêm, ngày 1 tháng 1 năm 1970.

Thời gian hiện tại tính bằng mili giây kể từ nửa đêm, ngày 1 tháng 1 năm 1970 GMT (giờ UNIX).

4 8 24

4 4 64

4 8 64

Không có điều nào ở trên

(Không, đúng, ‘IB007,)

(‘Nhân viên Mr, đúng,‘ IB007,)

.

Lỗi runtime

pd.read_csv (Hồi sample_file.csv, mã hóa = ‘utf-8,)

pd.read_csv (Hồi sample_file.csv, nén = ‘gzip,)

pd.read_csv (Hồi sample_file.csv, Phương ngữ = ‘dấu phẩy))

Không có điều nào ở trên

(Không, đúng, ‘IB007,)

(‘Nhân viên Mr, đúng,‘ IB007,)

.

Lỗi runtime

pd.read_csv (Hồi sample_file.csv, mã hóa = ‘utf-8,)

pd.read_csv (Hồi sample_file.csv, nén = ‘gzip,)

pd.read_csv (Hồi sample_file.csv, Phương ngữ = ‘dấu phẩy))

DF.EmptyFrame

df.blank

df.isempty

df.empty

NP.Search (sê -ri_data % 5)

np.find (series_data % 5 == 0)

np.arg where (series_data % 5 == 0)

NP.Locate (sê -ri_data % 5)

XYZ ABC

5

Lỗi runtime

pd.read_csv (Hồi sample_file.csv, mã hóa = ‘utf-8,)

3

Làm thế nào để tôi chuẩn bị cho một cuộc phỏng vấn của nhà phát triển Python?

Để bẻ khóa cuộc phỏng vấn nhà phát triển Python của bạn, bạn cần làm theo các bước này..
Xem xét cấu trúc dữ liệu và thuật toán nếu bạn chưa có. ....
Biết cách viết mã trên bảng trắng hoặc giấy. ....
Thể hiện các dự án sở thích của bạn. ....
Có một sự hiểu biết cơ bản về công nghệ mặt trước là rất quan trọng (HTML5, CSS3, JavaScript).

Làm thế nào để tôi chuẩn bị cho một cuộc phỏng vấn nhà phát triển Python Junior?

Dưới đây là những chủ đề bạn có thể mong đợi trong cuộc phỏng vấn xin việc của bạn:..
Vòng lặp đơn giản. Các vòng lặp là một trong những cấu trúc mã phổ biến nhất. ....
Liệt kê lập chỉ mục và cắt lát. Danh sách được sử dụng trong Python cho nhiều nhiệm vụ; Biết cách tạo và thao túng chúng là điều cần thiết. ....
Từ điển. ....
Hoạt động tập tin. ....
Chuỗi hoạt động. ....
Các lớp học và đối tượng ..

Các câu hỏi Python được hỏi trong cuộc phỏng vấn TCS là gì?

TCS - Câu hỏi phỏng vấn Python..
Có tương đương với scanf () hoặc sscanf () không.....
Chỉ số tiêu cực là gì?....
Làm thế nào để bạn tạo ra một mảng trong Python?....
Bản thân là gì?....
Các biến toàn cầu và địa phương trong Python là gì?....
Liệu Python sử dụng các nhà xác định truy cập.....
Hai câu lệnh chính là gì?....
Phân biệt giữa Scipy và Numpy ?.