Câu hỏi phỏng vấn quản lý bộ nhớ python

Câu hỏi và câu trả lời phỏng vấn Python

1] What is Python? What are the benefits of using Python?

Ans. Python là ngôn ngữ lập trình với các đối tượng, mô-đun, luồng, ngoại lệ và quản lý bộ nhớ tự động. Lợi ích của python là nó đơn giản và dễ dàng, có thể di chuyển, có thể mở rộng, cấu trúc dữ liệu tích hợp và nó là một mã nguồn mở

2]  PEP 8 là gì?

Ans. PEP 8 là một quy ước mã hóa, một bộ khuyến nghị, về cách viết mã Python của bạn dễ đọc hơn

3] Tẩy và tẩy là gì?

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

4] Python được hiểu như thế nào?

trả lời.  Python language is an interpreted language. Chương trình Python chạy trực tiếp từ mã nguồn. Nó chuyển đổi mã nguồn do lập trình viên viết thành ngôn ngữ trung gian, ngôn ngữ này lại được dịch sang ngôn ngữ máy để thực thi

5] How memory is managed in Python?

trả lời. Bộ nhớ Python được quản lý bởi không gian heap riêng của Python. Tất cả các đối tượng Python và cấu trúc dữ liệu được đặt trong một đống riêng. Lập trình viên không có quyền truy cập vào vùng riêng tư này và trình thông dịch sẽ xử lý vùng riêng tư Python này

Việc phân bổ không gian heap Python cho các đối tượng Python được thực hiện bởi trình quản lý bộ nhớ Python. API cốt lõi cấp quyền truy cập vào một số công cụ để lập trình viên viết mã

Python cũng có một trình thu gom rác sẵn có, giúp tái chế tất cả bộ nhớ không sử dụng và giải phóng bộ nhớ và cung cấp bộ nhớ cho không gian heap

6] Các công cụ giúp tìm lỗi hoặc thực hiện phân tích tĩnh là gì?

trả lời. PyChecker là một công cụ phân tích tĩnh phát hiện lỗi trong mã nguồn Python và cảnh báo về kiểu dáng và độ phức tạp của lỗi.  Pylint is another tool that verifies whether the module meets the coding standard

7] Trình trang trí Python là gì?

trả lời. Trình trang trí Python là một thay đổi cụ thể mà chúng tôi thực hiện theo cú pháp Python để thay đổi chức năng một cách dễ dàng

8] Sự khác biệt giữa danh sách và bộ dữ liệu là gì?

trả lời. Sự khác biệt giữa danh sách và bộ dữ liệu là danh sách có thể thay đổi trong khi bộ dữ liệu thì không. Tuple can be hashed for e. g làm khóa cho từ điển

9] How are arguments passed by value or by reference?

Ans. Mọi thứ trong Python là một đối tượng và tất cả các biến giữ tham chiếu đến các đối tượng. Các giá trị tham chiếu là theo các chức năng; . Tuy nhiên, bạn có thể thay đổi các đối tượng nếu nó có thể thay đổi được

10] Khả năng hiểu Dict và List là gì?

trả lời.  They are syntax constructions to ease the creation of a Dictionary or List based on existing iterable

11] What are the built-in type does python provides?

Ans.  There are mutable and Immutable types of Pythons built in types Mutable built-in types

  • Danh sách
  • bộ
  • Dictionaries

Các loại tích hợp không thể thay đổi

  • Strings
  • bộ dữ liệu
  • Numbers

12] What is namespace in Python?

trả lời.  In Python, every name introduced has a place where it lives and can be hooked for. This is known as namespace. It is like a box where a variable name is mapped to the object placed.  Whenever the variable is searched out, this box will be searched, to get corresponding object

13] What is lambda in Python?

Ans.  It is a single expression anonymous function often used as inline function

14] Why lambda forms in python does not have statements?

Ans. A lambda form in python does not have statements as it is used to make new function object and then return them at runtime

15] What is pass in Python?

Ans.  Pass means, no-operation Python statement, or in other words it is a place holder in compound statement, where there should be a blank left and nothing has to be written there

16] In Python what are iterators?

Ans.  In Python, iterators are used to iterate a group of elements, containers like list

17] What is unittest in Python?

trả lời.  A unit testing framework in Python is known as unittest.   It supports sharing of setups, automation testing, shutdown code for tests, aggregation of tests into collections etc

18] In Python what is slicing?

Ans.  A mechanism to select a range of items from sequence types like list, tuple, strings etc. is known as slicing

19] What are generators in Python?

Ans.  The way of implementing iterators are known as generators.   It is a normal function except that it yields expression in the function

20] What is docstring in Python?

Ans.  A Python documentation string is known as docstring, it is a way of documenting Python functions, modules and classes

21]  How can you copy an object in Python?

Ans.  To copy an object in Python, you can try copy. copy [] or copy. deepcopy[] for the general case. You cannot copy all objects but most of them

22] What is negative index in Python?

Ans.  Python sequences can be index in positive and negative numbers.  For positive index, 0 is the first index, 1 is the second index and so forth.   For negative index, [-1] is the last index and [-2] is the second last index and so forth

23] How you can convert a number to a string?

Ans.  In order to convert a number into a string, use the inbuilt function str[].   If you want a octal or hexadecimal representation, use the inbuilt function oct[] or hex[]

24] What is the difference between Xrange and range?

Ans.  Xrange returns the xrange object while range returns the list, and uses the same memory and no matter what the range size is

25] What is module and package in Python?

Ans.  In Python, module is the way to structure program. Each Python program file is a module, which imports other modules like objects and attributes

The folder of Python program is a package of modules. Một gói có thể có các mô-đun hoặc thư mục con

26] Đề cập đến các quy tắc cho biến cục bộ và biến toàn cục trong Python là gì?

trả lời. Biến cục bộ. Nếu một biến được gán một giá trị mới ở bất kỳ đâu trong phần thân của hàm, thì biến đó được coi là cục bộ

biến toàn cầu. Những biến chỉ được tham chiếu bên trong một hàm là toàn cục

27] Làm cách nào bạn có thể chia sẻ các biến toàn cục giữa các mô-đun?

trả lời. Để chia sẻ các biến toàn cục giữa các mô-đun trong một chương trình, hãy tạo một mô-đun đặc biệt. Nhập mô-đun cấu hình trong tất cả các mô-đun của ứng dụng của bạn. Mô-đun sẽ có sẵn dưới dạng biến toàn cục trên các mô-đun

28] Giải thích làm thế nào bạn có thể làm cho một Tập lệnh Python có thể thực thi được trên Unix?

Ans.  To make a Python Script executable on Unix, you need to do two things,

  • Chế độ của tập lệnh phải được thực thi và
  • The first line must begin with # [ #. /usr/local/bin/trăn]

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

trả lời. Bằng cách sử dụng lệnh os. xóa [tên tệp] hoặc os. hủy liên kết [tên tệp]

30] Giải thích cách tạo số ngẫu nhiên trong Python?

trả lời.  To generate random numbers in Python, you need to import command as

import random

random. random[]

This returns a random floating point number in the range [0,1]

31] Explain how can you access a module written in Python from C?

Ans. You can access a module written in Python from C by following method,

Module =  =PyImport_ImportModule[“”];

32] Mention the use of // operator in Python?

Ans.  It is a Floor Divisionoperator , which is used for dividing two operands with the result as quotient showing only digits before the decimal point. For instance, 10//5 = 2 and 10. 0//5. 0 = 2. 0

33] Mention five benefits of using Python?

Ans. Python comprises of a huge standard library for most Internet platforms like Email, HTML, etc

Python does not require explicit memory management as the interpreter itself allocates the memory to new variables and free them automatically

Provide easy readability due to use of square brackets

Easy-to-learn for beginners

Having the built-in data types saves programming time and effort from declaring variables

34] Mention the use of the split function in Python?

Ans.  The use of the split function in Python is that it breaks a string into shorter strings using the defined separator. It gives a list of all words present in the string

35] Explain what is Flask & its benefits?

Ans.  Flask is a web micro framework for Python based on “Werkzeug, Jinja 2 and good intentions” BSD licensed. Werkzeug and jingja are two of its dependencies

Flask is part of the micro-framework. Which means it will have little to no dependencies on external libraries.   It makes the framework light while there is little dependency to update and less security bugs

36] Mention what is the difference between Django, Pyramid, and Flask?

Ans.  Flask is a “microframework” primarily build for a small application with simpler requirements.   In flask, you have to use external libraries.  Flask is ready to use

Pyramid are build for larger applications.   It provides flexibility and lets the developer use the right tools for their project. The developer can choose the database, URL structure, templating style and more. Pyramid is heavy configurable

Like Pyramid, Django can also used for larger applications.  It includes an ORM

37] Mention what is Flask-WTF and what are their features?

