Python
Duyệt các bài viết được gắn thẻ Python
104 bài viết

Tuple Python là gì? Tìm hiểu về tuple python
Với anh em nào chưa biết xài Tuple, bài viết này giúp đỡ được, với anh em nào đã xài Tuple và quên té cái giống và khác với List, đọc bài này cũng ổn. Nói chung là bài viết Tuple Python này dành cho mọi người, mọi trình độ. Đọc vui anh em nhớ ủng hộ nha!. Viết khá cụ thể, giống, khác, ví dụ ví dại rõ ràng đầy đủ. Bắt đầu ngay thôi nào! 1. Tuple là gì? Bắt đầu với đặc sản là lướt qua định nghĩa. A Tuple is also a sequence data type that can contain elements of different data types, but these are immutable in nature. In other words, a tuple is a collection of Python objects separated by commas. The tuple is faster than the list because of static in nature. Tuple là kiểu dữ liệu chuỗi bao gồm nhiều các thành phần có kiểu dữ liệu khác nhau, nhưng nó là không thể thay đổi được. Nói một các khác, tuple là một object Collection phân cách nhau bằng dấu phẩy. Tuple nhanh hơn List cũng ở chỗ này, do tĩnh (static) không thể thay đổi được. Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python Biến và kiểu dữ liệu cơ bản trong Python Sau định nghĩa thì là syntax, làm gì thì làm vẫn phải lướt qua syntax nha. Ví dụ này bao gồm nhiều loại tuples lun ha. # Nhiều loại tuple # Empty tuple tuple_rong = () print(tuple_rong) # Tuple bao gồm toàn số tuple_toan_so = (1, 2, 3) print(tuple_toan_so) # Tuple nhiều loại dữ liệu tuple_nhieu_loai_du_lieu = (true, "Kieu Chuoi", 5.2) print(tuple_nhieu_loai_du_lieu) # Tuple kết hợp nhiều loại tuple_hon_hop = ("hon hop", [true, false, 6], (9, 2, 3)) print(tuple_hon_hop) Chỗ nhanh chậm này...

Python: Giải thích hàm Sleep
Bài viết được sự cho phép của tác giả Phạm Văn Nguyên Trong Python hoặc bất kỳ ngôn ngữ lập trình nào khác, đôi khi bạn muốn thêm thời gian trễ trong chương trình của mình trước khi bạn tiếp tục đến phần tiếp theo của mã. Nếu đây là những gì bạn muốn làm, thì bạn nên sử dụng chức năng sleep từ module time . Đầu tiên, tôi sẽ bắt đầu bằng cách thảo luận về cách sử dụng chức năng sleep của Python . Sau đó tôi sẽ nói nhiều hơn về một số câu hỏi thường gặp và cách thức thực hiện của function(hàm) sleep . Hàm sleep Giống như tôi đã đề cập, Sleep là một hàm tích hợp Python trong mô-đun time . Vì vậy, để sử hàm sleep , bạn sẽ cần import module time trước. Hàm sleep có một đối số là khoảng thời gian tính bằng giây mà bạn dừng. Sử dụng hàn sleep trong Python 2 và Python 3 hoàn toàn giống nhau, vì vậy bạn sẽ không cần phải lo lắng về phiên bản Python nào mà mã của bạn đang chạy. Nó thực sự rất đơn giản và dễ hiểu. Chúng ta hãy đi qua một số ví dụ. Python: Tạo một máy chủ HTTP đơn giản Python 2 Giả sử bạn muốn hàn sleep để thêm độ trễ 10 giây. Trong ví dụ sau, tôi in ra thời gian đã trôi qua giữa việc gọi hàm sleep và sau khi nó trả về . import time# record start timestart_time = time.time()# sleep for 10 secondstime.sleep(10)# print elapsed timeelapsed_time = time.time() - start_timeprint(elapsed_time)# output: 10.000149965286255 Như bạn có thể thấy, thời gian trôi qua rất gần với 10 giây, đó là những gì chúng ta mong đợi. Python...

