Trong các ví dụ sau, đầu vào và đầu ra được phân biệt bằng sự hiện diện hoặc vắng mặt của dấu nhắc [ và ]. để lặp lại ví dụ, bạn phải nhập mọi thứ sau dấu nhắc, khi dấu nhắc xuất hiện; . Lưu ý rằng dấu nhắc phụ trên một dòng trong một ví dụ có nghĩa là bạn phải nhập một dòng trống;
Bạn có thể chuyển đổi hiển thị lời nhắc và đầu ra bằng cách nhấp vào
>>> width = 20 >>> height = 5 * 9 >>> width * height 9001 ở góc trên bên phải của hộp ví dụ. Nếu bạn ẩn lời nhắc và xuất ra một ví dụ, thì bạn có thể dễ dàng sao chép và dán các dòng đầu vào vào trình thông dịch của mình
Nhiều ví dụ trong sách hướng dẫn này, ngay cả những ví dụ được nhập tại dấu nhắc tương tác, bao gồm nhận xét. Nhận xét trong Python bắt đầu bằng ký tự băm,
>>> width = 20 >>> height = 5 * 9 >>> width * height 9002 và kéo dài đến cuối dòng vật lý. Một nhận xét có thể xuất hiện ở đầu dòng hoặc sau khoảng trắng hoặc mã, nhưng không xuất hiện trong một chuỗi ký tự. Một ký tự băm trong một chuỗi ký tự chỉ là một ký tự băm. Vì các nhận xét là để làm rõ mã và không được giải thích bởi Python, chúng có thể bị bỏ qua khi nhập các ví dụ
Vài ví dụ
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."
3. 1. Sử dụng Python làm Máy tính
Hãy thử một số lệnh Python đơn giản. Khởi động trình thông dịch và chờ lời nhắc chính,
>>> width = 20 >>> height = 5 * 9 >>> width * height 9001. [Không nên mất nhiều thời gian. ]
3. 1. 1. Số
Trình thông dịch hoạt động như một máy tính đơn giản. bạn có thể nhập một biểu thức vào nó và nó sẽ ghi giá trị. Cú pháp biểu thức đơn giản. các toán tử
>>> width = 20 >>> height = 5 * 9 >>> width * height 9004,
>>> width = 20 >>> height = 5 * 9 >>> width * height 9005,
>>> width = 20 >>> height = 5 * 9 >>> width * height 9006 và
>>> width = 20 >>> height = 5 * 9 >>> width * height 9007 hoạt động giống như trong hầu hết các ngôn ngữ khác [ví dụ: Pascal hoặc C]; . Ví dụ
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.6
Các số nguyên [e. g.
>>> width = 20 >>> height = 5 * 9 >>> width * height 9009,
>>> width = 20 >>> height = 5 * 9 >>> width * height 90010,
>>> width = 20 >>> height = 5 * 9 >>> width * height 90011] có loại , những cái có phần phân số [e. g.
>>> width = 20 >>> height = 5 * 9 >>> width * height 90013,
>>> width = 20 >>> height = 5 * 9 >>> width * height 90014] có loại. Chúng ta sẽ xem thêm về các loại số sau trong hướng dẫn
Bộ phận [
>>> width = 20 >>> height = 5 * 9 >>> width * height 9007] luôn trả về một số float. Để thực hiện và nhận kết quả là số nguyên, bạn có thể sử dụng toán tử
>>> width = 20 >>> height = 5 * 9 >>> width * height 90017;
>>> width = 20 >>> height = 5 * 9 >>> width * height 9008
Với Python, có thể sử dụng toán tử
>>> width = 20 >>> height = 5 * 9 >>> width * height 90019 để tính lũy thừa
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."0
Dấu bằng [
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."10] được sử dụng để gán giá trị cho một biến. Sau đó, không có kết quả nào được hiển thị trước lời nhắc tương tác tiếp theo
>>> width = 20 >>> height = 5 * 9 >>> width * height 900
Nếu một biến không được "xác định" [được gán một giá trị], cố gắng sử dụng nó sẽ báo lỗi cho bạn
>>> width = 20 >>> height = 5 * 9 >>> width * height 9001
Có hỗ trợ đầy đủ cho dấu phẩy động;
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."1
Trong chế độ tương tác, biểu thức được in cuối cùng được gán cho biến
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."11. Điều này có nghĩa là khi bạn đang sử dụng Python làm máy tính bàn, việc tiếp tục tính toán sẽ dễ dàng hơn một chút, chẳng hạn
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."6
Biến này phải được người dùng coi là chỉ đọc. Không gán giá trị cho nó một cách rõ ràng — bạn sẽ tạo một biến cục bộ độc lập có cùng tên che dấu biến tích hợp với hành vi kỳ diệu của nó
Ngoài và , Python hỗ trợ các loại số khác, chẳng hạn như và. Python cũng có hỗ trợ tích hợp cho và sử dụng hậu tố
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."16 hoặc
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."17 để biểu thị phần ảo [e. g.
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."18]
3. 1. 2. Chuỗi
Bên cạnh các số, Python cũng có thể thao tác với các chuỗi, có thể được biểu diễn theo nhiều cách. Chúng có thể được đặt trong dấu ngoặc đơn [
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."19] hoặc dấu ngoặc kép [
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."60] với cùng một kết quả.
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."61 có thể được sử dụng để thoát dấu ngoặc kép
>>> width = 20 >>> height = 5 * 9 >>> width * height 9003
Trong trình thông dịch tương tác, chuỗi đầu ra được đặt trong dấu ngoặc kép và các ký tự đặc biệt được thoát bằng dấu gạch chéo ngược. Mặc dù điều này đôi khi trông khác với đầu vào [dấu ngoặc kép kèm theo có thể thay đổi], hai chuỗi này tương đương nhau. Chuỗi được đặt trong dấu nháy kép nếu chuỗi chứa dấu nháy đơn và không có dấu nháy kép, ngược lại chuỗi được đặt trong dấu nháy đơn. Hàm tạo ra đầu ra dễ đọc hơn, bằng cách bỏ qua các dấu ngoặc kép kèm theo và bằng cách in các ký tự đặc biệt và thoát ra
>>> width = 20 >>> height = 5 * 9 >>> width * height 9004
Nếu bạn không muốn các ký tự mở đầu bằng
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."61 được hiểu là các ký tự đặc biệt, bạn có thể sử dụng các chuỗi thô bằng cách thêm một
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."64 trước trích dẫn đầu tiên
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.60
Chuỗi ký tự có thể kéo dài nhiều dòng. Một cách là sử dụng dấu ngoặc kép.
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."65 hoặc
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."66. Cuối dòng được tự động đưa vào chuỗi, nhưng có thể ngăn chặn điều này bằng cách thêm
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."61 vào cuối dòng. ví dụ sau
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.61
tạo đầu ra sau [lưu ý rằng không bao gồm dòng mới ban đầu]
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.62
Các chuỗi có thể được nối [dán lại với nhau] bằng toán tử
>>> width = 20 >>> height = 5 * 9 >>> width * height 9004 và lặp lại với
>>> width = 20 >>> height = 5 * 9 >>> width * height 9006
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.63
Hai hoặc nhiều chuỗi ký tự [i. e. những cái được đặt giữa các dấu ngoặc kép] cạnh nhau sẽ tự động được nối
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.64
Tính năng này đặc biệt hữu ích khi bạn muốn ngắt các chuỗi dài
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.65
Tuy nhiên, điều này chỉ hoạt động với hai chữ, không hoạt động với các biến hoặc biểu thức
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.66
Nếu bạn muốn nối các biến hoặc một biến và một chữ, hãy sử dụng
>>> width = 20 >>> height = 5 * 9 >>> width * height 9004
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.67
Các chuỗi có thể được lập chỉ mục [được đăng ký], với ký tự đầu tiên có chỉ số 0. Không có loại ký tự riêng biệt;
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.68
Các chỉ số cũng có thể là số âm, để bắt đầu đếm từ bên phải
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.69
Lưu ý rằng vì -0 giống như 0, nên các chỉ số âm bắt đầu từ -1
Ngoài lập chỉ mục, cắt lát cũng được hỗ trợ. Trong khi lập chỉ mục được sử dụng để lấy các ký tự riêng lẻ, thì việc cắt lát cho phép bạn lấy chuỗi con
>>> width = 20 >>> height = 5 * 9 >>> width * height 90080
Các chỉ số lát cắt có các giá trị mặc định hữu ích;
>>> width = 20 >>> height = 5 * 9 >>> width * height 90081
Lưu ý cách bắt đầu luôn được bao gồm và kết thúc luôn bị loại trừ. Điều này đảm bảo rằng
>>> width = 20 >>> height = 5 * 9 >>> width * height 90031 luôn bằng
>>> width = 20 >>> height = 5 * 9 >>> width * height 90032
>>> width = 20 >>> height = 5 * 9 >>> width * height 90082
Một cách để nhớ cách thức hoạt động của các lát cắt là coi các chỉ số như trỏ giữa các ký tự, với cạnh trái của ký tự đầu tiên được đánh số 0. Khi đó cạnh phải của ký tự cuối cùng của xâu n ký tự có chỉ số n chẳng hạn
>>> width = 20 >>> height = 5 * 9 >>> width * height 90083
Hàng số đầu tiên cho biết vị trí của các chỉ số 0…6 trong chuỗi; . Lát cắt từ i đến j bao gồm tất cả các ký tự nằm giữa các cạnh có nhãn tương ứng là i và j
Đối với các chỉ số không âm, độ dài của một lát cắt là sự khác biệt của các chỉ số, nếu cả hai đều nằm trong giới hạn. Ví dụ, độ dài của
>>> width = 20 >>> height = 5 * 9 >>> width * height 90033 là 2
Cố gắng sử dụng một chỉ mục quá lớn sẽ dẫn đến lỗi
>>> width = 20 >>> height = 5 * 9 >>> width * height 90084
Tuy nhiên, các chỉ mục lát cắt nằm ngoài phạm vi được xử lý một cách duyên dáng khi được sử dụng để cắt lát
>>> width = 20 >>> height = 5 * 9 >>> width * height 90085
Chuỗi Python không thể thay đổi - chúng là. Do đó, việc gán cho một vị trí được lập chỉ mục trong chuỗi dẫn đến lỗi
>>> width = 20 >>> height = 5 * 9 >>> width * height 90086
Nếu bạn cần một chuỗi khác, bạn nên tạo một chuỗi mới
>>> width = 20 >>> height = 5 * 9 >>> width * height 90087
Hàm tích hợp trả về độ dài của chuỗi
>>> width = 20 >>> height = 5 * 9 >>> width * height 90088
Xem thêm
Chuỗi là ví dụ về các loại trình tự và hỗ trợ các hoạt động phổ biến được hỗ trợ bởi các loại đó
Các chuỗi hỗ trợ một số lượng lớn các phương thức để chuyển đổi và tìm kiếm cơ bản
Chuỗi ký tự có biểu thức nhúng
Thông tin về định dạng chuỗi với
Các hoạt động định dạng cũ được gọi khi chuỗi là toán hạng bên trái của toán tử
>>> width = 20 >>> height = 5 * 9 >>> width * height 90018 được mô tả chi tiết hơn tại đây
3. 1. 3. Danh sách
Python biết một số loại dữ liệu phức hợp, được sử dụng để nhóm các giá trị khác lại với nhau. Linh hoạt nhất là danh sách, có thể được viết dưới dạng danh sách các giá trị [mục] được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Danh sách có thể chứa các mục thuộc các loại khác nhau, nhưng thông thường tất cả các mục đều có cùng loại
>>> width = 20 >>> height = 5 * 9 >>> width * height 90089
Giống như chuỗi [và tất cả các loại dựng sẵn khác], danh sách có thể được lập chỉ mục và cắt lát
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."00
Tất cả các hoạt động của lát trả về một danh sách mới chứa các phần tử được yêu cầu. Điều này có nghĩa là slice sau trả về một trong danh sách
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."01
Danh sách cũng hỗ trợ các hoạt động như nối
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."02
Không giống như chuỗi, mà là, danh sách là một loại, tôi. e. có thể thay đổi nội dung của họ
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."03
Bạn cũng có thể thêm các mục mới vào cuối danh sách bằng cách sử dụng phương thức
>>> width = 20 >>> height = 5 * 9 >>> width * height 90037 [chúng ta sẽ xem thêm về các phương thức sau]
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."04
Cũng có thể gán cho các lát và điều này thậm chí có thể thay đổi kích thước của danh sách hoặc xóa hoàn toàn
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."05
Chức năng tích hợp cũng áp dụng cho danh sách
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."06
Có thể lồng danh sách [tạo danh sách chứa danh sách khác] chẳng hạn
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."07
3. 2. Những bước đầu tiên để lập trình
Tất nhiên, chúng ta có thể sử dụng Python cho các tác vụ phức tạp hơn là cộng hai với hai lại với nhau. Chẳng hạn, chúng ta có thể viết một dãy con ban đầu của dãy Fibonacci như sau
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."08
Ví dụ này giới thiệu một số tính năng mới
Dòng đầu tiên chứa nhiều nhiệm vụ. các biến
>>> width = 20 >>> height = 5 * 9 >>> width * height 900
39 và>>> width = 20 >>> height = 5 * 9 >>> width * height 900
40 đồng thời nhận các giá trị mới 0 và 1. Ở dòng cuối cùng, điều này được sử dụng lại, chứng minh rằng tất cả các biểu thức ở phía bên tay phải đều được ước tính trước khi thực hiện bất kỳ phép gán nào. Các biểu thức bên phải được đánh giá từ trái sang phảiVòng lặp thực hiện miễn là điều kiện [ở đây.
>>> width = 20 >>> height = 5 * 9 >>> width * height 900
42] vẫn đúng. Trong Python, giống như trong C, mọi giá trị số nguyên khác 0 đều đúng; . Điều kiện cũng có thể là một chuỗi hoặc giá trị danh sách, trên thực tế là bất kỳ chuỗi nào; . Bài kiểm tra được sử dụng trong ví dụ là phép so sánh đơn giản. Các toán tử so sánh tiêu chuẩn được viết giống như trong C.>>> width = 20 >>> height = 5 * 9 >>> width * height 900
43 [nhỏ hơn],>>> width = 20 >>> height = 5 * 9 >>> width * height 900
44 [lớn hơn],>>> width = 20 >>> height = 5 * 9 >>> width * height 900
45 [bằng],>>> width = 20 >>> height = 5 * 9 >>> width * height 900
46 [nhỏ hơn hoặc bằng],>>> width = 20 >>> height = 5 * 9 >>> width * height 900
47 [lớn hơn hoặc bằng] và>>> width = 20 >>> height = 5 * 9 >>> width * height 900
48 [không bằng]Phần thân của vòng lặp được thụt vào. thụt lề là cách nhóm các câu lệnh của Python. Tại dấu nhắc tương tác, bạn phải nhập một tab hoặc [các] dấu cách cho mỗi dòng thụt vào. Trong thực tế, bạn sẽ chuẩn bị đầu vào phức tạp hơn cho Python bằng trình soạn thảo văn bản; . Khi một câu lệnh ghép được nhập một cách tương tác, nó phải được theo sau bởi một dòng trống để biểu thị hoàn thành [vì trình phân tích cú pháp không thể đoán khi bạn đã nhập dòng cuối cùng]. Lưu ý rằng mỗi dòng trong một khối cơ bản phải được thụt vào cùng một lượng
Hàm ghi giá trị của [các] đối số mà nó được cung cấp. Nó khác với việc chỉ viết biểu thức mà bạn muốn viết [như chúng ta đã làm trước đó trong các ví dụ về máy tính] ở cách nó xử lý nhiều đối số, số lượng dấu phẩy động và chuỗi. Các chuỗi được in mà không có dấu ngoặc kép và khoảng trắng được chèn vào giữa các mục, vì vậy bạn có thể định dạng mọi thứ một cách độc đáo, như thế này
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."
09Đối số từ khóa end có thể được sử dụng để tránh dòng mới sau đầu ra hoặc kết thúc đầu ra bằng một chuỗi khác
>>> width = 20 >>> height = 5 * 9 >>> width * height 900
0
chú thích
Vì
>>> width = 20 >>> height = 5 * 9 >>> width * height 90019 có quyền ưu tiên cao hơn
>>> width = 20 >>> height = 5 * 9 >>> width * height 9005, nên
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.602 sẽ được hiểu là
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.603 và do đó dẫn đến
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.604. Để tránh điều này và nhận được
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.605, bạn có thể sử dụng
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.606
Không giống như các ngôn ngữ khác, các ký tự đặc biệt như
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.607 có cùng ý nghĩa với cả dấu nháy đơn [
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."19] và dấu ngoặc kép [
# this is the first comment spam = 1 # and this is the second comment # .. and now a third! text = "# This is not a comment because it's inside quotes."60]. Sự khác biệt duy nhất giữa hai loại này là trong các dấu ngoặc đơn, bạn không cần phải thoát khỏi
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.610 [nhưng bạn phải thoát khỏi
>>> 2 + 2 4 >>> 50 - 5*6 20 >>> [50 - 5*6] / 4 5.0 >>> 8 / 5 # division always returns a floating point number 1.611] và ngược lại