Ans. Flask-WTF offers simple integration with WTForms.   Features include for Flask WTF are

  • Integration with wtforms
  • Secure form with csrf token
  • Global csrf protection
  • Internationalization integration
  • Recaptcha supporting
  • File upload that works with Flask Uploads

38] Explain what is the common way for the Flask script to work?

Ans.  The common way for the flask script to work is

  • Either it should be the import path for your application
  • Or the path to a Python file

39] Explain how you can access sessions in Flask?

Ans.  A session basically allows you to remember information from one request to another.   In a flask, it uses a signed cookie so the user can look at the session contents and modify. The user can modify the session if only it has the secret key Flask. chìa khoá bí mật

40] Is Flask an MVC model and if yes give an example showing MVC pattern for your application?

Ans. Về cơ bản, Flask là một khung tối giản hoạt động giống như khung MVC. So MVC is a perfect fit for Flask, and the pattern for MVC we will consider for the following example

41] Trăn là gì?

trả lời.  Python is a modern powerful interpreted language with objects, modules, threads, exceptions, and automatic memory managements

Python được giới thiệu với thế giới vào năm 1991 bởi Guido van Rossum

Các tính năng nổi bật của Python là

-Đơn giản dễ dàng. Python là ngôn ngữ đơn giản và dễ học

-Free/open source. it means everybody can use python without purchasing license

-Ngôn ngữ cấp cao. khi mã hóa bằng Python, người ta không cần lo lắng về các chi tiết cấp thấp

-Cầm tay. Mã Python độc lập với Máy & nền tảng

-Mở rộng. Python program supports usage of C/ C++ codes

-Embeddable Language. Mã Python có thể được nhúng trong mã C/C++ & có thể được sử dụng ngôn ngữ kịch bản

-Thư viện tiêu chuẩn. Thư viện chuẩn Python chứa các công cụ viết sẵn để lập trình

-Cấu trúc dữ liệu tích hợp. contains lots of data structure like lists, numbers & dictionaries

42] Các quy tắc cho biến cục bộ và biến toàn cục trong Python là gì?

trả lời.  If a variable is defined outside function then it is implicitly global. If variable is assigned new value inside the function means it is local. Nếu chúng ta muốn biến nó thành toàn cầu, chúng ta cần xác định rõ ràng nó là toàn cầu. Variable referenced inside the function are implicit global. Đoạn mã sau sẽ giải thích thêm về sự khác biệt

#. /usr/bin/trăn

# Filename. variable_localglobal. py

chắc chắn vui1[a]

in 'a. ', một

a=33;

print ‘local a. ', một

a = 100

fun1[a]

in ‘một niềm vui bên ngoài1. ’, a

chắc chắn fun2[]

toàn cầu b

in 'b. ‘, b

b = 33

in 'b toàn cầu. ’, b

b = 100

vui vẻ2[]

in ra ‘b ngoai fun2’, b

đầu ra

$ python biến_localglobal. py

a. 100

địa phương một. 33

một niềm vui bên ngoài 1. 100

b. 100

global b. 33

b vui vẻ bên ngoài2. 33

43] Làm cách nào để chia sẻ các biến toàn cục giữa các mô-đun trong Python?

trả lời. Chúng ta có thể tạo một tệp cấu hình và lưu trữ toàn bộ biến toàn cục để chia sẻ trên các mô-đun hoặc tập lệnh trong đó. Chỉ cần nhập cấu hình, toàn bộ biến toàn cục được xác định sẽ có sẵn để sử dụng trong các mô-đun khác

Ví dụ. Tôi muốn a, b & c chia sẻ giữa các mô-đun

cấu hình. py

a=0

b=0

c=0

mô-đun 1. py

nhập cấu hình

cấu hình. a = 1

cấu hình. b = 2

cấu hình. c=3

in “ a, b & resp. là. “ , config. một, cấu hình. b, cấu hình. c

output of module1. py will be

1 2 3

44] Bộ nhớ được quản lý trong python như thế nào?

trả lời. Quản lý bộ nhớ trong Python liên quan đến một đống riêng chứa tất cả các đối tượng Python và cấu trúc dữ liệu. Trình thông dịch chăm sóc đống Python và lập trình viên không có quyền truy cập vào nó

Việc phân bổ không gian heap cho các đối tượng Python được thực hiện bởi trình quản lý bộ nhớ Python. API cốt lõi của Python cung cấp một số công cụ để lập trình viên mã hóa chương trình mạnh mẽ và đáng tin cậy hơn

Python also has a build-in garbage collector which recycles all the unused memory. Khi một đối tượng không còn được tham chiếu bởi chương trình, không gian heap mà nó chiếm giữ có thể được giải phóng. Trình thu gom rác xác định các đối tượng không còn được tham chiếu bởi chương trình, giải phóng bộ nhớ bị chiếm dụng và cung cấp bộ nhớ cho không gian heap

Mô-đun gc định nghĩa các chức năng để bật/tắt trình thu gom rác

gc. enable[] -Cho phép thu gom rác tự động

gc. disable[] – Disables automatic garbage collection

45] Mô tả cách tạo số ngẫu nhiên trong Python

Ans. Mô-đun tiêu chuẩn ngẫu nhiên thực hiện một trình tạo số ngẫu nhiên

Ngoài ra còn có nhiều thứ khác trong mô-đun này, chẳng hạn như

thống nhất [a, b] trả về một số dấu phẩy động trong phạm vi [a, b]

randint[a, b] trả về một số nguyên ngẫu nhiên trong phạm vi [a, b]

random[] trả về một số dấu phẩy động trong phạm vi [0, 1]

Đoạn mã sau hiển thị cách sử dụng cả ba chức năng của mô-đun ngẫu nhiên

Note. đầu ra của mã này sẽ khác nhau mỗi khi nó được thực thi

import random

tôi = ngẫu nhiên. randint[1,99]# tôi khởi tạo ngẫu nhiên bởi số nguyên trong phạm vi 1 & 99

j= ngẫu nhiên. thống nhất [1,999]# j được khởi tạo ngẫu nhiên bằng float giữa phạm vi 1 và 999

k= ngẫu nhiên. random[]# k được khởi tạo ngẫu nhiên bởi float giữa phạm vi 0 & 1

in[“tôi. " ,tôi]

in[“j. ” ,j]

in[“k. ” ,k]

đầu ra

['tôi. ’, 64]

[‘j . ’, 701. 85008797642115]

['k. ’, 0. 18173593240301023]

đầu ra

['tôi. ’, 83]

[‘j . ’, 56. 817584548210945]

['k. ’, 0. 9946957743038618]

46] Mô tả cách xử lý ngoại lệ trong python

Ans. Lỗi được phát hiện trong quá trình thực hiện chương trình được gọi là ngoại lệ. Exceptions can be handled using the try. except statement. Về cơ bản, chúng tôi đặt các câu lệnh thông thường của mình trong khối thử và đặt tất cả các trình xử lý lỗi của chúng tôi vào khối ngoại trừ

thử…ngoại trừ mã demo

>>> trong khi Đúng

cố gắng

x = int[raw_input[“Nhập không. của sự lựa chọn của bạn. “]]

nghỉ

except ValueError

print “Oops. Không phải là số hợp lệ. Thử lại đi”

nhập không. của sự lựa chọn của bạn. 12ww

Ối. Không phải là số hợp lệ. thử lại

nhập không. of your choice. Chào bạn

Ối. Không phải là số hợp lệ. thử lại

Enter no. của sự lựa chọn của bạn. 22

>>>

47] Khi nào nên sử dụng danh sách so với. tuple so với. từ điển vs. set?

trả lời. Danh sách giống như mảng, nó có thể được sử dụng để lưu trữ kiểu dữ liệu đồng nhất cũng như không đồng nhất [Nó có thể lưu trữ cùng kiểu dữ liệu cũng như kiểu dữ liệu khác nhau]. List are faster compared to array. Phần tử riêng lẻ của dữ liệu Danh sách có thể được truy cập bằng cách lập chỉ mục & có thể được thao tác

Liệt kê đoạn mã

danh sách = [“Sarah”,29,30000. 00]

for i in range [3]

print list[i]

đầu ra

Sarah

29

30000. 0

Bộ dữ liệu tương tự như danh sách, nhưng có thể thay đổi dữ liệu sau khi được tạo thông qua việc thực thi chương trình. Phần tử riêng lẻ của Tuples có thể được truy cập bằng cách lập chỉ mục

Đoạn mã Tuples. những ngày

ngày = [“Chủ Nhật”, “Thứ Hai”, “Thứ Ba”, “Thứ Tư”, “Thứ Năm”, “Thứ Sáu”, “Thứ Bảy”]

print days

['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy']

Sets stores unordered values & have no index. And unlike Tuples and Lists, Sets can have no duplicate data, It is similar to Mathematical sets

hàm add[] có thể được sử dụng để thêm phần tử vào một tập hợp

update[] function can be used to add a group of elements to a set

Hàm copy[] có thể được sử dụng để tạo bản sao của tập hợp

Đặt đoạn mã

disneyLand = set [[‘Minnie Mouse’, ‘Donald Duck’, ‘Daisy Duck’, ‘Goofy’]]

DisneyLand. thêm ['Sao Diêm Vương']

in disneyLand

đầu ra

set[[‘Goofy’, ‘Daisy Duck’, ‘Donald Duck’, ‘Minnie Mouse’, ’Pluto’]]

Từ điển tương tự như tên của họ. Trong từ điển, Trong python, từ này được gọi là 'khóa' và định nghĩa là 'giá trị'. Từ điển bao gồm các cặp khóa và giá trị tương ứng của chúng

Đoạn mã từ điển

>>> dict = {'Ấn Độ'. 'Bharat', 'Thiên thần'. 'Mẹ Teresa', 'Phim hoạt hình'. 'Mickey'}

>>>print dict[India]

Bharat

>>> in chính tả [Thiên thần]

Đức Mẹ Teresa

48] Giải thích nhược điểm của python

trả lời. Nhược điểm của Python là

Python không phải là tốt nhất cho các tác vụ cần nhiều bộ nhớ

Python là ngôn ngữ thông dịch và chậm so với C/C++ hoặc java

Python không phải lựa chọn tốt cho game 3d đồ họa cao ngốn nhiều CPU

Python is evolving continuously, with constant evolution there is little substantial documentation available for the language

49] Giải thích kết nối cơ sở dữ liệu trong Python Flask?

trả lời. Flask hỗ trợ ứng dụng hỗ trợ cơ sở dữ liệu [RDBS]. Hệ thống như vậy yêu cầu tạo một lược đồ, yêu cầu tạo đường dẫn shema. sql thành lệnh sqlite3. Vì vậy, bạn cần cài đặt lệnh sqlite3 để tạo hoặc khởi tạo cơ sở dữ liệu trong Flask

Flask allows to request database in three ways

  • before_request[] . Chúng được gọi trước một yêu cầu và không có đối số
  • after_request[]. Chúng được gọi sau một yêu cầu và chuyển phản hồi sẽ được gửi đến máy khách
  • giọt lệ_request[]. Chúng được gọi trong tình huống khi ngoại lệ được đưa ra và phản hồi không được đảm bảo. Chúng được gọi sau khi phản hồi được xây dựng.   They are not allowed to modify the request, and their values are ignored

50] Bạn đang có nhiều máy chủ Memcache chạy Python, trong đó một máy chủ memcacher bị lỗi và nó có dữ liệu của bạn, liệu nó có bao giờ cố lấy dữ liệu chính từ máy chủ bị lỗi đó không?

