Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Python (ngôn ngữ lập trình) Bách khoa toàn thư mở Wikipedia Python Phát triển Python Software Foundation Bản 3.3.3 (19 tháng 11, 2013; tháng trước) 2.7.6 (10 tháng 11, 2013; tháng trước) Hệ điều hành đa Thể loại Ngôn ngữ lập trình Giấy phép Giấp phép Python Software Foundation Website http://python.org Python ngôn ngữ lập trình thông dịch Guido van Rossum tạo năm 1990 Python hoàn toàn tạo kiểu động dùng chế cấp phát nhớ tự động; tương tự Perl, Ruby, Scheme, Smalltalk, Tcl Python phát triển dự án mã mở, tổ chức phi lợi nhuận Python Software Foundation quản lý Theo đánh giá Eric S Raymond, Python ngôn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người học lập trình Cấu trúc Python cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, nhận định Guido van Rossum vấn ông[1] Ban đầu, Python phát triển để chạy Unix Nhưng theo thời gian, “bành trướng” sang hệ điều hành từMS-DOS đến Mac OS, OS/2, Windows, Linux hệ điều hành khác thuộc họ Unix Mặc dù phát triển Python có đóng góp nhiều cá nhân, Guido van Rossum tác giả chủ yếu Python Ông giữ vai trò chủ chốt việc định hướng phát triển Python Mục lục [ẩn] • Lịch sử • Đặc điểm 2.1 Dễ học, dễ đọc o 2.1.1 Từ khóa 2.1.2 Khối lệnh o 2.2 Các thực o 2.3 Khả mở rộng o 2.4 Trình thông dịch o 2.5 Lệnh cấu trúc điều khiển o 2.6 Hệ thống kiểu liệu o 2.7 Module o 2.8 Đa o 2.9 Multiple paradigms (đa biến hóa) o 2.10 Sự tương đương true giá trị khác Cú pháp • o 3.1 Toán tử o 3.2 Các kiểu liệu o 3.3 Chú thích o 3.4 Lệnh gán o 3.5 In giá trị o 3.6 Cấu trúc rẽ nhánh o 3.7 Cấu trúc lặp o 3.8 Hàm o 3.9 Lớp o 3.10 List Comprehension o 3.11 Xử lý ngoại lệ • Tốc độ thực • Các đặc điểm Python 3.x o 5.1 Một số thay đổi cần lưu ý o 5.2 Các thay đổi cú pháp 5.2.1 Cú pháp 5.2.2 Cú pháp thay đổi 5.2.3 Cú pháp bị loại bỏ • Tham khảo • Liên kết Lịch sử[sửa | sửa mã nguồn] Sự phát triển Python đến chia làm giai đoạn: • • Python 1: bao gồm phát hành 1.x Giai đoạn này, kéo dài từ đầu đến cuối thập niên 1990 Từ năm 1990 đến 1995, Guido làm việc CWI (Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học Amsterdam, Hà Lan) Vì vậy, phiên Python CWI phát hành Phiên cuối phát hành CWI 1.2 • Vào năm 1995, Guido chuyển sang CNRI (Corporation for National Research Initiatives) Reston, Virginia Tại đây, ông phát hành số phiên khác Python 1.6 phiên cuối phát hành CNRI • Sau phát hành 1.6, Guido rời bỏ CNRI để làm việc với lập trình viên chuyên viết phần mềm thương mại Tại đây, ông có ý tưởng sử dụng Python với phần mềm tuân theo chuẩn GPL Sau đó, CNRI FSF (Free Software Foundation - Tổ chức phần mềm tự do) hợp tác để làm quyền Python phù hợp với GPL Cùng năm đó, Guido nhận Giải thưởng FSF Sự phát triển Phần mềm tự (Award for the Advancement of Free Software) • Phiên 1.6.1 đời sau phiên đâu tiền tuân theo quyền GPL Tuy nhiên, hoàn toàn giống 1.6, trừ số sửa lỗi cần thiết Python 2: vào năm 2000, Guido nhóm phát triển Python dời đến BeOpen.com thành lập BeOpen PythonLabs team Phiên Python 2.0 phát hành Sau phát hành Python 2.0, Guido thành viên PythonLabs gia nhập Digital Creations • • Python 2.1 đời kế thừa từ Python 1.6.1 Python 2.0 Bản quyền phiên đổi thành Python Software Foundation License Từ thời điểm trở đi, Python thuộc sở hữu Python Software Foundation (PSF), tổ chức phi lợi nhuận thành lập theo mẫu Apache Software Foundation Python 3, gọi Python 3000 Py3K: Dòng 3.x không hoàn toàn tương thích với dòng 2.x, có công cụ hỗ trợ chuyển đổi từ phiên 2.x sang 3.x Nguyên tắc chủ đạo để phát triển Python 3.x "bỏ cách làm việc cũ nhằm hạn chế trùng lặp mặt chức Python" Trong PEP (Python Enhancement Proposal) có mô tả chi tiết thay đổi Python ([2]) Các đặc điểm Python 3.0 trình bày phần cuối Đặc điểm[sửa | sửa mã nguồn] Dễ học, dễ đọc[sửa | sửa mã nguồn] Python thiết kế để trở thành ngôn ngữ dễ học, mã nguồn dễ đọc, bố cục trực quan, dễ hiểu, thể qua điểm sau: Từ khóa[sửa | sửa mã nguồn] • Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế kí hiệu cấu trúc cú pháp so với ngôn ngữ khác • Python ngôn ngữ phân biệt kiểu chữ HOA, chữ thường • Như C/C++, từ khóa Python dạng chữ thường and assert break class continue def Khối lệnh[sửa | sửa mã nguồn] Trong ngôn ngữ khác, khối lệnh thường đánh dấu cặp kí hiệu từ khóa Ví dụ, C/C++, cặp ngoặc nhọn { } dùng để bao bọc khối lệnh Python, trái lại, có cách đặc biệt để tạo khối lệnh, thụt câu lệnh khối vào sâu (về bên phải) so với câu lệnh khối lệnh cha chứa Ví dụ, giả sử có đoạn mã sau C/C++: #include // delta = b * b – * a * c; if (delta > 0) { 10 11 // Khối lệnh kí tự { đến } 12 13 x1 = (- b + sqrt(delta)) / (2 * a); 14 15 x2 = (- b - sqrt(delta)) / (2 * a); 16 17 printf("Phuong trinh co hai nghiem phan biet:\n"); 18 19 printf("x1 = %f; x2 = %f", x1, x2); 20 21 } 22 Đoạn mã viết lại Python sau: import math # delta = b * b – * a * c if delta > 0: # Khối lệnh mới, thụt vào đầu dòng 10 11 x1 = (- b + math.sqrt(delta)) / (2 * a) 12 13 x2 = (- b – math.sqrt(delta)) / (2 * a) 14 15 print "Phuong trinh co hai nghiem phan biet:" 16 17 print "x1 = ", x1, "; ", "x2 = ", x2 18 Ta sử dụng dấu tab khoảng trống để thụt câu lệnh vào Các thực[sửa | sửa mã nguồn] Python viết từ ngôn ngữ khác, tạo thực khác Bản thực Python chính, gọi CPython, viết C, phân phối kèm thư viện chuẩn lớn viết hỗn hợp C Python CPython chạy nhiều khả chuyển nhiều khác Dưới đó, CPython chạy • Các hệ điều hành họ Unix: AIX, Darwin, FreeBSD, Mac OS X, NetBSD, Linux, OpenBSD, Solaris,… • Các hệ điều hành dành cho máy desktop: Amiga, AROS, BeOS, Mac OS 9, Microsoft Windows, OS/2, RISC OS • Các hệ thống nhúng hệ đặc biệt: GP2X, Máy ảo Java, Nokia 770 Internet Tablet, Palm OS, PlayStation 2, PlayStation Portable, Psion, QNX, Sharp Zaurus, Symbian OS,Windows CE/Pocket PC, Xbox/XBMC, VxWorks • Các hệ máy tính lớn hệ khác: AS/400, OS/390, Plan from Bell Labs, VMS, z/OS Ngoài CPython, có hai thực Python khác: Jython cho môi trường Java IronPython cho môi trường NET Mono Khả mở rộng[sửa | sửa mã nguồn] Python mở rộng: ta biết sử dụng C, ta dễ dàng viết tích hợp vào Python nhiều hàm tùy theo nhu cầu Các hàm trở thành hàm xây dựng sẵn (builtin) Python Ta mở rộng chức trình thông dịch, liên kết chương trình Python với thư viện dạng nhị phân (như thư viện đồ họa nhà sản xuất thiết bị cung cấp) Hơn nữa, ta liên kết trình thông dịch Python với ứng dụng viết từ C sử dụng mở rộng ngôn ngữ dòng lệnh phụ trợ cho ứng dụng Trình thông dịch[sửa | sửa mã nguồn] Python ngôn ngữ lập trình dạng thông dịch, có ưu điểm tiết kiệm thời gian phát triển ứng dụng không cần phải thực biên dịch liên kết Trình thông dịch sử dụng để chạy file script, sử dụng theo cách tương tác Ở chế độ tương tác, trình thông dịch Python tương tự shell hệ điều hành họ Unix, đó, ta nhập vào biểu thức gõ Enter, kết thực thi hiển thị Đặc điểm hữu ích cho người học, giúp họ nghiên cứu tính ngôn ngữ; để lập trình viên chạy thử mã lệnh suốt trình phát triển phần mềm Ngoài ra, tận dụng đặc điểm để thực phép tính với máy tính bỏ túi Lệnh cấu trúc điều khiển[sửa | sửa mã nguồn] Mỗi câu lệnh Python nằm dòng mã nguồn Ta không cần phải kết thúc câu lệnh kí tự Cũng ngôn ngữ khác, Python có cấu trúc điều khiển Chúng bao gồm: • Cấu trúc rẽ nhánh: cấu trúc if (có thể sử dụng thêm elif else), dùng để thực thi có điều kiện khối mã cụ thể • Cấu trúc lặp, bao gồm: • Lệnh while: chạy khối mã cụ thể điều kiện lặp có giá trị false • Vòng lặp for: lặp qua phần tử dãy, phần tử đưa vào biến cục để sử dụng với khối mã vòng lặp Python có từ khóa class dùng để khai báo lớp (sử dụng lập trình hướng đối tượng) lệnh def dùng để định nghĩa hàm Hệ thống kiểu liệu[sửa | sửa mã nguồn] • Python sử dụng hệ thống kiểu duck typing, gọi latent typing (tự động xác định kiểu) Có nghĩa là, Python không kiểm tra ràng buộc kiểu liệu thời điểm dịch, mà thời điểm thực thi Khi thực thi, thao tác đối tượng bị thất bại, có nghĩa đối tượng không sử dụng kiểu thích hợp Python ngôn ngữ định kiểu mạnh Nó cấm thao tác không hợp lệ, ví dụ cộng số vào chuỗi kí tự Sử dụng Python, ta không cần phải khai báo biến Biến xem khai báo gán giá trị lần Căn vào lần gán, Python tự động xác định kiểu liệu biến Python có số kiểu liệu thông dụng sau: • int, long: số nguyên (trong phiên 3.x long nhập vào kiểu int) Độ dài kiểu số nguyên tùy ý, bị giới hạn nhớ máy tính • float: số thực • complex: số phức, chẳng hạn 5+4j • list: dãy phần tử thay đổi, chẳng hạn [8, 2, 'b', -1.5] Kiểu dãy khác với kiểu mảng (array) thường gặp ngôn ngữ lập trình chỗ phần tử dãy không thiết có kiểu giống Ngoài phần tử dãy dãy khác • tuple: dãy phần tử thay đổi • str: chuỗi kí tự Từng kí tự chuỗi thay đổi Chuỗi kí tự đặt dấu nháy đơn, nháy kép • dict: từ điển, gọi "hashtable": cặp liệu gắn theo kiểu {từ khóa: giá trị}, từ khóa từ điển thiết phải khác Chẳng hạn {1: "Python", 2: "Pascal"} • set: tập không xếp theo thứ tự, đó, phần tử xuất lần Ngoài ra, Python có nhiều kiểu liệu khác Xem thêm phần "Các kiểu liệu" bên Module[sửa | sửa mã nguồn] Python cho phép chia chương trình thành module để sử dụng lại chương trình khác Nó cung cấp sẵn tập hợp modules chuẩn mà lập trình viên sử dụng lại chương trình họ Các module cung cấp nhiều chức hữu ích, hàm truy xuất tập tin, lời gọi hệ thống, trợ giúp lập trình mạng (socket),… Đa năng[sửa | sửa mã nguồn] Python ngôn ngữ lập trình đơn giản hiệu • So với Unix shell, Python hỗ trợ chương trình lớn cung cấp nhiều cấu trúc • So với C, Python cung cấp nhiều chế kiểm tra lỗi Nó có sẵn nhiều kiểu liệu cấp cao, ví dụ mảng (array) linh hoạt từ điển (dictionary) mà ta phải nhiều thời gian viết C Python ngôn ngữ lập trình cấp cao đáp ứng phần lớn yêu cầu lập trình viên: • Python thích hợp với chương trình lớn AWK Perl • Python sử dụng để lập trình Web Nó sử dụng ngôn ngữ kịch • Python thiết kế để nhúng phục vụ ngôn ngữ kịch để tuỳ biến mở rộng ứng dụng lớn • Python tích hợp sẵn nhiều công cụ có thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo dịch vụ Web, sử dụng thành phần COMhay CORBA, hỗ trợ loại định dạng liệu Internet email, HTML, XML ngôn ngữ đánh dấu khác Python cung cấp thư viện xử lý giao thức Internet thông dụng HTTP, FTP,… • Python có khả giao tiếp đến hầu hết loại sở liệu, có khả xử lí văn bản, tài liệu hiệu quả, làm việc tốt với công nghệ Web khác • Python đặc biệt hiệu lập trình tính toán khoa học nhờ công cụ Python Imaging Library, pyVTK, MayaVi 3D Visualization Toolkits, Numeric Python,ScientificPython,… • Python sử dụng để phát triển ứng dụng desktop Lập trình viên dùng wxPython, PyQt, PyGtk để phát triển ứng dụng giao diện đồ họa (GUI) chất lượng cao Python hỗ trợ tảng phát triển phần mềm khác MFC, Carbon, Delphi, X11, Motif, Tk, Fox, FLTK, … Python có sẵn unit testing framework để tạo các test (test suites) Multiple paradigms (đa biến hóa)[sửa | sửa mã nguồn] • Python ngôn ngữ đa biến hóa (multiple paradigms) Có nghĩa là, thay ép buộc người phải sử dụng phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cấu trúc, chức năng, hướng đến khía cạnh Python kiểu kiểu động sử dụng thu gom rác để quản lí nhớ Một đặc điểm quan trọng Python giải pháp tên động, kết nối tên biến tên phương thức lại với suốt thực thi chương trình Sự tương đương true giá trị khác 0[sửa | sửa mã nguồn] Cũng C/C++, giá trị khác tương đương với true ngược lại, giá trị tương đương với false Như vậy: if a != 0: tương đương với if a: Cú pháp[sửa | sửa mã nguồn] Sau cú pháp ngôn ngữ Python: Toán tử[sửa | sửa mã nguồn] + - * / // (chia làm tròn) % (phần dư) ** (lũy thừa) ~ (not) & (and) | (or) ^ (xor) > (right shift) == (bằng) = != (khác) Python sử dụng kí pháp trung tố thường gặp ngôn ngữ lập trình khác Các kiểu liệu[sửa | sửa mã nguồn] • Kiểu số 1234585396326 (số nguyên dài vô hạn) -86.12 7.84E-04 2j + 8j (số phức) • Kiểu chuỗi (string) "Hello" • "It's me" Kiểu (tuple) '"OK"-he replied' (1, 2.0, 3) (1,) • ("Hello",1,()) Kiểu danh sách (list) [4.8, -6] ['a','b'] • Kiểu từ điển (dictionary) {"Hanoi":"Vietnam", "Haiphong":"Vietnam", "Hochiminh":"Vietnam" , "Netherlands":"Amsterdam","France":"Paris"} Chú thích[sửa | sửa mã nguồn] # dòng thích Lệnh gán[sửa | sửa mã nguồn] tên biến = biểu thức x = 23.8 y = -x ** z1 = z2 = x + y loiChao = "Hello!" 10 11 12 13 i += # tăng biến i thêm đơn vị 14 In giá trị[sửa | sửa mã nguồn] print biểu thức print (7 + 8) / 2.0 5 print (2 + 3j) * (4 - 6j) Nội suy chuỗi (string interpolation) print "Hello %s" %("world!") print "i = %d" %i print "a = %.2f and b = %.3f" %(a,b) Cấu trúc rẽ nhánh[sửa | sửa mã nguồn] • Dạng 1: if biểu_thức_điều_kiện: # lệnh • Dạng 2: if biểu_thức_điều_kiện: # lệnh else: # lệnh • Dạng 3: if biểu_thức_điều_kiện_1: # lệnh (được thực biểu_thức_điều_kiện_1 đúng/true) elif biểu_thức_điều_kiện_2: # lệnh (được thực biểu_thức_điều_kiện_1 sai/false, biểu_thức_điều_kiện_2 đúng/true) else: # lệnh (được thực tất biểu thức điều kiện kèm if elif sai) Cấu trúc lặp[sửa | sửa mã nguồn] while biểu_thức_đúng: # lệnh for phần_tử in dãy: # lệnh L = ["Ha Noi", "Hai Phong", "TP Ho Chi Minh"] for thanhPho in L: print thanhPho for i in range(10): 10 11 print i 12 Hàm[sửa | sửa mã nguồn] def tên_hàm (tham_biến_1, tham_biến_2, tham_biến_n): # lệnh return giá_trị_hàm def binhPhuong(x): return x*x Hàm với tham số mặc định: def luyThua(x, n=2): """Lũy thừa với số mũ mặc định 2""" return x**n print luyThua(3) # 10 11 print luyThua(2,3) # 12 Lớp[sửa | sửa mã nguồn] class Tên_Lớp_1: # class Tên_Lớp_2(Tên_Lớp_1): """Lớp kế thừa lớp 1""" 10 11 x = # biến thành viên lớp 12 13 # 14 15 def phương_thức(self, tham_biến): 16 17 # 18 19 20 21 # khởi tạo 22 23 a = Tên_Lớp_2() 24 25 print a.x 26 27 print a.phương_thức(m) # m giá trị gán cho tham biến 28 List Comprehension[sửa | sửa mã nguồn] List Comprehension dạng cú pháp đặc biệt (syntactic sugar) (mới có từ Python 2.x) cho phép thao tác toàn dãy (list) mà không cần viết rõ vòng lặp Chẳng hạn y dãy mà phần tử bình phương phần tử dãy x: y = [xi**2 for xi in x] Xử lý ngoại lệ[sửa | sửa mã nguồn] try: câu_lệnh except Loại_Lỗi: thông báo lỗi Tốc độ thực hiện[sửa | sửa mã nguồn] Là ngôn ngữ thông dịch, Python có tốc độ thực chậm nhiều lần so với ngôn ngữ biên dịch Fortran, C, v.v Trong số ngôn ngữ thông dịch, Python đánh giá nhanh Ruby Tcl, chậm Lua[3] Các đặc điểm Python 3.x[sửa | sửa mã nguồn] Nội dung phần trích từ tài liệu[4] Guido van Rossum Phần không liệt kê đầy đủ tất đặc điểm; chi tiết xin xem tài liệu nói Một số thay đổi cần lưu ý nhất[sửa | sửa mã nguồn] Lệnh print trở thành hàm print Theo sau print() ta cần nhớ gõ vào cặp ngoặc (): print("Hello") print(2+3) • • • Trả lại kết không list số trường hợp • dict.keys(), dict.items(), dict.values() kết cho "view" thay list • map filter trả lại iterator • range có tác dụng xrange, không trả lại list So sánh Không hàm cmp, cmp(a, b) thay (a > b) - (a < b) • • Số nguyên • Kiểu long đổi tên thành int • 1/2 cho ta kết số thực số nguyên • Không số sys.maxint • Kiểu bát phân kí hiệu 0o thay 0, chẳng hạn 0o26 Phân biệt văn - liệu nhị phân thay Unicode - chuỗi 8-bit • Tất chuỗi văn dạng Unicode, chuỗi Unicode mã hóa lại dạng liệu nhị phân Dạng mặc định UTF-8 Không thể viết u"a string" để biểu diễn chuỗi phiên 2.x Các thay đổi cú pháp[sửa | sửa mã nguồn] • Cú pháp mới[sửa | sửa mã nguồn] • Các tham biến chấp nhận keyword: Các tham biến phía sau *args phải gọi theo dạng keyword • Từ khóa nonlocal Muốn khai báo biến x với có phạm vi ảnh hưởng rộng hơn, chưa đến mức toàn cục, ta dùng nonlocal x • Gán giá trị vào phần tử tuple cách thông minh, chẳng hạn viết (a, *rest, b) = range(5) để có a = 0; b = [1,2,3]; c = • Dictionary comprehension, chẳng hạn {k: v for k, v in stuff} thay dict(stuff) • Kiểu nhị phân, chẳng hạn b110001 Cú pháp thay đổi[sửa | sửa mã nguồn] • raise [biểu_thức [from biểu_thức]] • except lệnh as biến Sử dụng metaclass đối tượng: class C(metaclass=M): pass • Cách dùng biến metaclass không hỗ trợ Cú pháp bị loại bỏ[sửa | sửa mã nguồn] • Không dấu ``, thay đó, dùng repr • Không so sánh (dùng !=) • Không lớp kiểu classic Tham khảo[sửa | sửa mã nguồn] ^ Bài vấn Guido van Rossum [1] ^ Tài liệu PEP ^ The Computer Language Benchmark Game ^ What's new in Python 3.0 Liên kết ngoài[sửa | sửa mã nguồn] Wikibooks có sách tựa đềProgramming:Pyth on • Python.org Trang chủ thức • Python Wiki • Tài liệu Python • Python Cheese Shop – Kho đựng phần mềm viết Python; trước gọi Python Package Index (PyPI) • [2] – Tài liệu tiếng Việt hướng dẫn lập trình game với Python [ẩn] • X • T • S Ngôn ngữ lập trìn Dùng cho kỹ nghệ ABAP Ada ASP ASP.NET AWK Bash Assembly C C++ C# D Delphi Erlang Groovy DHTML Fortran Java JavaScript Lisp Lua Lotus Notes Objective-C OCaml Perl PHP PL/SQL Python Ruby SAS sed Smalltalk Tcl sh Visual Basic VBScript VBA VB.NET Scheme HTML XML Dùng giảng dạy Alice C C++ Eiffel DHTML Fortran Haskell Java JavaScript Logo ML Oz Prolog Scheme Visual Basic Visual FoxPro Có giá trị lịch sử ABC ALGOL APL BASIC Clipper COBOL Hope MUMPS Pascal PL/I PowerBuilder Simula [...]... ^ Tài liệu PEP 3 ^ The Computer Language Benchmark Game 4 ^ What's new in Python 3.0 Liên kết ngoài[sửa | sửa mã nguồn] Wikibooks có một quyển sách tựa đềProgramming:Pyth on • Python. org Trang chủ chính thức • Python Wiki • Tài liệu Python • Python Cheese Shop – Kho đựng phần mềm viết bằng Python; trước đây gọi là Python Package Index (PyPI) • [2] – Tài liệu tiếng Việt hướng dẫn lập trình game với Python. . .Python là một ngôn ngữ đa biến hóa (multiple paradigms) Có nghĩa là, thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh Python kiểu kiểu động và sử dụng bộ thu gom rác để quản lí bộ nhớ Một đặc điểm quan trọng nữa của Python là... hiện chậm hơn nhiều lần so với các ngôn ngữ biên dịch như Fortran, C, v.v Trong số các ngôn ngữ thông dịch, Python được đánh giá nhanh hơn Ruby và Tcl, nhưng chậm hơn Lua[3] Các đặc điểm mới trong Python 3.x[sửa | sửa mã nguồn] Nội dung phần này được trích từ tài liệu[ 4] của Guido van Rossum Phần này không liệt kê đầy đủ tất cả các đặc điểm; chi tiết xin xem tài liệu nói trên Một số thay đổi cần lưu... sửa mã nguồn] + - * / // (chia làm tròn) % (phần dư) ** (lũy thừa) ~ (not) & (and) | (or) ^ (xor) > (right shift) == (bằng) = != (khác) Python sử dụng kí pháp trung tố thường gặp trong các ngôn ngữ lập trình khác Các kiểu dữ liệu[ sửa | sửa mã nguồn] • Kiểu số 1234585396326 (số nguyên dài vô hạn) -86.12 7.84E-04 2j 3 + 8j (số phức) • Kiểu chuỗi (string) "Hello" • "It's me" Kiểu bộ... thức lại với nhau trong suốt thực thi của chương trình Sự tương đương giữa true và một giá trị khác 0[sửa | sửa mã nguồn] Cũng như C/C++, bất kì một giá trị khác 0 nào cũng tương đương với true và ngược lại, một giá trị 0 tương đương với false Như vậy: if a != 0: tương đương với if a: Cú pháp[sửa | sửa mã nguồn] Sau đây là cú pháp cơ bản nhất của ngôn ngữ Python: Toán tử[sửa | sửa mã nguồn] + - * / //... (syntactic sugar) (mới có từ Python 2.x) cho phép thao tác trên toàn bộ dãy (list) mà không cần viết rõ vòng lặp Chẳng hạn y là một dãy mà mỗi phần tử của nó bằng bình phương của từng phần tử trong dãy x: y = [xi**2 for xi in x] Xử lý ngoại lệ[sửa | sửa mã nguồn] try: câu_lệnh except Loại_Lỗi: thông báo lỗi Tốc độ thực hiện[sửa | sửa mã nguồn] Là một ngôn ngữ thông dịch, Python có tốc độ thực hiện chậm... Python Package Index (PyPI) • [2] – Tài liệu tiếng Việt hướng dẫn lập trình game với Python [ẩn] • X • T • S Ngôn ngữ lập trìn Dùng cho kỹ nghệ ABAP Ada ASP ASP.NET AWK Bash Assembly C C++ C# D Delphi Erlang Groovy DHTML Fortran Java JavaScript Lisp Lua Lotus Notes Objective-C OCaml Perl PHP PL/SQL Python Ruby SAS sed Smalltalk Tcl sh Visual Basic VBScript VBA VB.NET Scheme HTML XML Dùng trong giảng dạy... không phải số nguyên • Không còn hằng số sys.maxint • Kiểu bát phân được kí hiệu bằng 0o thay vì 0, chẳng hạn 0o26 Phân biệt văn bản - dữ liệu nhị phân thay vì Unicode - chuỗi 8-bit • Tất cả chuỗi văn bản đều dưới dạng Unicode, nhưng chuỗi Unicode mã hóa lại là dạng dữ liệu nhị phân Dạng mặc định là UTF-8 Không thể viết u"a string" để biểu diễn chuỗi như trong các phiên bản 2.x Các thay đổi về cú pháp[sửa