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

Cú pháp cơ bản trong lập trình Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Trong bài này tôi sẽ trình bày khái quát cho bạn về cú pháp Python cơ bản. Mục đích của bài này là giúp bạn làm quen dần các khái niệm và thuật ngữ được sử dụng trong Python từ đó bạn có thể rút ra điểm giống và khác nhau với một số ngôn ngữ lập trình khác. Đặt tên (identifier) trong Python Một định danh (identifier) trong Python là một tên được sử dụng để nhận diện một biến, một hàm, một lớp, hoặc một đối tượng. Một định danh bắt đầu với một chữ cái từ A tới Z hoặc từ a tới z hoặc một dấu gạch dưới (_) được theo sau bởi 0 hoặc nhiều ký tự, dấu gạch dưới hoặc các chữ số (từ 0 tới 9). Python không hỗ trợ các ký tự đặc biệt chẳng hạn như @, $ và % bên trong các định danh. Python là một ngôn ngữ lập trình phân biệt chữ hoa- chữ thường, do đó định danh UCODE và ucode là hai định danh hoàn toàn khác nhau trong lập trình Python. Dưới đây là một số qui tắc nên được sử dụng trong khi đặt tên các định danh: Tên có thể là một dãy ký tự hoặc 1 dãy số bắt đầu bằng ký tự hoặc dấu gạch dưới Không được phép sử dụng ký tự đặc biệt để đặt tên (ngoại trừ dấu gạch dưới). Ký tự đầu tiên có thể là chữ cái, dấu gạch dưới, nhưng không được sử dụng chữ số làm ký tự đầu tiên. Khi đặt tên không nên đặt trùng với từ khóa trong Python (phần dưới sẽ trình bày về khác từ khóa này)....