trả lời. Dữ liệu trong máy chủ bị lỗi sẽ không bị xóa, nhưng có một điều khoản cung cấp cho lỗi tự động mà bạn có thể định cấu hình cho nhiều nút. Chuyển đổi dự phòng có thể được kích hoạt trong bất kỳ loại ổ cắm hoặc lỗi cấp độ máy chủ Memcached nào chứ không phải trong các lỗi máy khách thông thường như thêm khóa hiện có, v.v.

51] Explain how you can minimize the Memcached server outages in your Python Development?

Ans. Khi một phiên bản không thành công, một số phiên bản sẽ ngừng hoạt động, điều này sẽ đặt tải lớn hơn lên máy chủ cơ sở dữ liệu khi dữ liệu bị mất được tải lại khi khách hàng đưa ra yêu cầu. Để tránh điều này, nếu mã của bạn đã được viết để giảm thiểu việc đóng dấu bộ đệm thì nó sẽ để lại tác động tối thiểu

Một cách khác là hiển thị phiên bản Memcached trên một máy mới bằng cách sử dụng địa chỉ IP của máy bị mất

Mã là một tùy chọn khác để giảm thiểu sự cố ngừng hoạt động của máy chủ vì nó cho phép bạn tự do thay đổi danh sách máy chủ Memcached với công việc tối thiểu

Đặt giá trị thời gian chờ là một tùy chọn khác mà một số máy khách Memcached triển khai khi máy chủ Memcached ngừng hoạt động. When your Memcached server goes down, the client will keep trying to send a request till the time-out limit is reached

52] Giải thích hiệu ứng Dogpile là gì?

trả lời. Hiệu ứng Dogpile được gọi là sự kiện khi bộ đệm hết hạn và các trang web bị tấn công bởi nhiều yêu cầu do khách hàng thực hiện cùng một lúc. Hiệu ứng này có thể được ngăn chặn bằng cách sử dụng khóa semaphore. In this system when value expires, first process acquires the lock and starts generating new value

53] Giải thích cách Memcached không nên được sử dụng trong dự án Python của bạn?

trả lời

•  Cách sử dụng sai phổ biến của Memcached là sử dụng nó làm nơi lưu trữ dữ liệu chứ không phải làm bộ đệm
•  Không bao giờ sử dụng Memcached làm nguồn thông tin duy nhất mà bạn cần để chạy ứng dụng của mình. Data should always be available through another source as well
•  Memcached is just a key or value store and cannot perform query over the data or iterate over the contents to extract information
•  Memcached does not offer any form of security either in encryption or authentication

54] Python là ngôn ngữ dựa trên biên dịch hay dựa trên diễn giải?

trả lời.  Python mostly used in scripting, is general purpose programming language which supports OOP Object oriented programming principles as supported by C++, Java, etc

Các chương trình Python được ghi vào các tệp có phần mở rộng. py. Các tệp mã nguồn python này được biên dịch thành mã byte [biểu diễn cụ thể của trăn chứ không phải mã nhị phân], dạng độc lập với nền tảng được lưu trữ trong. tập tin pyc

These byte code helps in startup speed optimization. Các mã byte này sau đó phải tuân theo Máy ảo Python PVM nơi từng hướng dẫn một được đọc và thực thi. Đây là thông dịch viên

55] Python cung cấp loại tích hợp sẵn nào?

trả lời. Sau đây là các loại tích hợp được sử dụng phổ biến nhất do Python cung cấp

Các loại python tích hợp không thể thay đổi

Numbers

Strings

bộ dữ liệu

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

Danh sách

Dictionaries

bộ

56] Mô-đun trong python là gì?

trả lời. Các mô-đun là cách để cấu trúc chương trình python. Một mô-đun sẽ có tập hợp các chức năng liên quan. Mỗi tệp chương trình python [. py file] is a module, which imports other modules [object] to use names [attributes] they define

sử dụng đối tượng. attribute notation. Tất cả các tên cấp cao nhất của một mô-đun là các thuộc tính, được xuất để người nhập khẩu mô-đun này sử dụng

Tên tệp của mô-đun hóa ra là tên đối tượng nơi nó được nhập

tái nhập khẩu;

câu lệnh from có ​​thể được sử dụng để nhập các tên cụ thể từ một mô-đun

Cả hai câu lệnh trên đều tìm, biên dịch và tải [nếu chưa được tải] mô-đun

Theo mặc định, Python chỉ nhập các mô-đun một lần cho mỗi tệp trên mỗi quy trình, khi gặp câu lệnh nhập đầu tiên

Với câu lệnh from, tên có thể được sử dụng trực tiếp. tên mô-đun không bắt buộc

57] Gói trong python là gì?

trả lời.  A folder of python programs [modules] is a package of modules. A package can have subfolders and modules

Một câu lệnh nhập có thể nhập các gói và mỗi gói nhập giới thiệu một không gian tên

nhập thư mục1. thư mục con2. mô-đun 1

OR

from folder1. subfolder2. tên nhập module1

Để nhập một gói, __init__. tệp py phải có trong mỗi thư mục, thư mục con

58] Không gian tên trong python là gì?

trả lời.  Every name introduced in a python program has a place where it lives and can be looked for. Đây là không gian tên của nó. Hãy coi nó như một hộp nơi đặt tên biến được ánh xạ tới đối tượng. Bất cứ khi nào tên biến được tham chiếu, hộp này sẽ được tìm ra để lấy đối tượng tương ứng

Ví dụ: các hàm được xác định bằng cách sử dụng def có không gian tên của mô-đun mà nó được xác định trong đó. Và như vậy 2 mô-đun có thể định nghĩa hàm có cùng tên

Các mô-đun và không gian tên đi đôi với nhau. Mỗi mô-đun giới thiệu một không gian tên. Không gian tên giúp sử dụng lại tên bằng cách tránh va chạm tên. Các lớp và hàm là các cấu trúc không gian tên khác

59] Phạm vi trong python là gì?

trả lời.  Scope for names introduced in a python program is a region where it could be used, without any qualification. Nghĩa là, phạm vi là khu vực mà tham chiếu không đủ tiêu chuẩn đến một tên có thể được tìm kiếm trong không gian tên để tìm đối tượng

