Hướng dẫn dùng golang pop python

Phương thức list.pop[] dùng để xóa một phần tử được chỉ định ra khỏi danh sách, kết quả trả về của nó là phần tử bị loại bỏ.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp List pop[]

Cú pháp của phương thức này như sau:

Trong đó index là vị trí của phần tử bạn muốn xóa. Nếu giá trị index truyền vào không tồn tại trong list thì nó sẽ trả về lỗi IndexError: pop index out of range.

Nếu bạn không truyền index thì mặc định nó sẽ xóa phần tử cuối cùng của List.

Bài viết này được đăng tại [free tuts .net]

Giá trị trả về: Phương thức pop[] sẽ trả về phần tử bị xóa.

2. Ví dụ List pop[]

Ví dụ dưới đây sẽ xóa phần tử tồn tại trong List nên thao tác đơn giản, kết quả cũng rất chuẩn.

# programming language list
language = ['Python', 'Java', 'C++', 'French', 'C']

# Return value from pop[]
# When 3 is passed
return_value = language.pop[3]
print['Return Value: ', return_value]

# Updated List
print['Updated List: ', language]

Kết quả:

Return Value:  French
Updated List:  ['Python', 'Java', 'C++', 'C']

Sau khi xóa xong thì tổng số phần tử của list sẽ giảm đi một.

Tiếp theo là một ví dụ với các trường hợp khác như: index cần xóa không tồn tại, bạn truyền vào một số âm -1 ...

# programming language list
language = ['Python', 'Java', 'C++', 'Ruby', 'C']

# When index is not passed
print['When index is not passed:'] 
print['Return Value: ', language.pop[]]
print['Updated List: ', language]

# When -1 is passed
# Pops Last Element
print['\nWhen -1 is passed:'] 
print['Return Value: ', language.pop[-1]]
print['Updated List: ', language]

# When -3 is passed
# Pops Third Last Element
print['\nWhen -3 is passed:'] 
print['Return Value: ', language.pop[-3]]
print['Updated List: ', language]

Khi bạn chạy chương trình này thì sẽ trả về kết quả sau:

When index is not passed:
Return Value:  C
Updated List:  ['Python', 'Java', 'C++', 'Ruby']

When -1 is passed:
Return Value:  Ruby
Updated List:  ['Python', 'Java', 'C++']

When -3 is passed:
Return Value:  Python
Updated List:  ['Java', 'C++']

Hãy để ý kỹ kết quả và so  sánh với trong code để trải nghiệm nhé.

Lời kết: Như vậy là mình đã giới thiệu xong phương thức list.pop[] trong Python, chúc bạn học tốt.

Trong bài này ta sẽ tìm hiểu phương thức Set pop[] trong Python, công dụng của nó là dùng để loại bỏ một phần tử ngẫu nhiên ra khỏi Set. 

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mình không rõ Python tạo ra hàm này để làm gì, bởi việc loại bỏ một phần tử ngẫu nhiên thì ít khi được sử dụng trong thực tế.

1. Cú pháp Set pop[]

Giống như ý nghĩa của nó, cú pháp như sau:

Trong đó set là tập hợp bạn muốn loại bỏ một phần tử ngẫu nhiên. Nó không có tham số truyền vào.

Bài viết này được đăng tại [free tuts .net]

Giá trị trả về: Phương thức này sẽ loại bỏ 1 phần tử ngẫu nhiên ra khỏi Set, sau đó trả kết quả về là Set mới sau khi đã loại bỏ.

2. Ví dụ Set pop[]

Hãy xem các ví dụ sử dụng pop[] để xóa phần tử ngẫu nhiên sau.

Ví dụ: Hãy xóa một phần tử ngẫu nhiên ra khỏi Set

A ={'a', 'b', 'c', 'd'}

print['Return Value is', A.pop[]]
print['A = ', A]

Kết quả của chương trình này như sau:

Return Value is d
A =  {'a', 'b', 'c'}

Lời kết: Trên là tất cả thông tin về cách sử dụng của phương thức set pop[] trong Python, chúc các bạn học tốt.

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh

Tôi gọi nó là ăn xổi vì thực tế tôi không có code backend bao giờ. Và đây là lần đầu tiên tôi nghĩ rằng mình cần học backend để hiểu hơn về công việc của các dev bên backend. Với 1 lập trình viên frontend – cụ thể là iOS, việc làm việc thường xuyên với các APIs dạng restful là thường xuyên. Bạn sẽ dùng Alamofire, Moya… để request lên server, lấy data dạng JSON trả về, convert chúng sang object và xử lý business cho nó. Do vậy tôi cũng nắm được đôi chút phần nào về dạng của API: chúng ta sẽ có 1 đường link để gọi, các tham số cho header như:

Content-Type: application/json
Authorization: token..

Các params gửi lên, token để authenticate, các thông báo lỗi, response trả về, method của API như GET, POST, PUT, DELETE…

Xem thêm các chương trình tuyển dụng Golang lương cao trên TopDev