Tổng hợp các Module Python “khủng” mà bạn có thể đã bỏ qua
Tác giả: Adam Goldschmidt Python là một ngôn ngữ lập trình tuyệt vời, và nó chứa nhiều module tích hợp sẵn nhằm giúp chúng ta viết code tốt hơn, code đẹp hơn. Mục tiêu Thông qua bài viết này, chúng ta sẽ sử dụng một vài module và phương pháp ít ai biết mà có thể cải thiện được cách code của chúng ta cả về phần nhìn và tính hiệu quả. NamedTuple Tôi tin rằng một vài người hẳn đã biết tới câu lệnh phổ biến hơn là namedtuple từ module collections (Nếu chưa biết bạn có thể xem tại đây), nhưng kể từ phiên bản Python 3.6, một loại mới đã có trong module typing là NamedTuple . Cả hai đều được thiết kế để giúp bạn nhanh chóng tạo ra những đối tượng bất biến có thể đọc được. NamedTuple thực ra là một phiên bản viết lại của namedtuple , và theo quan điểm của tôi thì nó dễ đọc hơn nhiều: In [2]: import typing In [3]: class BetterLookingArticle(typing.NamedTuple): ...: title: str ...: id: int ...: description: str = "No description given." ...: In [4]: BetterLookingArticle(title="Python is cool.", id=1) BetterLookingArticle(title='Python is cool.', id=1, description='No description given.') Còn thay vào đó nếu ta sử dụng namedtuple : In [6]: import collections In [7]: Article = collections.namedtuple("Article", ["title", "description", "id"]) In [8]: Article(title="Python is cool.", id=1, description="") Article(title='Python is cool.', description='', id=1) array.array Các mảng giá trị số hiệu quả. Mảng là những loại trình tự hoạt động rất giống như list, ngoại trừ các loại đối tượng được lưu trữ bị hạn chế. Khi sử dụng module array , chúng ta cần khởi tạo bằng 1 typecode kiểu mã mà trong đó tất cả những element phần tử đều được sử dụng. Hãy so sánh tính...

Một số đoạn code Python phổ biến bạn nên thuộc lòng
Bài viết được sự cho phép của tác giả Nguyen Chi Thuc Đảo ngược chuỗi trong Python Đoạn mã sau đảo ngược một chuỗi bằng cách sử dụng thao tác cắt (slicing) trong Python . # Đảo ngược chuỗi sử dụng slicing my_string = "ABCDE" reversed_string = my_string[:: -1 ] print(reversed_string) # Kết quả # EDCBA Viết Hoa ký tự đầu tiên của mỗi từ Đoạn code sau có thể được sử dụng để chuyển đổi một chuỗi thành trường chuỗi mới được viết HOA ký tự đầu tiên của mỗi từ. Điều này được thực hiện bằng cách sử dụng phương thức title() của string class. my_string = "đây là một chuỗi" # Sử dụng hàm title() của lớp string new_string = my_string.title() print(new_string) # kết quả # Đây Là Một Chuỗi Tìm việc python các công ty tập đoàn Tìm các phần tử duy nhất trong một chuỗi Đoạn code sau có thể được sử dụng để tìm tất cả các phần tử duy nhất trong một chuỗi. Chúng ta sử dụng tính chất của kiểu dữ liệu set: Tất cả các phần tử trong set là duy nhất. my_string = "aavvccccddddeee" # Chuyển chuỗi thành một set temp_set = set(my_string) # Chuyển set thành một chuỗi sử dụng join new_string = '' .join(temp_set) print(new_string) # Kết quả # acdve # Vì set không có thứ tự # nên thứ tự chuỗi mới nhận được là ngẫu nhiên In một Chuỗi hoặc một List n lần Bạn có thể sử dụng phép nhân (*) với chuỗi hoặc List. Điều này cho phép chúng ta nhân chúng bao nhiêu lần tùy thích. n = 3 # Số lần lặp lại my_string = "abcd" my_list = [ 1 , 2 , 3 ] print(my_string*n) # abcdabcdabcd print(my_list*n) # [1,2,3,1,2,3,1,2,3] Một...

