Bộ câu hỏi phỏng vấn Python phần 2

*args và **kwargs nghĩa là gì? Tại sao chúng ta sử dụng chúng?


Chúng ta sử dụng * args khi chúng ta không chắc chắn có bao nhiêu đối số sẽ được chuyển đến một hàm hoặc nếu chúng ta muốn chuyển một danh sách được lưu trữ hoặc một bộ đối số đến một hàm.

** kwargs được sử dụng khi chúng ta không biết có bao nhiêu đối số từ khóa sẽ được chuyển đến một hàm hoặc nó có thể được sử dụng để chuyển các giá trị của từ điển làm đối số từ khóa.

Các định danh args và kwarg là một quy ước, bạn cũng có thể sử dụng * bob và ** billy nhưng điều đó sẽ không khôn ngoan.

Chỉ mục âm (negative indexes) là gì và tại sao lại dùng chúng?


Các chuỗi trong Python được lập chỉ mục và nó bao gồm số dương cũng như số âm.

Các con số dương sử dụng 0 làm chỉ mục đầu tiên và 1 làm chỉ mục thứ hai và tiếp tục như thế. Chỉ mục cho số âm bắt đầu từ -1 đại diện cho chỉ mục cuối cùng trong chuỗi và -2 làm chỉ số áp chót và chuỗi tiếp tục chuyển tiếp như số dương.

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

Làm sao để random thứ tự các item trong 1 list trong Python?


from random import shuffle

x = ['Keep', 'The', 'Blue', 'Flag', 'Flying', 'High']
shuffle(x)
print(x)

Kết quả: ['Flying', 'Keep', 'Blue', 'High', 'The', 'Flag']

Trình bày một thuật toán sắp xếp cho một tập dữ liệu số trong Python?


list = ["1", "4", "0", "6", "9"] list = [int(i) for i in list] list.sort() print (list)

Giải thích phương thức split(), sub(), subn() của mô đun "re" trong Python?


Để sửa đổi các chuỗi, mô-đun "re" của Python đang cung cấp 3 phương pháp:

  • split() - sử dụng một mẫu regex để “tách” một chuỗi đã cho vào một danh sách.
  • sub() - tìm tất cả các phần tử mà mô hình regex khớp với nhau và sau đó thay thế chúng bằng một chuỗi khác.
  • subn() - nó tương tự như sub() và cũng trả về chuỗi mới cùng với vị trí chuỗi đã thay thế.

Sự khác biệt giữa Django, Pyramid và Flask là gì?


Flask là một "nền tảng nhỏ" chủ yếu được xây dựng cho một ứng dụng nhỏ với các yêu cầu đơn giản. Trong Flask, bạn phải sử dụng các thư viện bên ngoài. Flask có thể sử dụng luôn.

Pyramid được xây dựng cho các ứng dụng lớn hơn. Nó cung cấp sự linh hoạt và cho phép nhà phát triển sử dụng các công cụ phù hợp với dự án của họ. Nhà phát triển có thể chọn cơ sở dữ liệu, cấu trúc URL, kiểu mẫu và nhiều hơn nữa. Pyramid có thể tùy chỉnh rất mạnh.

Giống như Pyramid, Django cũng có thể được sử dụng cho các ứng dụng lớn hơn. Nó có chứa một ORM.

Liệt kê các kiểu dữ liệu có sẵn trong Python?


  • Array
  • Set
  • Dictionary
  • String
  • Tuple
  • Number

Trong đó Array, Set, Dictionary là các kiểu dữ liệu mutable, còn String, Tuple và Number là các kiểu dữ liệu immutable

Biến cục bộ và biến toàn cục trong Python là như thế nào?


  • Biến cục bộ: Khi một biến được gán giá trị ở một vị trí bất kỳ trong thân hàm, nó được coi là một biến cục bộ.
  • Biến toàn cục: Những biến chỉ được tham chiếu trong thân hàm được ngầm hiểu là biến toàn cục.

Muốn xóa một file trong Python thì làm sao?


Sử dụng lệnh os.remove(file_name) hoặc os.unlink(file_name).

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


Flask hỗ trợ ứng dụng chạy trên nền cơ sở dữ liệu (RDBS). Hệ thống như vậy đòi hỏi phải tạo một lược đồ (schema), điều này yêu cầu chuyển đổi tệp schema.sql thành lệnh sqlite3. Vì thế bạn cần cài đặt lệnh sqlite3 để khai báo hoặc khởi tạo cơ sở dữ liệu trong Flask.

Flask cho phép gửi yêu cầu tới cơ sở dữ liệu theo ba cách:

  • before_request(): Chúng được gọi trước một yêu cầu và không có đối số truyền vào.
  • after_request(): Chúng được gọi sau một yêu cầu và truyền vào câu trả lời sẽ được gửi cho máy khách.
  • torndown_request(): Chúng được gọi trong tình huống khi ngoại lệ xảy 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. Yêu cầu sẽ không được phép thay đổi và giá trị của chúng sẽ bị bỏ qua.
Avatar Techmely Team
VIẾT BỞI

Techmely Team