Trong quá trình thực thi, khi một tên được gọi, python sử dụng quy tắc LEGB để tìm ra đối tượng. Nó bắt đầu tìm kiếm đầu tiên vào không gian tên cục bộ. Then it searches name in enclosed namespace created by nested def and lambda. Sau đó vào không gian tên toàn cầu là mô-đun mà nó được xác định và cuối cùng vào không gian tên tích hợp

Example 1

>>> def addxy[x,y]. # x, y là cục bộ. addxy là toàn cầu

…     temp=x+y           # tạm thời là cục bộ

…     nhiệt độ in

…     nhiệt độ trở lại

>>> addxy[1,2]

3

3

ví dụ 2

>>> tổng = 0           # tổng là toàn cầu

>>> def addxy[x,y]

…     tổng số toàn cầu

…     tổng = x+y

>>> x

100

>>> y

200

>>> addxy[x,y]

>>> tổng cộng

300

60] Các cách khác nhau để truyền đối số cho một hàm trong python là gì?

trả lời. Các dạng gọi hàm khác nhau và truyền đối số cho hàm trong python

Định nghĩa hàm Trình gọi hàm     Ánh xạ lệnh gọi hàm tới định nghĩa hàm

def func[x,y]        func[a,b]    Đối sánh vị trí của đối số

func[y=b, x=a]    Đối sánh tên đối số

def func[x,y=10]   func[a]

func[a,b]    Giá trị mặc định cho đối số

def func[x,y, *tuple_arg]        func[a,b]

func[a,b,c] và nhiều đối số khác có thể được chuyển thành đối số vị trí

Function with varying positional arguments stored in a tuple

Ví dụ

def add[x,y, *tup]

nhiệt độ = x+y

cho elem trong tup

nhiệt độ = nhiệt độ + yếu tố

return temp

print add[1,2] # prints 3

in thêm[1,2,3,4] # in 10

def func[x,y, **dict_arg]        func[a,b]

hàm[a,b,c=10]

func[a,b, c=10, name=’abcd’ ] và nhiều đối số khác có thể được chuyển thành đối số từ khóa

Chức năng với các đối số từ khóa khác nhau được lưu trữ trong từ điển

Ví dụ

phần trăm xác định [mks1, mks2, **dict]

tổng_mks = mks1 + mks2

trả về total_mks / float[ dict[‘out_of’] ]

phần trăm in[65, 50, out_of=150]

61] Lambda trong python là gì?

trả lời.  lamda is a single expression anonymous function often used as inline function. It takes general form as

lambda arg1 arg2 … . biểu thức nơi args có thể được sử dụng

Ví dụ về lambda trong python

>>> tam giác_perimeter = lambda a,b,c. a+b+c

>>> tam_perimeter[2,2,2]

6

62]Sự khác biệt giữa lamda và def

trả lời

a. def can contain multiple expressions whereas lamda is a single expression function

b. def tạo một hàm và gán tên để gọi nó sau. lambda tạo một hàm và trả về chính hàm đó

c. def có thể có câu lệnh return. lambda cannot have return statements

d. lambda có thể được sử dụng bên trong danh sách, từ điển

63] What is shallow copy and deep copy in python?

Ans. Object assignment does not copy object, it gets shared. All names point to same object

Đối với các loại đối tượng có thể thay đổi, sửa đổi đối tượng bằng một tên, phản ánh các thay đổi khi được truy cập bằng tên khác

Ví dụ

>>> l=[1,2,3]

>>> l2 = l

>>> l2. bật[0]

1

>>> l2

[2, 3]

>>> tôi

[2, 3]

Mô-đun sao chép khắc phục vấn đề trên bằng cách cung cấp bản sao [] và bản sao sâu []. copy[] tạo một bản sao của một đối tượng, tạo một thực thể riêng biệt

Ví dụ về copy nông copy[]

>>> bản sao nhập khẩu

>>> sao chép_l = sao chép. copy[l]  # thực hiện bản sao nông

>>> đã sao chép_l. bật[0]

2

>>> đã sao chép_l

[3]

>>> tôi

[2, 3]

copy[] không thực hiện sao chép đệ quy đối tượng. Nó không thành công đối với các loại đối tượng phức hợp

Chương trình ví dụ cho các vấn đề sao chép nông

>>> tôi

[[1, 2, 3], [‘a’, ‘b’, ‘c’]]

>>> s_list=bản sao. copy[l]       # thực hiện sao chép nông

>>> s_list

[[1, 2, 3], [‘a’, ‘b’, ‘c’]]

>>> s_list[0]. bật[0]

1

>>> s_list

[[2, 3], [‘a’, ‘b’, ‘c’]]

>>> tôi

[[2, 3], [‘a’, ‘b’, ‘c’]]                   # vấn đề sao chép nông trên các loại đối tượng phức hợp

Để khắc phục sự cố này, mô-đun sao chép cung cấp deepcopy[]. deepcopy[] tạo và trả về bản sao sâu của đối tượng hỗn hợp [đối tượng chứa các đối tượng khác]

Ví dụ về deep copy deepcopy[]

>>> tôi

[[1, 2, 3], [‘a’, ‘b’, ‘c’]]

>>> deep_l = bản sao. bản sao sâu[l]

>>> deep_l

[[1, 2, 3], [‘a’, ‘b’, ‘c’]]

>>> deep_l[0]. bật[0]

1

>>> deep_l

[[2, 3], [‘a’, ‘b’, ‘c’]]

>>> tôi

[[1, 2, 3], [‘a’, ‘b’, ‘c’]]

64] Các ngoại lệ được xử lý như thế nào trong python?

trả lời. Các ngoại lệ được đưa ra bởi Python khi một số lỗi được phát hiện trong thời gian chạy. Các ngoại lệ có thể được bắt gặp trong chương trình bằng cách sử dụng các câu lệnh try và except. Khi các ngoại lệ được phát hiện, nó có thể được sửa trong chương trình để tránh kết thúc bất thường. Exceptions caught inside a function can be transferred to the caller to handle it. Điều này được thực hiện bằng cách viết lại ngoại lệ bằng cách sử dụng nâng cao. Python cũng cung cấp các câu lệnh được nhóm bên trong finally được thực thi bất kể ngoại lệ được ném từ bên trong try

Ví dụ về xử lý ngoại lệ và rút lại ngoại lệ

xác định func2[a,b]

cố gắng

tạm thời = a/float[b]

ngoại trừ ZeroDivisionError

in “Ngoại lệ bị bắt. Tại sao b = 0? . Hãy xử lý”

tăng ZeroDivisionError

cuối cùng

in “Luôn được thực thi”

xác định func1[]

a=1

b=1

in “Lần thử 1. a=”+str[a]+”, b=”+str[b]

hàm2[a,b]

b=a-b

in “Cố gắng 2. a=”+str[a]+”, b=”+str[b]

cố gắng

hàm2[a,b]

ngoại trừ ZeroDivisionError

in "Ngoại lệ xử lý người gọi"

hàm1[]

đầu ra

thử 1. a=1, b=1

Luôn luôn thực hiện

cố gắng 2. a=1, b=0

ngoại lệ bị bắt. Tại sao b = 0? . hãy xử lý

Luôn luôn thực hiện

Người gọi xử lý ngoại lệ

65] Đưa ra một biểu thức chính quy xác thực id email bằng cách sử dụng mô-đun biểu thức chính quy python re

trả lời. Python cung cấp một mô-đun biểu thức chính quy

Đây là bản xác nhận lại id email của. com và. đồng. trong tên miền phụ

lại. tìm kiếm[r”[0-9a-zA-Z. ][email được bảo vệ][a-zA-Z]+\. [com. đồng. trong]$”,”[email được bảo vệ]”]

66] Giải thích thao tác với tệp trong python

trả lời. Python cung cấp open[]  để mở tệp và open[] trả về một đối tượng tệp loại tích hợp. Chế độ mặc định là đọc

fread = open[“1. txt”] tương đương với fread = open[“1. txt”, “r”], trong đó fread là nơi lưu trữ đối tượng tệp được trả về bởi open[]

Python cung cấp các hàm read[], readline[] và readlines[] để đọc tệp. read[] đọc toàn bộ tập tin cùng một lúc. readline[] đọc dòng tiếp theo từ tệp đang mở. readlines[] trả về một danh sách trong đó mỗi phần tử là một dòng của tệp

Tệp cũng có thể được mở ở chế độ ghi. Python cung cấp write[] để viết một chuỗi trong một tệp, writelines[] để viết một chuỗi các dòng cùng một lúc

Đối tượng tệp loại tích hợp có close[] được gọi cho tất cả các tệp đang mở

67] Bạn tuân theo tiêu chuẩn nào đối với hướng dẫn mã hóa Python?