Tham số hàm Python
Bài viết được sự cho phép của ucode.vn Trong bài trước chúng ta đã tìm hiểu về hàm Python tích hợp sẵn và hàm Python do người dùng định nghĩa với số lượng tham số tùy biến. Bạn sẽ biết cách để định nghĩa hàm bằng cách sử dụng tham số mặc định, keyword và tham số tùy biến trong bài này. Tùy vào việc bạn định nghĩa hàm Python theo cách nào mà chúng ta có thể gọi hàm khác nhau, tất nhiên, dù gọi hàm theo cách nào thì kết quả cuối cùng vẫn hợp lý và giống nhau. Tham số của hàm Python Trong bài hàm Python do người dùng định nghĩa, chúng ta đã biết cách định nghĩa và gọi một hàm, giống như ví dụ dưới đây: def Xin_chao ( ten,loi_chao ): """Hàm Xin_chao chào một người với thông điệp cho trước """ print( "Xin chào" ,ten + ', ' + loi_chao) Xin_chao( "Nam" , "đọc bài trên uCode.vn vui vẻ nha!" ) Khi chạy code trên, ta sẽ nhận được dòng chữ trên màn hình như sau: Xin chào Nam, đọc bài trên uCode.vn vui vẻ nha! Như bạn thấy, hàm Xin_chao() này có 2 tham số. Do đó, nếu chúng ta gọi hàm với 2 tham số, nó sẽ chạy “ngon lành” và không gặp phải thông báo lỗi nào. Nếu gọi hàm với số tham số khác 2, trình thông dịch sẽ hiển thị thông báo lỗi. Nếu muốn, bạn có thể thử gọi hàm Xin_chao() trên với 1 tham số và không có tham số. #Thông báo lỗi khi gọi hàm Xin_chao() với 1 tham số TypeError: Xin_chao() missing 1 required positional argument: 'loi_chao' #Thông báo lỗi khi gọi hàm Xin_chao() mà không có tham số TypeError: Xin_chao() missing 2 required...
![[Python cơ bản thường dùng trong công việc] Phần 15 : Socket programming](https://img-cdn.stationd.blog/w800-h600/featured/class-trong-python-218x150_20250424085552_683d0988.png)
[Python cơ bản thường dùng trong công việc] Phần 15 : Socket programming
Chương này sẽ ví dụ việc xây dựng một môi trường Client – Server sử dụng Socket. Server sẽ lắng nghe trên một port (12345) và khi client kết nối vào sẽ thông báo hiển thị thông tin của client (IP và Port) và gởi 1 message xuống cho client. 15.1. Server side Tạo file server.py với nội dung bên dưới. Got connection import socket s = socket.socket() host = socket.gethostname() port = 12345 s.bind((host, port)) s.listen(5) while True: c, addr = s.accept() print 'Got connection from', addr c.send('Thank you for connecting') c.close() Đoạn code trên khi thực thi sẽ chạy và lắng nghe ở port TCP 12345. Mỗi khi có một kết nối từ client sẽ hiện ra thông báo kết nối từ IP và Port nào, ví dụ: from Got connection from ('192.168.1.104', 60018) . Sau đó, gởi trả một message với nội dung Thank you for connecting về cho client. Sau đó, đóng kết nối với client. 15.2. Client side Tạo file client.py với nội dung bên dưới. import socket s = socket.socket() host = '127.0.0.1' port = 12345 s.connect((host, port)) print s.recv(1024) s.close Đoạn code trên sẽ kết nối đến một socket server thông qua hostname lấy được từ phương thức socket.gethostname() và port 12345. Sau khi kết nối, sẽ hiển thị ra kết quả trả về từ server. Sau đó thì đóng kết nối. << Phần 14 : Gửi email với SMTP Xem thêm tuyển dụng python các công ty hot

Tại sao phải chọn giữa R hay Python trong khi bạn có thể chọn cả 2?
Package reticulate cho phép ngôn ngữ lập trình R và Python có thể hoạt động cùng nhau – sau đây chính là 1 bài hướng dẫn mình muốn giới thiệu với các bạn. Cả ngôn ngữ lập trình R và Python có nhiều điểm chung cũng như vài khác biệt. Hầu hết các ý tưởng tiềm ẩn về cấu trúc dữ liệu của 2 ngôn ngữ này khá là giống nhau. Có nhiều package data science đang tồn tại cho cả 2 ngôn ngữ lập trình này. Nhưng R lại được thiết lập theo 1 cách mà mình sẽ mô tả như là ‘dữ liệu trước, ứng dụng sau’. Trong khi Python thì ngược lại khi nó nghiêng về việc phát triển ứng dụng được điều hướng từ ‘outlet’ nhiều hơn. Mình có 1 ví dụ: các lập trình viên Javascript sẽ dễ học ngôn ngữ lập trình Python hơn là R, vốn đã quen với syntax và việc quản lý ‘environment’. Hơn thế nữa, mình đã làm việc cả trên R và Python và đã có lúc gặp phải các tình huống mà mình sẽ muốn dùng cả 2 cùng với nhau. Điều này xảy ra vì 1 vài lý do, và lý do phổ biến nhất chính mình gặp phải là khi bạn đang build 1 thứ gì đó ở R, và bạn cần functionality mà chính bạn hay ai đó đã viết rồi bằng ngôn ngữ lập trình Python. Chắc chắn rằng bạn có thể viết lại nó với R, nhưng mình có cách tiện hơn để giúp bạn làm điều này. Package reticulate trong R cho phép bạn có thể thực hành code Python bên trong 1 session của R. Thực ra package này đã có mặt được vài năm và ngày 1 phát triển hơn,...

Điều khiển luồng trong Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Các bạn cũng đã khá quen thuộc với các lệnh điều khiển luồng trong C, C++ như if, if else, … Chương này sẽ trình bày về các lệnh điều khiển luồng trong Python. Ngôn ngữ lập trình Python coi các giá trị khác null và khác 0 là true, và coi các giá trị là null hoặc 0 là false. Trong bài này chúng ta cùng tìm hiểu các lệnh điều khiển luồng trong Python: Lệnh if trong Python Lệnh if trong Python là giống như trong ngôn ngữ C. Lệnh này được sử dụng để kiểm tra một điều kiện, nếu điều kiện là true thì lệnh của khối if sẽ được thực thi, nếu không nó sẽ bị bỏ qua. Khởi Đầu Dự Án Python Như Thế Nào Để Thuận Tiện Phát Triển Lên Lệnh if…else trong Python Một lệnh else có thể được sử dụng kết hợp với lệnh if. Một lệnh else chứa khối code mà thực thi nếu biểu thức điều kiện trong lệnh if được ước lượng là 0 hoặc một giá trị false. Lệnh else là lệnh tùy ý và chỉ có duy nhất một lệnh else sau lệnh if. Xem thêm tuyển dụng python lương cao cho bạn Lồng các lệnh if trong Python Đôi khi có một tình huống là khi bạn muốn kiểm tra thêm một điều kiện khác sau khi một điều kiện đã được ước lượng là true. Trong tình huống như vậy, bạn có thể sử dụng các lệnh if lồng nhau trong Python. Trong cấu trúc các lệnh if lồng nhau, bạn có thể có cấu trúc if…elif…else bên trong cấu trúc if…elif…else khác. Python free variable Trường hợp các Suite lệnh đơn...

Các lệnh: break, continue, pass trong Python
Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Lệnh break trong Python Lệnh break trong Python là giống như lệnh break trong C. Lệnh này kết thúc vòng lặp hiện tại và truyền điều khiển tới cuối vòng lặp. Lệnh break này có thể được sử dụng trong vòng lặp while và vòng lặp for. Nếu bạn đang sử dụng lồng vòng lặp, thì lệnh break kết thúc sự thực thi của vòng lặp bên trong và bắt đầu thực thi dòng code tiếp theo của khối. Cú pháp của lệnh break là khá đơn giản: break Dưới đây là ví dụ minh họa lệnh break trong Python: for letter in 'Python' : # Vi du thu nhat if letter == 'h' : break print 'Chu cai hien tai :' , letter var = 10 # Vi du thu hai while var > 0 : print 'Gia tri bien hien tai la :' , var var = var - 1 if var == 5 : break print "Good bye!" Khi code trên được thực thi sẽ cho kết quả: Chu cai hien tai : P Chu cai hien tai : y Chu cai hien tai : t Gia tri bien hien tai la : 10 Gia tri bien hien tai la : 9 Gia tri bien hien tai la : 8 Gia tri bien hien tai la : 7 Gia tri bien hien tai la : 6 Good bye! Tham số hàm Python Lệnh continue trong Python Lệnh continue trả về điều khiển tới phần ban đầu của vòng lặp. Lệnh này bỏ qua lần lặp hiện tại và bắt buộc lần lặp tiếp theo của vòng lặp diễn ra. Lệnh continue có thể được sử dụng trong vòng lặp while hoặc vòng lặp for. Dưới...
![[Python cơ bản thường dùng trong công việc] Phần 9 : Kết nối MySQL](https://img-cdn.stationd.blog/w800-h600/featured/class-trong-python-218x150_20250424021656_e7d7cdd7.png)
[Python cơ bản thường dùng trong công việc] Phần 9 : Kết nối MySQL
MySQL là một hệ cơ sở dữ liệu quan hệ phổ biến nhất hiện nay. Rất nhiều ngôn ngữ có thể kết nối đến MySQL và Python cũng không ngoại lệ. Mặc định Python không có thư viện để kết nối đến MySQL server. Trong phần này, để kết nối đến MySQL Server từ Python, chúng ta sẽ sử dụng module MySQLdb 9.1. Cài đặt MySQLdb Cài đặt thông qua pip như sau: $ sudo pip install MySQL-python Tham khảo thêm tại: https://pypi.python.org/pypi/MySQL Khai báo module MySQLdb là có thể sử dụng. import MySQLdb Trong một số trường hợp đã cài MySQLdb nhưng import báo lỗi thiếu file libmysqlclient.18.dylib . Nguyên nhân có thể là do hiện tại đường dẫn đến file không tồn tại. Thử tạo symlink hoặc sử dụng câu lệnh sau để tạo symlink từ file libmysqlclient.18.dylib đến thư mục /usr/lib/ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 20 tài liệu học Python thiết thực để trở thành lập trình viên chuyên nghiệp 9.2. Kết nối đến MySQL Server Bạn cần có một MySQL server đang chạy và cho kết nối đến. Trong trường hợp này là localhost nên không cần cấu hình đặc biệt, chỉ cần cung cấp username và password là có thể kết nối đến MySQL Server. Thực hiện gọi hàm như sau để trả về kết nối: import MySQLdb dbcon = MySQLdb.connect(host = 'localhost', user = 'myusername', passwd = 'mypassword', db = 'mydbname ') Nếu kết nối không thành công thì sẽ báo lỗi và ngưng chương trình. Cách kết nối an toàn là đưa vào trong try để bắt lỗi như sau: import MySQLdb db = None try: db = MySQLdb.connect(host = 'localhost', user = 'root', passwd = 'root', db = 'mysql') except MySQLdb.Error, e: print "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1) if db:...

Người dùng nhập liệu với hàm input() trong Python
Bài viết được sự cho phép của tác giả Kien Dang Chung Video trong bài viết Trong một chương trình, chúng ta cần có sự tương tác giữa người dùng và chương trình máy tính. Từ các bài viết đầu tiên đến giờ chúng ta đã biết đến hàm print() để in một thông báo ra màn hình cho người dùng. Vậy làm cách nào để người dùng có thể đưa dữ liệu vào chương trình Python trên máy tính? Hàm input() Hàm input() trong Python sẽ dừng chương trình lại cho đến khi phím Enter được nhấn, nó trả về một chuỗi ký tự do người dùng nhập vào từ bàn phím (trước khi bấm Enter). Cú pháp của hàm input(): input ( [ promt ] ) Trong đó [promt] là thông báo sẽ hiển thị ra màn hình, gợi ý thông tin người dùng cần nhập vào chương trình. Quy tắc đặt tên biến trong Python đúng chuẩn 2024 Ví dụ 1: my_name = "Jose" your_name = input ( "Enter your name:" ) print ( f "Hello {your_name}. My name is {my_name}" ) Chú ý: Hàm input() trả về một chuỗi ký tự, ngay cả khi người dùng nhập vào một số thì nó cũng chuyển đổi thành chuỗi. Do đó, khi thực hiện các tính toán trên dữ liệu nhập vào, bạn cần chuyển đổi dạng từ chuỗi thành số. Xem thêm nhiều việc làm Python hấp dẫn trên Station D Ví dụ 2: age = input ( "Enter your age: " ) x = int ( age ) print ( f "You have lived for {x * 12} months." ) Trong ví dụ trên, chúng ta đã chuyển đổi chuỗi người dùng nhập vào thành một số nguyên thông qua hàm int(). Trong một số bài...
![Dãy Fibonacci [Bài tập Python]](https://img-cdn.stationd.blog/w800-h600/featured/fibonacci-218x150_20250424085339_f92bab78.jpg)
Dãy Fibonacci [Bài tập Python]
Bài viết được sự cho phép của tác giả Khiêm Lê Dãy Fibonacci Dãy Fibonacci là một dãy vô hạn các số tự nhiên, bắt đầu dãy là hai phần tử 1, các phần tử sau đó là tổng của hai phần tử trước đó. Công thức truy hồi của số dãy Fibonacci là: Nếu n = 1 hoặc n = 2 F(n) := 1 Nếu n > 2 F(n) := F(n – 1) + F(n – 2) Trong lập trình, bài toán tĩnh dãy Fibonacci thường được dùng để làm quen với đệ quy hoặc quy hoạch động cơ bản. Trước khi bắt đầu cài đặt thuật toán, hãy chắc chắn rằng bạn đã biết cơ bản về python, còn bây giờ thì bắt đầu thôi. Lưu ý: trong bài viết mình có đề cập đến thời gian thực thi, thời gian này chỉ để tham khảo, thời gian thực thi sẽ luôn sai khác do cấu hình mỗi máy là khác nhau. Việc làm lập trình Python tuyển gấp Đệ quy Theo như khái niệm về dãy Fibonacci, chúng ta sẽ có 2 trường hợp cơ sở (base case) là n = 1 và n = 2, lúc đó F(n) := 1, đây chính là điều kiện dừng cho hàm đệ quy của chúng ta. Ngược lại đối với n > 2, lúc này F(n) := F(n – 1) + F(n – 2), F(n – 1) và F(n – 2) chính là phần gọi lại chính hàm F(n) với n lúc này là n – 1 và n – 2, hay chính là phương thức đệ quy. Vậy chúng ta sẽ có đoạn code sau: def F ( n ) : if n == 1 or n == 2 : # base case return 1 return F (...

Hàm Python do người dùng tự định nghĩa
Bài viết được sự cho phép của ucode.vn Bên cạnh các hàm Python tích hợp sẵn, bạn còn có thể tự định nghĩa hàm Python, những hàm này gọi là hàm Python do người dùng định nghĩa (user-defined functions). Việc sử dụng những hàm tự định nghĩa này có lợi ích gì, cách để định nghĩa hàm trong Python ra sao, chúng ta sẽ tìm hiểu trong bài này. Tìm việc làm python các vị trí to 20M Hàm Python do người dùng định nghĩa là gì? Các hàm mà ta tự mình định nghĩa để thực hiện một số công việc cụ thể được gọi là hàm do người dùng định nghĩa. Việc định nghĩa hàm và gọi hàm đã được đề cập đến trong bài hàm Python. Các hàm có sẵn trong Python được gọi là hàm tích hợp. Nếu ta sử dụng những hàm được người dùng khác viết dưới dạng thư viện, thì những hàm này gọi là hàm thư viện (library function). Như vậy, hàm ta tự định nghĩa có thể trở thành một hàm thư viện đối với người dùng nào đó. Ưu điểm khi sử dụng hàm Python do người dùng định nghĩa Hàm do người dùng định nghĩa giúp phân tích một chương trình lớn thành những phần nhỏ, khiến chương trình dễ hiểu, dễ duy trì và gỡ lỗi hơn. Khi một đoạn code bị lặp lại trong chương trình, thì có thể sử dụng hàm để gom đoạn code này lại và chạy khi cần bằng cách gọi hàm. Các lập trình viên cùng làm việc trong một dự án lớn, có thể phân chia công việc cho nhau bằng cách tạo các hàm khác nhau. 11 tip học Python dành cho các “newbie” 20 tài liệu học Python thiết...

Sự khác nhau giữa Method và Function trong Python
Bài viết được sự cho phép của tác giả Trần Hữu Cương Sự khác nhau giữa Method và Function trong Python. (Xem lại: Function trong Python là gì? ) Khái niệm method thường dùng trong lập trình hướng đối tượng như java, c#… Còn khái function thường dùng trong lập trình hàm như javascript, c… Method trong Python Method là một phần của Object (method chính là hành động của object). Hay nói cách khác, method nằm bên trong class. Method có thể trả về hoặc không trả về dữ liệu Method có thể xử lý dữ liệu được chứa bên trong class. Cấu trúc method trong Python: class class_name def method_name ( ) : ...... # method body ...... Ví dụ: class Person : def __init__ ( self, name ) : self. name = name def show_name ( self ) : print ( "My name is " + self. name ) def say_hello ( self ) : print ( "hello" ) person = Person ( "kai" ) person. show_name ( ) person. say_hello ( ) Kết quả: My name is kai hello Top 10 thư viện Python tốt nhất cho Data Scientist nửa đầu năm 2024 Function trong python Function là một khối code gồm nhiều câu lệnh liên quan cùng thực hiện một công việc gì đó. Function có thể trả về hoặc không trả về giá trị Function không liên quan tới Class (Không nằm trong class, không truy cập dữ liệu trực tiếp của class) Cấu trúc function: def function_name ( arg1, arg2, ... ) : ...... # function body ...... Ví dụ: def subtract ( a, b ) : return ( a-b ) def say_hello ( ) : print ( "Hello World" ) say_hello ( ) print ( "10 - 5 = %d" % subtract(10,...
![[Python cơ bản thường dùng trong công việc] Phần 7 : Xử lý file JSON](https://img-cdn.stationd.blog/w800-h600/featured/class-trong-python-218x150_20250424021703_0bb5d8ba.png)
[Python cơ bản thường dùng trong công việc] Phần 7 : Xử lý file JSON
JSON là gì? JSON là một trong những định dạng file trao đổi dữ liệu thông dụng nhất hiện nay. Với kiến trúc đơn giản và tương đồng với cấu trúc của Python nên việc thao tác JSON trên Python rất dễ hiểu. Việc làm python không cần kinh nghiệm 7.1. Load file từ Internet Thông thường dữ liệu JSON được lấy từ nguồn khác (như file, internet..) nên chương này sẽ bắt đầu bằng cách hướng dẫn download một file JSON từ Internet và sau đó mới parsing nội dung JSON download. Sử dụng module urllib2 để download file và module json để encode/decode JSON data. Ví dụ: import urllib2 import json response = urllib2.urlopen('https://api.github.com/ users/voduytuan/repos') data = json.load(response) print data Ví dụ trên sẽ truy vấn đường dẫn https://api.github.com/users/voduytuan/repos để lấy danh sách Repository trên Github của mình dưới định dạng JSON. 7.2. Parsing JSON Data Nếu như bạn đã có JSON data dưới dạng chuỗi, muốn parsing chuỗi này thành Data thì sử dụng như cách dưới đây: import json mystring = '{"a":1,"b":2,"c":3,"d":4,"e":5}' data = json.loads(mystring) print data (Hiển thị: {u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}) 7.3. Encoding JSON Data Nếu như bạn đã có một biến và muốn encode thành JSON string thì có thể dùng theo cách sau: import json mydata = { 'name': 'John', 'age': 10 } jsonstring = json.dumps(mydata)print jsonstring (hiển thị: {"age": 10, "name": "John"}) << Phần 6 : Xử lý hình ảnh Phần 8 : Xử lý file XML >>