Học Python: Từ Zero đến Hero (phần 2)
Iteration: Looping thông qua Data Structures Như đã biết về Python Basics , List iteration rất đơn giản. Các developer Python thường sử dụng looping For như sau: bookshelf = [ "The Effective Engineer", "The 4 hours work week", "Zero to One", "Lean Startup", "Hooked" ] for book in bookshelf: print(book) Vậy là với mỗi quyển trên kệ, ( có thể làm mọi thứ ) để print nó. Đơn giản & trực quan, đó chính là Python. Đối với hash data structure, chúng ta cũng có thể sử dụng loop for nhưng áp dụng key : dictionary = { "some_key": "some_value" } for key in dictionary: print("%s --> %s" %(key, dictionary[key])) # some_key --> some_value Với mỗi key trong dictionary , chúng ta sẽ print key đó và value tương ứng của nó. Cách khác là sử dụng method iteritems . dictionary = { "some_key": "some_value" } for key, value in dictionary.items(): print("%s --> %s" %(key, value)) # some_key --> some_value Chúng ta đã đặt tên 2 biến số là key & value , nhưng không cần thiết, có thể đặt bất kì tên nào. Cùng xem: dictionary_tk = { "name": "Leandro", "nickname": "Tk", "nationality": "Brazilian", "age": 24 } for attribute, value in dictionary_tk.items(): print("My %s is %s" %(attribute, value)) # My name is Leandro # My nickname is Tk # My nationality is Brazilian # My age is 24 Rõ ràng, chúng ta đã sử dụng attribute như 1 tham số cho Dictionary key & nó hoạt động rất tốt. Quá tuyệt vời! Học Python: Từ Zero đến Hero (phần 1) Classes & Objects Một chút lý thuyết Objects là đại diện cho các đối tượng trong thực tế như xe hơi, chó, xe đạp. Các objects sẽ chia sẻ 2 đặc tính chủ chốt là: data và behavior...

Tuyển tập chuẩn “sách giáo khoa” Python
Python là ngôn ngữ lập trình hướng đối tượng, thông dịch, mã nguồn mở, đa mục đích và là ngôn ngữ lập trình được dùng khá phổ biến trên thế giới hiện nay. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, được đánh giá là một ngôn ngữ khá dễ học và là lựa chọn đáng cân nhắc cho những ai mới bắt đầu học lập trình . 10 sách tự học Python miễn phí rất hay Invent Your Own Computer Games with Python Invent Your Own Computer Games with Python sẽ hướng dẫn bạn làm thế nào để tạo ra các trò chơi máy tính sử dụng ngôn ngữ lập trình Python – ngay cả khi bạn chưa biết gì về lập trình trước đó. Bắt đầu bằng cách xây dựng trò chơi cổ điển như Hangman, đoán số, Tic-Tac-Toe, rồi đến các trò chơi phức tạp hơn như trò chơi săn kho báu, trò chơi va chạm với hiệu ứng âm thanh,…. Xuyên suốt quyển sách, bạn sẽ học được các khái niệm về lập trình và toán học quan trọng, các kiến thức khoa học máy tính cơ bản. Đọc sách và làm theo các hướng dẫn, bài tập bạn sẽ có được nền tảng vững chắc về lập trình Python và rất thú vị khi bạn có được những game do chính tay bạn lập trình. Download tài liệu Python Making Games with Python & Pygame Cuốn sách Making Games with Python & Pygame là một cuốn sách lập trình hướng dẫn sử dụng thư viện trò chơi Pygame trên ngôn ngữ lập trình Python. Thay vì giảng dạy các khái niệm lập trình và để bạn loay hoay xây dựng chương trình với các khái niệm đó, cuốn sách...