trả lời. PEP 8 cung cấp các quy ước mã hóa cho mã Python. Nó mô tả các quy tắc cần tuân thủ khi viết mã bằng Python. Điều này giúp khả năng đọc mã tốt hơn và do đó hiểu rõ hơn và khả năng bảo trì dễ dàng. Nó bao gồm từ

thụt lề mã, dung lượng sử dụng để thụt lề, dấu cách so với tab để thụt lề, nhận xét, dòng trống, độ dài dòng tối đa, cách nhập tệp, v.v.

68] Pass trong Python là gì?

trả lời. Vượt qua là câu lệnh Python không hoạt động. Nó chỉ ra rằng không có gì được thực hiện. Nó chỉ là một trình giữ chỗ được sử dụng trong các câu lệnh ghép vì chúng không thể để trống

Ví dụ sử dụng câu lệnh pass trong Python

>>> nếu x==0

… vượt qua

… khác

…     in “x. =0”

69] Trình vòng lặp trong Python là gì?

trả lời. Trình lặp trong Python được sử dụng để lặp qua một nhóm phần tử, bộ chứa, như danh sách. Để một vùng chứa hỗ trợ trình lặp, nó phải cung cấp __iter__[]

thùng đựng hàng. __iter__[]

Điều này trả về một đối tượng iterator

giao thức lặp

Đối tượng iterator được yêu cầu để hỗ trợ giao thức iterator. Giao thức iterator được triển khai bởi một đối tượng iterator bằng cách cung cấp định nghĩa của 2 hàm sau

1. trình vòng lặp. __iter__[]

Nó trả về chính đối tượng iterator. Điều này là bắt buộc để cho phép sử dụng cả bộ chứa và bộ lặp với câu lệnh for và in

2. trình vòng lặp. __tiếp theo__[]

Nó trả về mục tiếp theo từ vùng chứa. Nếu không có mục nào khác, hãy tăng ngoại lệ StopIteration

Ví dụ về iterator trong danh sách

>>> a=[1,2,3]

>>> i1= một. __iter__[]   # tạo iterator sử dụng __iter__[] trên vùng chứa

>>> i1

>>> i2= iter[a]        # tạo một trình lặp khác bằng cách sử dụng iter[] gọi __iter__[] trên vùng chứa

>>> i2

>>> i1. tiếp theo[]

1

>>> next[i1]           # gọi i1. tiếp theo[]

2

>>> tiếp theo [i2]

1

Trình lặp được yêu cầu triển khai __iter__ trả về trình vòng lặp [tự]. Do đó nó có thể được sử dụng với for in

>>> cho x trong i1

…   in x

3

70] Trình tạo trong Python là gì?

trả lời. Trình tạo là cách triển khai trình vòng lặp. Hàm tạo là một hàm bình thường ngoại trừ việc nó chứa biểu thức năng suất trong định nghĩa hàm khiến nó trở thành hàm tạo. Hàm này trả về một trình tạo

Iterator được gọi là trình tạo. Để lấy giá trị tiếp theo từ trình tạo, chúng tôi sử dụng hàm tích hợp giống như đối với trình vòng lặp. tiếp theo[]. next[] đảm nhiệm việc gọi phương thức __next__[] của trình tạo

Khi hàm tạo gọi năng suất, "trạng thái" của hàm tạo bị đóng băng; . Một khi nó là, các

Chức năng của trình tạo chỉ đơn giản là tiếp tục lại nơi nó dừng lại. Nếu next[] không bao giờ được gọi lại, thì trạng thái được ghi trong cuộc gọi suất sẽ bị loại bỏ [cuối cùng]

Ví dụ về máy phát điện

def gen_func_odd_nums[]

lẻ_num = 1

trong khi đúng

mang lại số lẻ # lưu ngữ cảnh và trả về từ hàm

số_lẻ = số_lẻ + 2

generator_obj = gen_func_odd_nums[];

in “10 số lẻ đầu tiên. ”

cho tôi trong phạm vi [10]

in tiếp theo[generator_obj] # gọi generator_obj. __tiếp theo__[]

đầu ra

10 số lẻ đầu tiên

1

3

5

7

9

11

13

15

17

19

71] Bạn thực hiện kiểm thử đơn vị bằng Python như thế nào?

trả lời. Python cung cấp một khung kiểm tra đơn vị được gọi là unittest. mô-đun unittest hỗ trợ kiểm tra tự động hóa, chia sẻ mã thiết lập và tắt cho các bài kiểm tra, tổng hợp các bài kiểm tra thành các bộ sưu tập và tính độc lập của các bài kiểm tra với khung báo cáo

72] Slicing trong Python là gì?

trả lời. Cắt lát trong Python là một cơ chế để chọn một loạt các mục từ các loại Trình tự như chuỗi, danh sách, bộ, v.v.

Ví dụ về cắt lát

>>> l=[1,2,3,4,5]

>>> l[1. 3][2, 3]

>>> l[1. -2][2, 3]

>>> l[-3. -1]      # chỉ số phủ định khi cắt lát

[3, 4]

>>> s=”Xin chào thế giới”

>>> s[1. 3]

'el'

>>> s[. -5]

'Xin chào '

>>> s[-5. ]

'Thế giới'

73] Giải thích nguyên tắc kế thừa OOP trong Python

trả lời. Các lớp có thể lấy các thuộc tính từ các lớp khác thông qua kế thừa. The syntax goes

class DeriveClass[ BaseClass]

If the base class is present in other module, the syntax for derivation changes to

lớp DeriveClass[ mô-đun. Lớp cơ sở]

Python supports overriding of base class functions by derive class. Điều này giúp thêm nhiều chức năng hơn sẽ được thêm vào chức năng ghi đè trong lớp dẫn xuất nếu được yêu cầu

Python hỗ trợ hình thức đa thừa kế hạn chế như

class DeriveClass[ BaseClass1, BaseClass2, …]

Trường hợp một thuộc tính nếu không tìm thấy trong DeriveClass thì được tìm kiếm trong BaseClass1 và cấp độ gốc của chúng, sau đó là BaseClass2 và cấp độ gốc của chúng, v.v. Với phong cách mới, Python tránh được vấn đề kim cương khi tiếp cận lớp cơ sở chung từ

Nhiều đường dẫn bằng cách tìm kiếm tuyến tính các lớp cơ sở theo thứ tự từ trái sang phải

74] Chuỗi doc trong Python là gì?

Ans. Chuỗi tài liệu Docstring hoặc Python là một cách ghi lại các mô-đun, hàm, lớp Python. PEP 257 chuẩn hóa cấu trúc cấp cao của docstrings. __doc__ attribute can be used to print the docstring

Ví dụ về định nghĩa docstring

>>> def test_doc_string[]

…    “”” đây là chuỗi tài liệu cho hàm test_doc_string “””

>>> test_doc_string. __doc__

‘this is a docstring for function test_doc_string ‘

75] Define python?

trả lời.  Python is simple and easy to learn language compared to other programming languages. Python được giới thiệu với thế giới vào năm 1991 bởi Guido van Rossum. It is a dynamic object oriented language used for developing

phần mềm. It supports various programming languages and have a massive library support for many other languages. It is a modern powerful interpreted language with objects, modules, threads, exceptions, and automatic memory managements

Các tính năng nổi bật của Python là

-Đơn giản dễ dàng. Python là ngôn ngữ đơn giản và dễ học

-Free/open source. it means everybody can use python without purchasing license

-Ngôn ngữ cấp cao. khi mã hóa bằng Python, người ta không cần lo lắng về các chi tiết cấp thấp

-Cầm tay. Mã Python độc lập với Máy & nền tảng

-Mở rộng. Python program supports usage of C/ C++ codes

-Embeddable Language. Python code can be embedded within C/C++ codes & can be used a scripting language

-Thư viện tiêu chuẩn. Thư viện chuẩn Python chứa các công cụ viết sẵn để lập trình

-Cấu trúc dữ liệu tích hợp. contains lots of data structure like lists, numbers & dictionaries

76] Định nghĩa một phương thức trong Python?

Ans. Một hàm trên đối tượng x là một phương thức được gọi là x. tên [đối số…]. Bên trong định nghĩa của lớp, các phương thức được định nghĩa là các hàm

lớp C

def meth[self, atg]

trả về arg*2+self. attribute

77] Định nghĩa bản thân?

Ans.  ‘self’ is a conventional name of method’s first argument. Một phương thức được định nghĩa là meth[self, x ,y ,z] được gọi là. meth[x, y, z] cho một phiên bản của một lớp trong đó định nghĩa xảy ra và được gọi là meth[a, x , y, z]

78] Describe python usage in web programming?

Ans. Python được sử dụng hoàn hảo cho lập trình web và có nhiều tính năng đặc biệt giúp bạn dễ dàng sử dụng. Web frame works, content management systems, WebServers, CGI scripts, Webclient programming, Webservices, etc are the