Bản chất nó như thế nào thì chắc hẳn là 1 dev front end sẽ không bao giờ hiểu được cách làm nếu không tự nhảy vào code. Vì tính tò mò, tôi đã giành 1 chút thời gian cho việc tìm hiểu các ngôn ngữ lập trình backend. Bạn sẽ có Nodejs, php, java, Golang, ruby, python… rất rất nhiều ngôn ngữ để làm. Tôi cũng hoang mang không biết nên chọn cái nào cho hợp lý, nên tôi bắt đầu tìm các bài so sánh giữa chúng. Cuối cùng tôi chọn Golang vì lý do server của nhiều công ty nổi tiếng đang dùng, như Google, facebook, Netflix… Và thứ 2 nó có con trỏ, 1 dạng na ná C++. Có người đã nói là ngôn ngữ C++ cho thế kỷ 21, tận dụng điểm mạnh của C++ và thay thế sự phức tạp của nó. Tuy nhiên khi bắt đầu học, tôi cảm giác hơi khó khăn chút xíu vì cú pháp khá na ná C/C++, mà lại giống Swift, … Nó có 1 số quy tắc mà mãi sau tôi mới biết như cách đặt tên hàm, … Nếu bạn tin tôi thì hãy đọc tiếp nhé, bạn sẽ thấy Golang là 1 ngôn ngữ rất tốt về hiệu năng và chặt chẽ về cú pháp.

Đầu tiên dự án của tôi bạn có thể xem tại đây:

//github.com/lexuanquynh/go_api

Đây là 1 dự án backend trả về các APIs dạng Restful. Bạn sẽ bắt gặp nhiều thứ quen thuộc như đăng nhập, đăng ký, cập nhật thông tin, authenticate với token… Vui lòng đọc kỹ README để hiểu cách cài đặt và các yêu cầu bắt buộc để chạy được dự án này.

Kiến trúc dự án

Với 1 người như “trang giấy trắng” – liệu bạn sẽ hỏi tôi là “tôi chưa code Golang bao giờ, vậy tôi có thể học được nó 1 cách dễ dàng không?” Câu trả lời này sẽ là “Bạn sẽ học được nó nếu như bạn nắm được luồng của dự án”. Vậy kiến trúc dự án của tôi tuân theo chuẩn nào? Rất thân thuộc với backend – tôi sử dụng Clean architecture để làm dự án này. Nếu bạn cũng code iOS như tôi, bạn hãy xem kiến trúc Clean architecture cho iOS ở đây nhé:

//github.com/sergdort/CleanArchitectureRxSwift

Nếu bạn đã nắm chắc về kiến trúc này thì thật đơn giản để bắt đầu đọc hiểu project Golang của tôi.

Kiến trúc Clean architecture

Bạn có thể dịch nó là kiến trúc sạch – hay đơn giản là không cần dịch – chỉ cần hiểu nó hoạt động thế nào thôi.

Bạn nhìn thấy 3 vòng tròn màu khác nhau, phía trong cùng màu cam là lớp Domain – lớp này sẽ chứa các use case của ứng dụng, và các Entities sử dụng trong ứng dụng. Vậy use case là gì:

  • Use case: là các hành động trong ứng dụng. Ví dụ hành động đăng nhập, đăng ký.. trong 1 ứng dụng được gọi là use case – và use case sẽ sử dụng các hàm ảo[interface hay protocol] mà bạn đã từng viết để mô tả. Nó chỉ có tên hàm chứ ruột không có. Và lớp nào kế thừa lại các use case này đều phải implement toàn bộ use case.
  • Entities: cụ thể là các model. Thường bạn sẽ định nghĩa dưới dạng giá trị[struct] thay vì class. Nó lưu thông tin dữ liệu, nên mới được viết dưới dạng struct.

Vòng tròn thứ 2 là màu xanh lá cây – lớp Platform. Nó implementation các use case của lớp Domain ở trên, và nhằm che dấu cách triển khai như thế nào. Nó có thể là gọi service, lưu dữ liệu vào database[sql, realm..].

Vòng tròn ngoài cùng có màu xanh biển – lớp Application. Application có nhiệm vụ kết nối người dùng với các use case của ứng dụng. Nó có thể được triển khai bất cứ mô hình kiến trúc nào như MVC, MVVM, MVP.

Vì thế, application sẽ giao tiếp bằng interface, mà không trực tiếp để ẩn logic của các use case này. Ta thấy rằng việc này làm cho ứng dụng trở nên sạch sẽ, dễ dàng thay đổi các UseCaseProvider implementation mà không cần thiết phải thay thế các UseCase interface.

Vậy là bạn đã nắm qua về kiến trúc của dự án. Trong bài tiếp theo, tôi sẽ hướng dẫn bạn cách “ăn xổi” với Golang – làm thế nào để học Golang nhanh chóng và ứng dụng được vào dự án này.

Bài viết gốc được đăng tải tại codetoanbug.com

Có thể bạn quan tâm:

  • iOS là gì? Giới thiệu lập trình ios
  • Giới thiệu chung về ngôn ngữ lập trình Scratch
  • Giới thiệu IDE phổ biến trong lập trình Python

Xem thêm tuyển dụng CNTT hấp dẫn trên TopDev

Chủ Đề