Trải nghiệm lần đầu viết thư viện Python từ ngôn ngữ biên dịch
Tác giả: Nguyễn Hồng Quân Có một người bạn mà mình từng ngồi nhiều cafe để bàn về những công nghệ mới để phục vụ cho dự án công ty. Một câu hỏi mà bạn hay đặt ra là dùng ngôn ngữ lập trình gì tiếp theo. Mình thì khá dày dạn về Python và đã từng xây dựng nền móng cho những dự án Python ở công ty bạn. Tuy nhiên, mình và bạn đều đồng ý là nên mở rộng phạm vi công nghệ để thích ứng với nhiều thể loại dự án khác nhau. Đi tham vấn nhiều nơi, được nghe khen ngợi về Go nên bạn rất muốn một lần được áp dụng Go trong cty của bạn. Còn mình thì, nếu đã chọn một ngôn ngữ biên dịch và phải bỏ thời gian cá nhân ra học thì mình thà chọn Rust hơn. Tất nhiên, ý thức được độ khó của Rust nên mình chả bao giờ muốn đem Rust vào công ty của bạn cả. Trong khi lý do thường được nêu ra để chọn Go là cú pháp đơn giản, ít keyword, dễ học, thì với mình, độ khó của Rust là thứ đáng để đầu tư. Thà chịu khó ban đầu nhưng gặt hái kết quả tốt về sau. Ngoài ra, điều khiến mình ưu ái Rust hơn Go là ở chỗ Rust không có garbage collector, không có runtime riêng, nên có thể dùng Rust để viết thư viện tầng dưới, phục vụ cho Python và các ngôn ngữ khác được, chưa kể, việc được thiết kế tốt và không có bộ runtime khiến Rust là ngôn ngữ duy nhất (ngoài C) khiến tác giả của Linux muốn thấy nó được ứng dụng vào nhân Linux. Lý do viết thư viện...

Kiểu dữ liệu Boolean và toán tử logic AND, OR, NOT trong Python
Trong các bài trước chúng ta đã làm quen với các kiểu dữ liệu số nguyên (int), số thập phân (float) và kiểu chuỗi (string) trong Python. Tiếp theo, chúng ta sẽ làm quen với một kiểu dữ liệu khác là Boolean, một kiểu dữ liệu được sử dụng trong hầu hết các ngôn ngữ lập trình hiện nay. Cùng Station D tìm hiểu về Boolean trong Python và các toán tử AND OR NOT thông qua các ví dụ minh họa thật chi tiết. Xem thêm nhiều việc làm Python lương cao trên Station D Kiểu dữ liệu Boolean trong Python Boolean hay Bool trong python là gì? Boolean là kiểu dữ liệu mà mọi ngôn ngữ lập trình ngày này đều sử dụng, và tất nhiên Boolean cũng là một kiểu dữ liệu trong Python. Boolean đại diện cho hai giá trị logic duy nhất là: đúng (True) và sai (False). Lưu ý khi code, giá trị True/False phải viết hoa, nếu không sẽ bị báo lỗi. Trong máy tính, kiểu dữ liệu này được lưu trữ trên 1 bit (là đơn vị lưu trữ nhỏ nhất), có giá trị là 1 hoặc 0. Thông thường, các giá trị Boolean là True hoặc False không được gán trực tiếp với biến mà thông qua một phép so sánh, ví dụ: age = 20 is_over_age = age >= 18 is_under_age = age < 18 is_twenty = age == 20 Một biểu thức so sánh sẽ trả về kết quả là dạng Boolean tức là True hay False. Chúng ta có các phép so sánh thường dùng như: > Lớn hơn >= Lớn hơn hoặc bằng == So sánh bằng < Nhỏ hơn <= Nhỏ hơn hoặc bằng. is so sánh hai đối tượng có bằng nhau không is not:...