features supported by python. Ngôn ngữ Python được sử dụng để tạo các ứng dụng cao cấp khác nhau vì tính linh hoạt của nó

79] Is there any tool used to find bugs or carrying out static analysis?

trả lời.  Yes. PyChecker là công cụ phân tích tĩnh được sử dụng trong python để tìm lỗi trong mã nguồn, cảnh báo về kiểu mã và độ phức tạp, v.v. Pylint là một công cụ xác minh xem một mô-đun có đáp ứng các tiêu chuẩn viết mã hay không và làm cho nó

possible to add custom feature and write plug-ins

80] Rules for local and global variables in python?

trả lời.  In python, the variables referenced inside a function are global. Khi một biến được gán giá trị mới ở bất kỳ đâu trong phần thân của hàm thì nó được coi là cục bộ. In a function, if a variable ever assigned new value then

the variable is implicitly local and explicitly it should be declared as global. Nếu tất cả các tham chiếu toàn cầu yêu cầu toàn cầu thì bạn sẽ sử dụng toàn cầu bất cứ lúc nào. You’d declare as global each reference to built-in function or to component of module which is imported. The usefulness of global declaration in identifying side-effects is defeated by this clutter

81] Làm thế nào để tìm các phương thức hoặc thuộc tính của một đối tượng?

Ans. Hàm dir[] tích hợp sẵn của Python, trên một phiên bản hiển thị các biến thể hiện cũng như các phương thức và thuộc tính lớp được xác định bởi lớp của thể hiện và tất cả các lớp cơ sở của nó theo thứ tự bảng chữ cái. Vì vậy, bởi bất kỳ đối tượng như đối số

đến dir[] chúng ta có thể tìm thấy tất cả các phương thức & thuộc tính của lớp đối tượng

Đoạn mã sau hiển thị dir[] tại nơi làm việc

class Employee

def __init__[self,name,empCode,pay]

bản thân. name=name

self. empCode=empCode

self. trả = trả

print[“dir[] liệt kê tất cả các Phương thức và thuộc tính của lớp Nhân viên”]

print dir[e]

đầu ra

dir[] liệt kê tất cả các Phương thức và thuộc tính của lớp Nhân viên

[ ‘__init__’, ’empCode’, ‘name’, ‘pay’]

82] Có cái nào tương đương với scanf[] hoặc sscanf[] không?

Ans. Không. Thông thường, cách dễ dàng để chia dòng thành các từ được phân tách bằng khoảng trắng để phân tích cú pháp đầu vào đơn giản là sử dụng phương thức split[] của các đối tượng chuỗi. Sau đó, chuỗi thập phân được chuyển đổi thành giá trị số bằng cách sử dụng float[] hoặc int[]. An

tham số “sep” tùy chọn được hỗ trợ bởi split[], rất hữu ích nếu thứ gì đó được sử dụng thay cho khoảng trắng làm dấu phân cách. For complex input parsing, regular expressions are powerful then sscanf[] of C and perfectly suits

cho nhiệm vụ

83] Định nghĩa lớp?

Ans. Lớp là một loại đối tượng cụ thể được tạo khi câu lệnh lớp được thực thi. Để tạo các đối tượng thể hiện, các đối tượng lớp có thể được sử dụng làm mẫu biểu thị cả mã và dữ liệu cụ thể cho kiểu dữ liệu. In general, a class is

dựa trên một hoặc nhiều lớp được gọi là lớp cơ sở. Nó kế thừa các phương thức và thuộc tính của các lớp cơ sở. Một mô hình đối tượng hiện được phép xác định lại liên tục bằng cách sử dụng tính kế thừa. Basic accessor methods are provided by

generic Mailbox for subclasses and mailbox like MaildirMailbox, MboxMailbox, OutlookMailbox which handle many specific formats of mailbox

84] How to prevent blocking in content[] method of socket?

Ans. Thông thường, mô-đun chọn được sử dụng để trợ giúp I/O không đồng bộ

85] Trong python, có bất kỳ cơ sở dữ liệu nào cho các gói DB không?

trả lời. Đúng. Gói Bsddb có trong Python 2. 3 which offers an interface to BerkeleyDatabase library. Nó Giao diện với các giá trị băm dựa trên đĩa như GDBM và DBM được bao gồm trong python tiêu chuẩn

86]How do we share global variables across modules in Python?

trả lời. Chúng ta có thể tạo một tệp cấu hình và lưu trữ toàn bộ biến toàn cục để chia sẻ trên các mô-đun hoặc tập lệnh trong đó. Chỉ cần nhập cấu hình, toàn bộ biến toàn cục được xác định sẽ có sẵn để sử dụng trong các mô-đun khác

For example I want a, b & c to share between modules

cấu hình. py

a=0

b=0

c=0

mô-đun 1. py

nhập cấu hình

cấu hình. a = 1

cấu hình. b = 2

cấu hình. c=3

in “ a, b & resp. là. “ , config. một, cấu hình. b, cấu hình. c

đầu ra

module1. py will be

1 2 3

87]  How can we pass optional or keyword parameters from one function to another in Python?

Ans.  Gather the arguments using the * and ** specifiers in the function’s parameter list. This gives us positional arguments as a tuple and the keyword arguments as a dictionary. Then we can pass these arguments while calling

another function by using * and **

def fun1[a, *tup, **keywordArg]

keywordArg[‘width’]=’23. 3c’

Fun2[a, *tup, **keywordArg]

88]  Explain pickling and unpickling

Ans.  Pickle is a standard module which serializes & de-serializes a python object structure. Pickle module accepts any python object converts it into a string representation & dumps it into a file[by using dump[] function] which

can be used later, process is called pickling. Whereas unpickling is process of retrieving original python object from the stored string representation for use

89] Explain how python is interpreted

Ans.  Python program runs directly from the source code. Each type Python programs are executed code is required. Python converts source code written by the programmer into intermediate language which is again translated it into the native language / machine language that is executed. So Python is an Interpreted language

90] How is memory managed in python?

Ans.  Memory management in Python involves a private heap containing all Python objects and data structures. Interpreter takes care of Python heap and that the programmer has no access to it. The allocation of heap space for Python objects is done by Python memory manager. The core API of Python provides some tools for the programmer to code reliable and more robust program. Python also has a build-in garbage collector which recycles all the unused memory. When an object is no longer referenced by the program, the heap space it occupies can be freed. The garbage collector determines objects which are no longer referenced by the sprogram frees the occupied memory and make it available to the heap space. The gc module defines functions to enable /disable                         garbage collector

gc. enable[] -Cho phép thu gom rác tự động

gc. disable[] – Disables automatic garbage collection

91] Explain indexing and slicing operation in sequences

Ans.  Different types of sequences in python are strings, Unicode strings, lists, tuples, buffers, and xrange objects. Slicing & indexing operations are salient features of sequence. indexing operation allows to access a particular

item in the sequence directly [ similar to the array/list indexing] and the slicing operation allows to retrieve a part of the sequence. The slicing operation is used by specifying the name of the sequence followed by an

optional pair of numbers separated by a colon within square brackets say S[startno. dừng lại]. The startno in the slicing operation indicates the position from where the slice starts and the stopno indicates where the slice

will stop at. If the startno is ommited, Python will start at the beginning of the sequence. If the stopno is ommited, Python will stop at the end of the sequence

Following code will further explain indexing & slicing operation

>>> cosmeticList =[‘lipsstick’,’facepowder’,eyeliner’,’blusher’,kajal’]

>>> print “Slicing operation . ”,cosmeticList[2. ]

Slicing operation . [‘eyeliner’,’blusher’,kajal’]

>>>print “Indexing operation . ”,cosmeticList[0]

“Indexing operation . lipsstick

92] Explain how to make Forms in python

Ans.  As python is scripting language forms processing is done by Python. We need to import cgi module to access form fields using FieldStorage class

Every instance of class FieldStorage [for ‘form’] has the following attributes

form. name. The name of the field, if specified

form. filename. If an FTP transaction, the client-side filename

form. value. The value of the field as a string

form. tập tin. file object from which data can be read

form. type. Loại nội dung, nếu có

mẫu đơn. type_options. The options of the ‘content-type’ line of the HTTP request, returned as a dictionary

form. disposition. The field ‘content-disposition’; None if unspecified

form. bố trí_options. The options for ‘content-disposition’

form. headers. All of the HTTP headers returned as a dictionary

A code snippet of form handling in python

import cgi

hình thức = cgi. FieldStorage[]

if not [form. has_key[“name”] and form. has_key[“age”]]

print ”

Name & Age not Entered

print “Điền chính xác Tên & Tuổi. ”

return

print ”

name. ”, form[“name”]. value

print ”

Age. ”, form[“age”]. value

93] Describe how to implement Cookies for Web python

Ans.  A cookie is an arbitrary string of characters that uniquely identify a session. Each cookie is specific to one Web site and one user

The Cookie module defines classes for abstracting the concept of cookies. It contains following method to creates cookie

Cookie. SimpleCookie[[input]]

Cookie. SerialCookie[[input]

Cookie. SmartCookie[[input]]

for instance following code creates a new cookie ck-

import Cookie

ck= Cookie. SimpleCookie [ x ]

94] What are uses of lambda?

Ans.  It used to create small anonymous functions at run time. Like e. g

def fun1[x]

return x**2

print fun1[2]

it gives you answer 4

the same thing can be done using

sq=lambda x. x**2

print sq[2]

it gives the answer 4

95] When do you use list vs. tuple vs. dictionary vs. set?

Ans.  List and Tuple are both ordered containers. If you want an ordered container of constant elements use tuple as tuples are immutable objects

96] When you need ordered container of things, which will be manipulated, use lists

Ans.  Dictionary is key, value pair container and hence is not ordered. Use it when you need fast access to elements, not in ordered fashion. Lists are indexed and index of the list cannot be “string” e. g. list [‘myelement’] is not a valid statement in python

97] Do they know a tuple/list/dict when they see it?

trả lời.  Dictionaries are consisting of pair of keys and values. like {’key’. ’value’}

book={’cprog’. ’1024′,’c++’. ’4512′}

Keys are unique but values can be same. The main difference between list and tuple is you can change the list but you cannot change the tuple. Tuple can be used as keys in mapping where list is not

98] Why was the language called as Python?

Ans.  At the same time he began implementing Python, Guido van Rossum was also reading the published scripts from “Monty Python’s Flying Circus” [a BBC comedy series from the seventies, in the unlikely case you didn’t know]. It

occurred to him that he needed a name that was short, unique, and slightly mysterious, so he decided to call the language Python

99] What is used to represent Strings in Python? Is double quotes used for String representation or single quotes used for String representation in Python?

Ans.  Using Single Quotes [‘]

You can specify strings using single quotes such as ‘Quote me on this’ . All white space i. e. spaces and tabs are preserved as-is

Using Double Quotes [“]

Strings in double quotes work exactly the same way as strings in single quotes. An example is “What’s your name?”

Using Triple Quotes [”’ or “””]

You can specify multi-line strings using triple quotes. You can use single quotes and double quotes freely within the triple quotes. An example is

”’This is a multi-line string. This is the first line

This is the second line

“What’s your name?,” I asked

He said “Bond, James Bond. ”

100] Why cannot lambda forms in Python contain statements?

Ans.  A lambda statement is used to create new function objects and then return them at runtime that is why lambda forms in Python did not contain statement

101] Which of the languages does Python resemble in its class syntax?

Ans.  C++ is the appropriate language that Python resemble in its class syntax

102] Does Python support strongly for regular expressions? What are the other languages that support strongly for regular expressions?

Ans.  Yes, python strongly support regular expression. Other languages supporting regular expressions are. Delphi, Java, Java script, . NET, Perl, Php, Posix, python, Ruby, Tcl, Visual Basic, XML schema, VB script, Visual Basic 6

103] Why is not all memory freed when Python exits?

Ans.  Objects referenced from the global namespaces of Python modules are not always de-allocated when Python exits. This may happen if there are circular references. There are also certain bits of memory that are allocated by the

C library that are impossible to free [e. g. một công cụ như Purify sẽ phàn nàn về những điều này]. Python is, however, aggressive about cleaning up memory on exit and does try to destroy every single object

If you want to force Python to delete certain things on de-allocation, you can use the at exit module to register one or more exit functions to handle those deletions

104] What is a Lambda form? Explain about assert statement?

Ans.  The lambda form

Using lambda keyword tiny anonymous functions can be created. It is a very powerful feature of Python which declares a one-line unknown small function on the fly. The lambda is used to create new function objects and then

return them at run-time. The general format for lambda form is

lambda parameter[s]. expression using the parameter[s]

For instance k is lambda function-

>>> k= lambda y. y + y

>>> k[30]

60

>>> k[40]

80

Tuyên bố khẳng định

The build-in assert statement of python introduced in version 1. 5 is used to assert that something is true. Programmers often place assertions at the beginning of a function to check for valid input, and after function call

to check for valid output. Tuyên bố khẳng định có thể được gỡ bỏ sau khi thử nghiệm chương trình kết thúc. Nếu khẳng định đánh giá là sai, một ngoại lệ AssertionError được đưa ra. AssertionError exceptions can be handled with the try-except

bản tường trình

The general syntax for assert statement is

khẳng định Biểu thức [, Đối số]

104]  Giải thích vai trò của hàm repr

trả lời. Python có thể chuyển đổi bất kỳ giá trị nào thành chuỗi bằng cách sử dụng hai hàm repr[] hoặc str[]. Hàm str[] trả về các biểu diễn của các giá trị mà con người có thể đọc được, trong khi repr[] tạo ra các biểu diễn có thể đọc được

bởi thông dịch viên. repr[] trả về một biểu diễn các giá trị mà máy có thể đọc được, phù hợp với lệnh exec. Các đoạn mã sau cho thấy hoạt động của repr[] và str[]

chắc chắn vui vẻ[]

y=2333. 3

x=str[y]

z=repr[y]

in ” y. ”,y

print “str[y] . ”, x

in “repr[y]. ”,z

niềm vui[]

đầu ra

y. 2333. 3

str[y]. 2333. 3

đại diện[y]. 2333. 3000000000002

106]  Tính năng hiểu LIST của Python dùng để làm gì?

trả lời. Các tính năng hiểu DANH SÁCH đã được giới thiệu trong Python phiên bản 2. 0, nó tạo một danh sách mới dựa trên danh sách hiện có. Nó ánh xạ một danh sách vào một danh sách khác bằng cách áp dụng một hàm cho từng thành phần của danh sách hiện có. Danh sách

khả năng hiểu tạo danh sách mà không cần sử dụng biểu mẫu map[] , filter[] hoặc lambda

107] Làm cách nào để tạo một hàm bậc cao hơn trong Python?

trả lời. Hàm bậc cao chấp nhận một hoặc nhiều hàm làm đầu vào và trả về một hàm mới. Đôi khi nó được yêu cầu sử dụng chức năng như dữ liệu. Để thực hiện chức năng bậc cao, chúng ta cần nhập mô-đun funcools

công cụ chức năng. hàm partial[] thường được sử dụng cho hàm bậc cao

108] Explain how to copy an object in Python

trả lời. Có hai cách sao chép đối tượng trong python. Sao chép nông & Sao chép sâu. Các bản sao nông sao chép càng ít càng tốt trong khi các bản sao Sâu sao chép mọi thứ. If a is object to be copied then

-bản sao. copy[a] returns a shallow copy of a

-bản sao. deepcopy[a] trả về một bản sao sâu của một

109] How do I convert a string to a number?

trả lời. Python chứa một số hàm dựng sẵn để chuyển đổi giá trị từ một kiểu dữ liệu này sang kiểu dữ liệu khác

Hàm int lấy chuỗi và chuyển đổi nó thành số nguyên

s = “1234” # s là chuỗi

i = int[s] # chuỗi được chuyển thành int

print i+2

1236

The float function converts strings into float number

s = “1234. 22” # s is string

i = float[s] # chuỗi chuyển thành float

in tôi

1234. 22

110] Chỉ số âm trong python là gì?

Ans. Các mảng Python và các mục danh sách có thể được truy cập bằng số dương hoặc số âm [còn được gọi là chỉ mục]. For instance our array/list is of size n, then for positive index 0 is the first index, 1 second, last index will be n-1. Vì

negative index, -n is the first index, -[n-1] second, last negative index will be – 1. Chỉ mục phủ định truy cập các phần tử từ cuối danh sách đếm ngược

Một ví dụ để hiển thị chỉ số tiêu cực trong python

>>> nhập mảng

>>> a= [1, 2, 3]

>>> print a[-3]

1

>>> in a[-2]

2

>>> in a[-1]

3

111] Làm cách nào để tạo một mảng trong Python?

trả lời. Mô-đun mảng chứa các phương thức tạo mảng có kiểu cố định với kiểu dữ liệu đồng nhất. Mảng chậm hơn danh sách. Array of characters, integers, floating point numbers can be created using array module. mảng

[typecode[, intializer]] Trả về một mảng mới có các mục bị ràng buộc bởi mã kiểu và được khởi tạo từ giá trị khởi tạo tùy chọn. Trường hợp mã kiểu chữ có thể là ví dụ 'c' cho giá trị ký tự, 'd' cho giá trị kép, 'f' cho giá trị float

112] Explain how to create a multidimensional list

trả lời. Có hai cách để tạo danh sách Đa chiều

By direct initializing the list as shown below to create multidimlist below

>>>multidimlist = [ [227, 122, 223],[222, 321, 192],[21, 122, 444]]

>>>print multidimlist[0]