Viết ứng dụng tra số điện thoại thuộc Quốc gia nào bằng Python
Bài viết được sự cho phép của tác giả AnonyViet Hôm nay, mình sẽ hướng dẫn các bạn cách tạo ứng dụng tra số điện thoại đó xem nó thuộc Quốc gia bằng Python nhé. Cách thực hiện khá đơn giản vì chúng ta đã có sẵn các thư viện. Bài viết này khá basic vì dành cho người mới bắt đầu tim hiểu Python. Nếu bạn muốn học chuyên sau Python hãy comment bên dưới, anonyviet sẽ ra thêm các bài nâng cao hơn. Đây là một ứng dụng tra số điện thoại rất đơn giản, do đó bạn chỉ cần có kiến thức cơ bản về Python để có thể hoàn thành ứng dụng này. Python và cách tiết kiệm dung lượng cho phần mềm nhúng Cách tạo ứng dụng tra số điện thoại Yêu cầu phone-iso3166 pycountry Tkinter Bạn cần cài đặt các thư viện python ở trên để sử dụng trong ứng dụng này. Cài đặt pip install python-tk, phone-iso3166, pycountry Mình sẽ sử dụng phone-iso3166 để xác định tên viết tắt của quốc gia rồi gán vô biến alpha_2 và pycountry để xác định tên đầy đủ của quốc gia đó bằng cách sử dụng alpha_2 mà chúng ta đã thu thập được từ phone-iso3166 . Code mẫu >>> import pycountry >>> from phone_iso3166.country import phone_country >>> code = phone_country("255757295721") >>> code 'TZ' >>> pycountry.countries.get(alpha_2 = code) Country(alpha_2='TZ', alpha_3='TZA', common_name='Tanzania', name='Tanzania, United Republic of', numeric='834', official_name='United Republic of Tanzania') >>> Giờ thì chúng ta đã biết cách lấy thông tin quốc gia từ số điện thoại, nhưng ứng dụng này vẫn hoạt động dưới dạng command line. Nên bây giờ, chúng ta sẽ thiết kế GUI cho ứng dụng. Python call by gì? Tạo file app.py Mở notepad lên tạo file app.py với nội dung...

Chuyển đổi Unicode dựng sẵn & tổ hợp với Python
Bài viết được sự cho phép của tác giả Nguyễn Hồng Quân Dạo này các ứng dụng với dữ liệu tiếng Việt đang ngày một nhiều, trong đó vấn đề sai khác giữa Unicode dựng sẵn và tổ hợp, tuy nhỏ, nhưng cũng gây mất chút kha khá thời gian debug cho những người mới vào nghề. Mình chia sẻ xíu kinh nghiệm này, để việc phát triển ứng dụng tiếng Việt trở nên trơn tru hơn, và cũng để “khoe hàng” về hệ sinh thái giàu mạnh của Python . Tưởng tượng một tình huống sau. Ứng dụng của bạn cho người dùng nhập vào một chuỗi tiếng Việt, khi nhận được chuỗi, phần mềm sẽ dò trong cơ sở dữ liệu để chọn ra bản ghi nào ăn khớp với chuỗi đó. Cơ sở dữ liệu này được một người khác nhập liệu. Bạn đã chắc chắn rằng chuỗi đó có tồn tại trong cơ sở dữ liệu, nhưng không hiểu sao phần mềm so sánh, dò tìm không ra. Hóa ra là người nhập liệu, khi gõ chuỗi vào thì dùng Unicode tổ hợp (decomposed), trong khi người dùng lúc nhập chuỗi tìm kiếm vào thì dùng Unicode dựng sẵn (composed). Dưới dạng chuỗi byte thì hai chuỗi này không giống nhau, nên bằng biện pháp so sánh chuỗi unicode thông thường, phần mềm sẽ không nhận ra. Tại sao bạn nên sử dụng Python Generator Lấy ví dụ một chuỗi sau, “Tiếng Việt bão táp”, nếu là Unicode dựng sẵn, khi thể hiện dưới dạng chuỗi byte, dàn theo bảng mã UTF-8, thì là chuỗi byte này: b 'Ti xe1xbaxbf ng Vi xe1xbbx87 t b xc3xa3 o t xc3xa1 p' Trong khi nếu là Unicode tổ hợp, khi thể hiện ở dạng chuỗi byte UTF-8, thì...