>>>print multidimlist[1][2]

đầu ra

[227, 122, 223]

192

The second approach is to create a list of the desired length first and then fill in each element with a newly created lists demonstrated below

>>>list=[0]*3

>>>for i in range[3]

>>> list[i]=[0]*2

>>>for i in range [3]

>>> for j in range[2]

>>> list[i][j] = i+j

>>>print list

đầu ra

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

113] Giải thích cách quá tải hàm tạo [hoặc phương thức] trong Python

Ans. __init__[] là một phương thức đầu tiên được định nghĩa trong một lớp. khi một thể hiện của một lớp được tạo, python gọi __init__[] để khởi tạo thuộc tính của đối tượng

Ví dụ sau chứng minh thêm

class Employee

def __init__[bản thân, tên, empCode, trả tiền]

bản thân. name=name

self. empCode=empCode

self. trả = trả

e1 = Employee[“Sarah”,99,30000. 00]

e2 = Nhân viên[“Asrar”,100,60000. 00]

print[“Employee Details. ”]

in[” Tên. ”,e1. tên, mã số. ”, e1. empCode,”Pay. ”, e1. trả]

in[” Tên. ”,e2. tên, mã số. ”, e2. empCode,”Pay. ”, e2. trả]

đầu ra

Thông tin nhân viên

[' Tên. ', 'Sarah', 'Mã. ’, 99, ‘Trả tiền. ’, 30000. 0]

[' Tên. ’, ‘Asrar’, ‘Mã. ’, 100, ‘Trả tiền. ’, 60000. 0]

114] Mô tả cách gửi thư từ tập lệnh Python

trả lời. Mô-đun smtplib xác định đối tượng phiên máy khách SMTP có thể được sử dụng để gửi thư đến bất kỳ máy Internet nào

Một email mẫu được trình bày dưới đây

nhập smtplib

MÁY CHỦ = smtplib. SMTP[‘smtp. người phục vụ. miền']

TỪ = [email được bảo vệ]

TO = [“[email được bảo vệ]”] # phải là một danh sách

CHỦ ĐỀ = “Xin chào. ”

TEXT = “Tin nhắn này đã được gửi bằng smtplib của Python. ”

# Main message

tin nhắn = “””

From: Sarah Naaz

Đến. CareerRide [email được bảo vệ]

Vấn đề. SMTP email msg

This is a test email. Xác nhận email bằng cách trả lời

""" % [TỪ, ", ". tham gia [TO], CHỦ ĐỀ, VĂN BẢN]

server = smtplib. MÁY CHỦ SMTP]

người phục vụ. sendmail[TỪ, ĐẾN, tin nhắn]

người phục vụ. từ bỏ[]

115]  Mô tả cách tạo số ngẫu nhiên trong Python

trả lời. Mô-đun tiêu chuẩn ngẫu nhiên thực hiện một trình tạo số ngẫu nhiên. \

Ngoài ra còn có nhiều thứ khác trong mô-đun này, chẳng hạn như

thống nhất [a, b] trả về một số dấu phẩy động trong phạm vi [a, b]

randint[a, b] trả về một số nguyên ngẫu nhiên trong phạm vi [a, b]

random[] trả về một số dấu phẩy động trong phạm vi [0, 1]

Đoạn mã sau hiển thị cách sử dụng cả ba chức năng của mô-đun ngẫu nhiên

Ghi chú. đầu ra của mã này sẽ khác nhau mỗi khi nó được thực thi

import random

tôi = ngẫu nhiên. randint[1,99]# tôi khởi tạo ngẫu nhiên bởi số nguyên trong phạm vi 1 & 99

j= ngẫu nhiên. thống nhất [1,999]# j được khởi tạo ngẫu nhiên bằng float giữa phạm vi 1 và 999

k= ngẫu nhiên. random[]# k được khởi tạo ngẫu nhiên bởi float giữa phạm vi 0 & 1

in[“tôi. " ,tôi]

in[“j. ” ,j]

in[“k. ” ,k]

đầu ra

['tôi. ’, 64]

[‘j . ’, 701. 85008797642115]

['k. ’, 0. 18173593240301023]

đầu ra

['tôi. ’, 83]

[‘j . ’, 56. 817584548210945]

['k. ’, 0. 9946957743038618]

116] Câu lệnh tùy chọn được sử dụng trong câu lệnh thử ngoại trừ trong Python là gì?

trả lời. Có hai mệnh đề tùy chọn được sử dụng trong câu lệnh try except

1. mệnh đề khác. It is useful for code that must be executed when the try block does not create any exception

2. mệnh đề cuối cùng. Nó hữu ích cho mã phải được thực thi bất kể có tạo ngoại lệ hay không

117] Cái gì dùng để tạo chuỗi Unicode trong Python?

trả lời.  Add u before the string

>>> u ‘kiểm tra’

118] Công dụng của tính năng List Comprehensions của Python là gì?

trả lời. Tính năng hiểu danh sách giúp tạo và quản lý danh sách theo cách đơn giản và rõ ràng hơn so với sử dụng map[], filter[] và lambda. Mỗi cách hiểu danh sách bao gồm một biểu thức theo sau bởi một mệnh đề, sau đó là 0 hoặc nhiều hơn cho hoặc nếu

điều khoản

119] Which all are the operating system that Python can run on?

trả lời. Python có thể chạy trên mọi hệ điều hành như UNIX/LINUX, Mac, Windows và các hệ điều hành khác

120] What is the statement that can be used in Python if a statement is required syntactically but the program requires no action?

trả lời.  Pass is a no-operation/action statement in python

Nếu chúng ta muốn tải một mô-đun và nếu nó không tồn tại, chúng ta đừng bận tâm, chúng ta hãy thử thực hiện tác vụ khác. Ví dụ sau đây chứng minh rằng

Cố gắng

Nhập mô-đun1

Ngoại trừ

Vượt qua

121] Việc triển khai Java của Python thường được gọi là gì?

trả lời. Jython

122] Phương thức join[] trong python thuộc về phương thức nào?

trả lời. phương pháp chuỗi

123]Python có hỗ trợ câu lệnh switch hoặc case trong Python không?

Ans. Không. Bạn có thể sử dụng nhiều if-else, vì không cần điều này

124] Việc triển khai từ điển Pythons được thực hiện như thế nào?

trả lời.  Using curly brackets -> {}

E. g. {'một'. ’123′, ‘b’. ’456′}

125] Ngôn ngữ mà Python đã có các tính năng hoặc bắt nguồn từ các tính năng của nó là ngôn ngữ nào?

trả lời. Hầu hết các ngôn ngữ lập trình hướng đối tượng kể tên một số là C ++, CLISP và Java là ngôn ngữ mà Python đã có các tính năng hoặc bắt nguồn từ các tính năng của nó

126] Ngôn ngữ lập trình Python có nhược điểm gì?

trả lời. Một trong những nhược điểm của ngôn ngữ lập trình Python là nó không phù hợp với các tác vụ nhanh và cần nhiều bộ nhớ

Naveen E

Tác giả

Hola nhìn trộm. Gặp gỡ kẻ cuồng phiêu lưu, tìm kiếm sự sống trong từng khoảnh khắc, tương tác và viết tại Asha24

Bộ nhớ được quản lý như thế nào trong các câu hỏi phỏng vấn Python?

12 Trong Python, bộ nhớ được quản lý như thế nào? . All Python objects and data structures are located in a private heap. Lập trình viên không có quyền truy cập vào vùng riêng tư này và trình thông dịch sẽ xử lý vùng riêng tư Python này. primarily managed by Python private heap space. All Python objects and data structures are located in a private heap. The programmer does not have access to this private heap and interpreter takes care of this Python private heap.

Quản lý bộ nhớ được thực hiện như thế nào trong Python?

Quản lý bộ nhớ trong Python liên quan đến một đống riêng chứa tất cả các đối tượng Python và cấu trúc dữ liệu . Việc quản lý vùng riêng tư này được đảm bảo nội bộ bởi trình quản lý bộ nhớ Python.

Ví dụ về bộ nhớ được quản lý bằng Python như thế nào?

Python sử dụng một phần bộ nhớ để sử dụng nội bộ và bộ nhớ phi đối tượng . Một phần khác của bộ nhớ được sử dụng cho đối tượng Python như int, dict, list, v.v. CPython chứa bộ cấp phát đối tượng cấp phát bộ nhớ trong vùng đối tượng. Bộ cấp phát đối tượng nhận được một cuộc gọi mỗi khi đối tượng mới cần không gian.

Python có quản lý bộ nhớ tốt không?

Python tối ưu hóa việc sử dụng bộ nhớ bằng cách phân bổ cùng một tham chiếu đối tượng cho một biến mới nếu đối tượng đã tồn tại với cùng một giá trị. Đó là lý do tại sao python được gọi là bộ nhớ hiệu quả hơn .

Chủ Đề