Hàm trong Python – Cú pháp và một số hàm phổ biến
Hàm – Function là một khái niệm cơ bản quan trọng nhất trong mọi ngôn ngữ lập trình mà bạn cần nắm vững để có thể sử dụng. Bài viết hôm nay chúng ta cùng nhau tìm hiểu về hàm trong Python , cú pháp khai báo hàm cũng như lời gọi hàm sử dụng trong ngôn ngữ này nhé. Hàm trong Python là gì? Trong lập trình Python, hàm được kí hiệu là function là một khối code hay nhóm lệnh có tổ chức và có thể tái sử dụng được dùng để triển khai một hành động liên quan, thực hiện một tác vụ cụ thể. Nó giúp chia một chương trình Python ra thành những khối/ phần/ mô đun nhỏ hơn, có tổ chức để dễ dàng quản lý hơn và tối ưu hóa việc tái sử dụng. Trong Python có 2 loại hàm cơ bản chính gồm: Hàm Python tích hợp sẵn – Built-in Functions: hàm có sẵn trong thư viện cơ bản được Python cung cấp Hàm Python tự định nghĩa : hàm mà người dùng tự khai báo Ở phiên bản Python 3.12 mới nhất hiện nay, có khoảng 70 functions được tích hợp sẵn và bạn có thể tham khảo ở link này để sử dụng Cú pháp khai báo function trong Python Cấu trúc hàm trong Python: Trong đó: def : từ khóa bắt đầu định nghĩa một hàm trong Python funtion_name : tên function khai báo – định danh duy nhất và tuân thủ quy tắc đặt tên hàm Python arguments : danh sách các tham số/ đối số đặt trong ngoặc đơn, được khai báo tách nhau bởi dấu phẩy dấu “:” : đánh dấu kết thúc khai báo tiêu đề của hàm statement list : danh sách các câu...

Chiến trường sinh tử phiên bản lập trình : Python vs Ruby vs Golang
Nhìn chung mọi ngôn ngữ lập trình đều có lịch sử, điểm mạnh, điểm yếu và những bộ framework phục vụ cho các mục đích khác nhau. Trong “cuộc đời” một ngôn ngữ, luôn có một điểm “nóng” mà tại đó chúng được sử dụng nhiều nhất với hiệu quả cao nhất. Trong những ngôn ngữ mà chúng ta đang sử dụng rộng rãi và đang “nóng” đó thì Python , Ruby và Golang xứng đáng là ba đối thủ “truyền kiếp” ít nhất là trong thời điểm hiện tại vì nó làm “đau đầu” không biết bao người đang cố lựa chọn thêm một ngôn ngữ để học. Python Vietnam Web Summit 2016 Hồ Chí Minh (22/10/2016) – Hà Nội (29/10/2016) – Đà Nẵng (05/11/2016) Ngôn ngữ lập trình này đã “sống” được tận 24 năm và có lẽ còn lâu nữa chỉ với một triết lý đó chính là “code ít hơn, được nhiều hơn” và do không cần phải code quá nhiều nên bug vì thế cũng… ít theo. Nếu như chúng ta so sánh Python và Java, Python sẽ lấy ít thời gian của lập trình viên hơn từ lúc bắt đầu cho đến khi sản phẩm thành hình, dù cho xét về hiệu năng thì Python về mặt lý thuyết không thể nào bằng Java. Python phù hợp nhất cho xây dựng web và phân tích dữ liệu. Từ những ngân hàng lớn cho đến YouTube, Python đều đang được sử dụng, cả trong lập trình game, sever maintainance hay cả xây dựng các hệ thống phục vụ nghệ thuật và âm nhạc (Spotify và Ruby on Rails là một ví dụ tiêu biểu). Ngoài ra đây còn là ngôn ngữ tiềm năng để xây những app có khả năng scale nhanh chóng, đó là...