Làm thế nào để bạn đính kèm một giá trị trong một trích dẫn trong python?

Việc in các dấu ngoặc kép rất phức tạp, vì bản thân nó được yêu cầu như một phần của cú pháp để in các chuỗi bằng cách bao quanh chúng. Trong bài viết này, chúng ta sẽ xem cách in các dấu ngoặc kép này bằng cách sử dụng câu lệnh in

Các kịch bản dưới đây sẽ không in trích dẫn kép. Hai dòng mã đầu tiên sẽ không có đầu ra trong khi dòng cuối cùng sẽ báo lỗi

Thí dụ

Bản thử trực tiếp

print(" ")
print(" " " ")
print(""aString"")

đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -;

print(""aString"")
^
SyntaxError: invalid syntax

Nhưng nếu chúng ta bao quanh các chuỗi bằng dấu ngoặc kép thích hợp như hình bên dưới, thì bản thân dấu ngoặc kép có thể được in. Kèm theo dấu ngoặc kép trong dấu ngoặc đơn thực hiện thủ thuật

Thí dụ

Bản thử trực tiếp

print('Hello Tutorialspoint')
print('"Hello Tutorialspoint"')

đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Hello Tutorialspoint
"Hello Tutorialspoint"

Sử dụng biến chuỗi

Chúng tôi cũng có thể sử dụng định dạng chuỗi để in dấu ngoặc kép cũng như bất kỳ ký tự nào khác là một phần của cú pháp in

Nếu bạn không chắc một giá trị thuộc lớp nào, Python có một hàm gọi là type có thể cho bạn biết

>>> type("Hello, World!")
<class 'str'>
>>> type(17)
<class 'int'>

Không có gì đáng ngạc nhiên, các chuỗi thuộc về lớp str và các số nguyên thuộc về lớp int. Ít rõ ràng hơn, các số có dấu thập phân thuộc về một lớp gọi là float, bởi vì những số này được biểu diễn theo định dạng gọi là dấu phẩy động. Ở giai đoạn này, bạn có thể coi lớp từ và loại thay thế cho nhau. Chúng ta sẽ quay lại hiểu sâu hơn về class là gì trong các chương sau

>>> type(3.2)
<class 'float'>

Còn các giá trị như "17""3. 2" ? Chúng trông giống như số, nhưng chúng nằm trong dấu ngoặc kép giống như chuỗi.

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>

Chúng là những sợi dây

Chuỗi trong Python có thể được đặt trong dấu nháy đơn ( ' ) hoặc dấu nháy kép ( "), or three of each (''' or """)

>>> type('This is a string.')
<class 'str'>
>>> type("And so is this.")
<class 'str'>
>>> type("""and this.""")
<class 'str'>
>>> type('''and even this...''')
<class 'str'>

Các chuỗi trích dẫn kép có thể chứa các trích dẫn đơn bên trong chúng, như trong "Bộ râu của Bruce" và . "' 'The knights who say "Ni!"' .

Các chuỗi kèm theo ba lần xuất hiện của một trong hai ký hiệu trích dẫn được gọi là chuỗi trích dẫn ba. Chúng có thể chứa dấu nháy đơn hoặc kép

________số 8

Ba chuỗi được trích dẫn thậm chí có thể trải rộng trên nhiều dòng

>>> message = """This message will
.. span several
.. lines."""
>>> print(message)
This message will
span several
lines.
>>>

Python không quan tâm bạn sử dụng dấu ngoặc đơn hay dấu ngoặc kép hay dấu ngoặc kép ba loại để bao quanh chuỗi của bạn. một khi nó đã phân tích cú pháp văn bản của chương trình hoặc lệnh của bạn, thì cách nó lưu trữ giá trị giống hệt nhau trong mọi trường hợp và các trích dẫn xung quanh không phải là một phần của giá trị. Nhưng khi trình thông dịch muốn hiển thị một chuỗi, nó phải quyết định sử dụng dấu ngoặc kép nào để làm cho nó trông giống như một chuỗi

print(""aString"")
^
SyntaxError: invalid syntax
0

Vì vậy, các nhà thiết kế ngôn ngữ Python thường chọn bao quanh chuỗi của họ bằng dấu nháy đơn. Bạn nghĩ điều gì sẽ xảy ra nếu chuỗi đã chứa dấu nháy đơn?

Khi nhập một số nguyên lớn, bạn có thể muốn sử dụng dấu phẩy giữa các nhóm ba chữ số, như trong 42.000 . Đây không phải là một số nguyên hợp pháp trong Python, nhưng nó có nghĩa là một số khác, đó là một số hợp pháp.

print(""aString"")
^
SyntaxError: invalid syntax
1

Chà, đó không phải là điều chúng tôi mong đợi chút nào. Vì dấu phẩy, Python đã chọn coi đây là một cặp giá trị. Chúng ta sẽ quay lại tìm hiểu về các cặp sau. Tuy nhiên, hiện tại, hãy nhớ không đặt dấu phẩy hoặc dấu cách trong số nguyên của bạn, bất kể chúng lớn đến đâu. Cũng xem lại những gì chúng ta đã nói trong chương trước. ngôn ngữ chính thức rất nghiêm ngặt, ký hiệu ngắn gọn và ngay cả một thay đổi nhỏ nhất cũng có thể có ý nghĩa hoàn toàn khác với những gì bạn dự định

2. 2. Biến¶

Một trong những tính năng mạnh mẽ nhất của ngôn ngữ lập trình là khả năng thao tác với các biến. Một biến là một tên đề cập đến một giá trị

Các câu lệnh gán tạo các biến mới và cung cấp cho chúng các giá trị

print(""aString"")
^
SyntaxError: invalid syntax
2

Ví dụ này thực hiện ba nhiệm vụ. Cái đầu tiên gán giá trị chuỗi "What's up, Doc?" cho . Hàm thứ hai cung cấp số nguyên message. The second gives the integer 17 cho n và hàm thứ ba gán giá trị . 14159 3.14159 thành biến có tên pi .

Không nên nhầm lẫn mã thông báo gán, = với bằng, sử dụng mã thông báo ==. Câu lệnh gán liên kết một tên, ở phía bên trái của toán tử, với một giá trị, ở phía bên phải. Đây là lý do tại sao bạn sẽ gặp lỗi nếu bạn nhập.

print(""aString"")
^
SyntaxError: invalid syntax
3

Mẹo

Khi đọc hoặc viết mã, hãy tự nhủ “n được gán 17” hoặc “n nhận giá trị 17”. Đừng nói “n bằng 17”

Ghi chú

Trong trường hợp bạn đang thắc mắc, mã thông báo là một ký tự hoặc chuỗi ký tự có ý nghĩa cú pháp trong một ngôn ngữ. Trong các toán tử Python, từ khóa, chữ và khoảng trắng đều tạo thành mã thông báo trong ngôn ngữ

Một cách phổ biến để biểu diễn các biến trên giấy là viết tên bằng một mũi tên chỉ vào giá trị của biến. Loại hình này được gọi là ảnh chụp nhanh trạng thái vì nó cho biết trạng thái của từng biến tại một thời điểm cụ thể trong thời gian. (Hãy nghĩ về nó như trạng thái tâm trí của biến). Sơ đồ này cho thấy kết quả của việc thực hiện các câu lệnh gán

Làm thế nào để bạn đính kèm một giá trị trong một trích dẫn trong python?

Nếu bạn yêu cầu trình thông dịch đánh giá một biến, nó sẽ tạo ra giá trị hiện được liên kết với biến đó

>>> type(3.2)
<class 'float'>
0

Trong mỗi trường hợp, kết quả là giá trị của biến. Các biến cũng có các loại;

>>> type(3.2)
<class 'float'>
1

Loại biến là loại giá trị mà nó hiện đang đề cập đến

Chúng tôi sử dụng các biến trong một chương trình để "ghi nhớ" mọi thứ, chẳng hạn như tỷ số hiện tại của trận bóng đá. Nhưng biến là biến. Điều này có nghĩa là chúng có thể thay đổi theo thời gian, giống như bảng điểm trong một trận bóng đá. Bạn có thể gán một giá trị cho một biến và sau đó gán một giá trị khác cho cùng một biến

Ghi chú

Điều này khác với toán học. Trong toán học, nếu bạn cho x giá trị 3, thì nó không thể thay đổi để liên kết với một giá trị khác trong nửa chừng tính toán của bạn

>>> type(3.2)
<class 'float'>
2

Bạn sẽ nhận thấy rằng chúng tôi đã thay đổi giá trị của ngày ba lần và ở lần gán thứ ba, chúng tôi thậm chí còn đặt cho nó một giá trị là .

Phần lớn công việc lập trình là để máy tính ghi nhớ mọi thứ, chẳng hạn như. g. Số lượng cuộc gọi nhỡ trên điện thoại của bạn, sau đó sắp xếp để cập nhật hoặc thay đổi biến khi bạn bỏ lỡ một cuộc gọi khác

2. 3. Tên biến và từ khóa¶

Tên biến hợp lệ trong Python phải tuân theo ba quy tắc đơn giản sau

  1. Chúng là một chuỗi các chữ cái và chữ số dài tùy ý
  2. Trình tự phải bắt đầu bằng một chữ cái
  3. Ngoài một. z và A. Z, dấu gạch dưới ( _ ) là một chữ cái.

Mặc dù việc sử dụng chữ in hoa là hợp pháp nhưng theo quy ước, chúng tôi không. Nếu bạn làm như vậy, hãy nhớ trường hợp đó quan trọng. Brucebruce là các biến khác nhau.

Ký tự gạch dưới ( _ ) có thể xuất hiện trong tên. Nó thường được sử dụng trong các tên có nhiều từ, chẳng hạn như my_name hoặc price_of_tea_in_china.

Có một số trường hợp tên bắt đầu bằng dấu gạch dưới có ý nghĩa đặc biệt, vì vậy quy tắc an toàn cho người mới bắt đầu là bắt đầu tất cả các tên bằng một chữ cái khác với dấu gạch dưới

Nếu bạn đặt tên biến không hợp lệ, bạn sẽ gặp lỗi cú pháp

>>> type(3.2)
<class 'float'>
3

76trombone là bất hợp pháp vì nó không bắt đầu bằng một chữ cái. more$ là bất hợp pháp vì nó chứa một ký tự không hợp lệ, ký hiệu đô la. Nhưng có vấn đề gì với lớp ?

Hóa ra class là một trong những từ khóa Python. Các từ khóa xác định các quy tắc và cấu trúc cú pháp của ngôn ngữ và chúng không thể được sử dụng làm tên biến.

Python có khoảng 30 từ khóa (và thỉnh thoảng những cải tiến đối với Python lại giới thiệu hoặc loại bỏ một hoặc hai từ khóa)

và khẳng định lớp phá vỡ tiếp tục làm mất niềm tin ngoại trừ thực hiện cuối cùng cho từ toàn cầuifnhập khẩu tronglambdanonlocalnotorpassraisereturntrytrong khi với năng suấtĐúng SaiKhông có

Bạn có thể muốn giữ danh sách này tiện dụng. Nếu trình thông dịch phàn nàn về một trong các tên biến của bạn và bạn không biết tại sao, hãy xem nó có trong danh sách này không

Các lập trình viên thường chọn tên cho các biến của họ có ý nghĩa đối với người đọc chương trình là con người - chúng giúp lập trình viên ghi lại hoặc ghi nhớ biến đó được sử dụng để làm gì

thận trọng

Những người mới bắt đầu đôi khi nhầm lẫn giữa “có ý nghĩa đối với người đọc là con người” với “có ý nghĩa đối với máy tính”. Vì vậy, họ sẽ nghĩ sai rằng vì họ đã gọi một số biến trung bình hoặc pi, it will somehow automagically calculate an average, or automagically associate the variable pi with the value 3.14159. No! The computer doesn’t attach semantic meaning to your variable names.

Vì vậy, bạn sẽ thấy một số người hướng dẫn cố tình không chọn những cái tên có ý nghĩa khi họ dạy những người mới bắt đầu — không phải vì họ không nghĩ đó là một thói quen tốt, mà vì họ đang cố gắng củng cố thông điệp mà bạn, một lập trình viên, có.

2. 4. Các câu lệnh¶

Một câu lệnh là một lệnh mà trình thông dịch Python có thể thực thi. Cho đến nay chúng ta mới chỉ nhìn thấy câu lệnh gán. Một số loại câu lệnh khác mà chúng ta sẽ thấy ngay sau đây là câu lệnh while , for statements, if statements, and import statements. (There are other kinds too!)

Khi bạn gõ một câu lệnh trên dòng lệnh, Python sẽ thực thi nó. Tuyên bố không tạo ra bất kỳ kết quả

2. 5. Đánh giá biểu thức¶

Một biểu thức là sự kết hợp của các giá trị, biến, toán tử và lệnh gọi hàm. Nếu bạn nhập một biểu thức tại dấu nhắc Python, trình thông dịch sẽ đánh giá nó và hiển thị kết quả

>>> type(3.2)
<class 'float'>
4

Trong ví dụ này len là một hàm Python tích hợp sẵn trả về số lượng ký tự trong một chuỗi. Trước đây chúng ta đã thấy các hàm printtype , vì vậy điều này .

Việc đánh giá một biểu thức tạo ra một giá trị, đó là lý do tại sao các biểu thức có thể xuất hiện ở phía bên tay phải của các câu lệnh gán. Bản thân một giá trị là một biểu thức đơn giản và một biến cũng vậy

>>> type(3.2)
<class 'float'>
5

2. 6. Toán tử và toán hạng¶

Toán tử là mã thông báo đặc biệt đại diện cho các phép tính như cộng, nhân và chia. Các giá trị mà toán tử sử dụng được gọi là toán hạng

Sau đây là tất cả các biểu thức Python hợp pháp có ý nghĩa ít nhiều rõ ràng

>>> type(3.2)
<class 'float'>
6

Các mã thông báo + , -*, and the use of parenthesis for grouping, mean in Python what they mean in mathematics. The asterisk (* ) là mã thông báo cho phép nhân và ** .

>>> type(3.2)
<class 'float'>
7

Khi một tên biến xuất hiện ở vị trí của một toán hạng, nó sẽ được thay thế bằng giá trị của nó trước khi thao tác được thực hiện

Cộng, trừ, nhân và lũy thừa đều làm những gì bạn mong đợi

Thí dụ. vậy chúng ta hãy chuyển đổi 645 phút thành giờ

>>> type(3.2)
<class 'float'>
8

Rất tiếc. Trong Python 3, toán tử chia / luôn cho kết quả dấu chấm động. Những gì chúng ta có thể muốn biết là có bao nhiêu giờ và còn lại bao nhiêu phút. Python cung cấp cho chúng ta hai hương vị khác nhau của toán tử chia. Phép chia thứ hai, được gọi là phép chia số nguyên, sử dụng mã thông báo // . Nó luôn cắt bớt kết quả của nó xuống số nguyên nhỏ nhất tiếp theo (ở bên trái trên trục số).

>>> type(3.2)
<class 'float'>
9

Hãy cẩn thận để bạn chọn đúng hương vị của toán tử chia. Nếu bạn đang làm việc với các biểu thức mà bạn cần các giá trị dấu chấm động, hãy sử dụng toán tử chia để thực hiện phép chia một cách chính xác

2. 7. Chức năng chuyển đổi loại¶

Sau đây chúng ta sẽ xem xét thêm ba hàm Python, int , float and str, which will (attempt to) convert their arguments into types int, float and str respectively. We call these type converter functions.

Hàm int có thể lấy một số dấu phẩy động hoặc một chuỗi và biến nó thành một số nguyên. Đối với các số dấu phẩy động, nó loại bỏ phần thập phân của số - một quy trình mà chúng tôi gọi là cắt bớt về 0 trên dòng số. Hãy để chúng tôi thấy điều này trong hành động.

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
0

Trường hợp cuối cùng cho thấy rằng một chuỗi phải là một số hợp pháp về mặt cú pháp, nếu không, bạn sẽ gặp phải một trong những lỗi thời gian chạy phiền phức đó

Bộ chuyển đổi kiểu float có thể biến một số nguyên, một số float hoặc một chuỗi hợp lệ về mặt cú pháp thành một số float.

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
1

Bộ chuyển đổi kiểu str biến đối số của nó thành một chuỗi.

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
2

2. 8. Trình tự thực hiện¶

Khi có nhiều hơn một toán tử xuất hiện trong một biểu thức, thứ tự đánh giá phụ thuộc vào quy tắc ưu tiên. Python tuân theo các quy tắc ưu tiên tương tự cho các toán tử toán học của nó mà toán học thực hiện. Từ viết tắt PEMDAS là một cách hữu ích để ghi nhớ thứ tự các hoạt động

  1. Dấu ngoặc đơn có mức độ ưu tiên cao nhất và có thể được sử dụng để buộc một biểu thức phải đánh giá theo thứ tự bạn muốn. Vì các biểu thức trong ngoặc đơn được đánh giá trước nên 2 * (3-1) is 4, and (1+1)**(5-2) is 8. You can also use parentheses to make an expression easier to read, as in (minute * 100) / 60, even though it doesn’t change the result.
  2. Lũy thừa có mức độ ưu tiên cao nhất tiếp theo, vì vậy 2**1+1 là 3 chứ không phải 4 và 3*1**3 is 3 and not 27.
  3. Cả hai toán tử Phép nhân và Phép chia đều có cùng mức độ ưu tiên, cao hơn Phép cộng và Phép trừ, vốn cũng có cùng mức độ ưu tiên. Vì vậy, 2*3-1 mang lại 5 thay vì 4 và 5-2*2 is 1, not 6. #. Operators with the same precedence are evaluated from left-to-right. In algebra we say they are left-associative. So in the expression 6-3+2 , phép trừ xảy ra trước, mang lại 3. Sau đó chúng tôi thêm 2 để có được kết quả 5. Nếu các thao tác được đánh giá từ phải sang trái, thì kết quả sẽ là 6-(3+2) , tức là 1. (Từ viết tắt PEDMAS có thể khiến bạn lầm tưởng rằng phép chia có quyền ưu tiên cao hơn phép nhân và phép cộng được thực hiện trước phép trừ - đừng hiểu lầm. Phép trừ và phép cộng có cùng ưu tiên và áp dụng quy tắc từ trái sang phải. )

Ghi chú

Do một số vấn đề lịch sử, một ngoại lệ đối với quy tắc kết hợp từ trái sang phải là toán tử lũy thừa **, do đó, một gợi ý hữu ích là luôn sử dụng dấu ngoặc đơn để buộc chính xác thứ tự bạn muốn khi có liên quan đến lũy thừa

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
3

Dấu nhắc lệnh chế độ ngay lập tức của Python rất phù hợp để khám phá và thử nghiệm các biểu thức như thế này

2. 9. Các thao tác trên chuỗi¶

Nói chung, bạn không thể thực hiện các phép toán trên chuỗi, ngay cả khi chuỗi trông giống số. Những điều sau đây là bất hợp pháp (giả sử rằng thông báo có kiểu chuỗi).

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
4

Điều thú vị là toán tử + hoạt động với chuỗi, nhưng đối với chuỗi thì + operator represents concatenation, not addition. Concatenation means joining the two operands by linking them end-to-end. For example:

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
5

Đầu ra của chương trình này là chuối hạt bánh mì . Khoảng cách trước từ nut là một phần của chuỗi và cần thiết để tạo khoảng cách giữa các chuỗi được nối.

Toán tử * cũng hoạt động trên chuỗi; . Ví dụ: 'Fun'*3'FunFunFun' . Một trong các toán hạng phải là một chuỗi; .

Một mặt, cách hiểu này của +* makes sense by analogy with addition and multiplication. Just as 4*3 tương đương với 4+4+4 , . Mặt khác, có một cách đáng kể trong đó phép nối và phép lặp chuỗi khác với phép cộng và phép nhân số nguyên. Bạn có thể nghĩ ra một thuộc tính mà phép cộng và phép nhân có mà phép nối chuỗi và phép lặp lại không? "Fun"*3 to be the same as "Fun"+"Fun"+"Fun", and it is. On the other hand, there is a significant way in which string concatenation and repetition are different from integer addition and multiplication. Can you think of a property that addition and multiplication have that string concatenation and repetition do not?

2. 10. Đầu vào¶

Có một chức năng tích hợp sẵn trong Python để nhận đầu vào từ người dùng

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
6

Người dùng chương trình có thể nhập tên và nhấn return . Khi điều này xảy ra, văn bản đã nhập được trả về từ hàm nhập và trong trường hợp này được gán cho biến name.

Ngay cả khi bạn yêu cầu người dùng nhập tuổi của họ, bạn sẽ nhận được một chuỗi như "17" . Công việc của bạn, với tư cách là lập trình viên, là chuyển đổi chuỗi đó thành int hoặc float, sử dụng int hoặc float converter functions we saw earlier.

2. 11. Thành phần¶

Cho đến giờ, chúng ta đã xem xét các thành phần của một chương trình — biến, biểu thức, câu lệnh và lệnh gọi hàm — một cách riêng biệt, mà không nói về cách kết hợp chúng

Một trong những tính năng hữu ích nhất của ngôn ngữ lập trình là khả năng lấy các khối xây dựng nhỏ và kết hợp chúng thành các khối lớn hơn.

Ví dụ: chúng tôi biết cách yêu cầu người dùng nhập một số dữ liệu đầu vào, chúng tôi biết cách chuyển đổi chuỗi mà chúng tôi nhận được thành số thực, chúng tôi biết cách viết một biểu thức phức tạp và chúng tôi biết cách in các giá trị. Hãy kết hợp những thứ này lại với nhau trong một chương trình bốn bước nhỏ yêu cầu người dùng nhập một giá trị cho bán kính của hình tròn, sau đó tính diện tích hình tròn từ công thức

Làm thế nào để bạn đính kèm một giá trị trong một trích dẫn trong python?

Đầu tiên, chúng ta sẽ thực hiện từng bước một

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
7

Bây giờ, hãy soạn hai dòng đầu tiên thành một dòng mã và soạn hai dòng thứ hai thành một dòng mã khác

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
8

Nếu chúng tôi thực sự muốn trở nên khó khăn, chúng tôi có thể viết tất cả trong một câu lệnh

>>> type("17")
<class 'str'>
>>> type("3.2")
<class 'str'>
9

Mã nhỏ gọn như vậy có thể không dễ hiểu nhất đối với con người, nhưng nó minh họa cách chúng ta có thể tạo các khối lớn hơn từ các khối xây dựng của mình

Nếu bạn từng băn khoăn không biết nên soạn mã hay chia nhỏ mã thành các bước nhỏ hơn, hãy cố gắng làm cho nó đơn giản nhất có thể để con người có thể làm theo. Lựa chọn của tôi sẽ là trường hợp đầu tiên ở trên, với bốn bước riêng biệt

2. 12. Bảng chú giải¶

tuyên bố chuyển nhượng

Câu lệnh gán giá trị cho tên (biến). Ở bên trái của toán tử gán, = , là một tên. Ở bên phải của mã thông báo gán là một biểu thức được trình thông dịch Python đánh giá và sau đó được gán cho tên. Sự khác biệt giữa vế trái và vế phải của câu lệnh gán thường gây nhầm lẫn cho các lập trình viên mới. Trong bài tập sau.

>>> type('This is a string.')
<class 'str'>
>>> type("And so is this.")
<class 'str'>
>>> type("""and this.""")
<class 'str'>
>>> type('''and even this...''')
<class 'str'>
0

n đóng một vai trò rất khác nhau ở mỗi bên của = . Ở bên phải, nó là một giá trị và tạo thành một phần của biểu thức sẽ được trình thông dịch Python đánh giá trước khi gán nó cho tên ở bên trái.

mã thông báo gán = là mã thông báo gán của Python, không nên nhầm lẫn với toán tử so sánh toán học sử dụng cùng một ký hiệu. bình luậnThông tin trong một chương trình dành cho các lập trình viên khác (hoặc bất kỳ ai đọc mã nguồn) và không ảnh hưởng đến việc thực thi chương trình. thành phầnKhả năng kết hợp các biểu thức và câu lệnh đơn giản thành các câu lệnh và biểu thức phức hợp để biểu diễn các phép tính phức tạp một cách chính xác. concatenate Để nối hai chuỗi end-to-end. kiểu dữ liệuMột tập hợp các giá trị. Loại giá trị xác định cách nó có thể được sử dụng trong các biểu thức. Cho đến giờ, các loại bạn đã thấy là số nguyên ( int ), số dấu phẩy động ( float), and strings (str).evaluateTo simplify an expression by performing the operations in order to yield a single value.expressionA combination of variables, operators, and values that represents a single result value.floatA Python data type which stores floating-point numbers. Floating-point numbers are stored internally in two parts: a base and an exponent. When printed in the standard format, they look like decimal numbers. Beware of rounding errors when you use float s và hãy nhớ rằng chúng chỉ là giá trị gần đúng. intA Kiểu dữ liệu Python chứa các số nguyên dương và âm. phép chia số nguyên Một phép toán chia một số nguyên cho một số nguyên khác và thu được một số nguyên. Phép chia số nguyên chỉ mang lại toàn bộ số lần mà tử số chia hết cho mẫu số và loại bỏ mọi phần còn lại. từ khóa Một từ dành riêng được trình biên dịch sử dụng để phân tích chương trình; . toán hạngMột trong những giá trị mà toán tử thao tác trên đó. toán tửMột ký hiệu đặc biệt đại diện cho một phép tính đơn giản như cộng, nhân hoặc nối chuỗi. quy tắc ưu tiênTập hợp các quy tắc quản lý thứ tự trong đó các biểu thức liên quan đến nhiều toán tử và toán hạng được đánh giá. ảnh chụp nhanh trạng thái Biểu diễn đồ họa của một tập hợp các biến và các giá trị mà chúng tham chiếu, được thực hiện tại một thời điểm cụ thể trong quá trình thực thi chương trình. câu lệnhMột lệnh mà trình thông dịch Python có thể thực thi. Cho đến giờ chúng ta mới chỉ thấy câu lệnh gán, nhưng chúng ta sẽ sớm gặp câu lệnh if, def, and while as variable names.operandOne of the values on which an operator operates.operatorA special symbol that represents a simple computation like addition, multiplication, or string concatenation.rules of precedenceThe set of rules governing the order in which expressions involving multiple operators and operands are evaluated.state snapshotA graphical representation of a set of variables and the values to which they refer, taken at a particular instant during the program’s execution.statementAn instruction that the Python interpreter can execute. So far we have only seen the assignment statement, but we will soon meet the nhậpchochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochochocho statement.strA Python data type that holds a string of characters.valueA number or string (or other things to be named later) that can be stored in a variable or computed in an expression.variableA name that refers to a value.variable nameA name given to a variable. Variable names in Python consist of a sequence of letters (a..z, A..Z, and _) and digits (0..9) that begins with a letter. In best programming practice, variable names should be chosen so that they describe their use in the program, making the program self documenting.

2. 13. Bài tập¶

  1. Nhận câu. Tất cả công việc và không chơi khiến Jack trở thành một cậu bé đần độn. Lưu trữ từng từ trong một biến riêng biệt, sau đó in ra câu trên một dòng bằng cách sử dụng print .

  2. Thêm dấu ngoặc đơn vào biểu thức 6 * 1 - . 2 to change its value from 4 to -6.

  3. Đặt một nhận xét trước một dòng mã đã hoạt động trước đó và ghi lại những gì xảy ra khi bạn chạy lại chương trình

  4. Khởi động trình thông dịch Python và nhập bruce + 4 . Điều này sẽ cung cấp cho bạn một lỗi.

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    1

    Gán giá trị cho bruce để bruce + . 4 evaluates to 10.

  5. Công thức tính số tiền cuối cùng nếu một người kiếm được lãi kép là

    Làm thế nào để bạn đính kèm một giá trị trong một trích dẫn trong python?

    Viết chương trình Python gán số tiền gốc là $100 cho biến p , gán cho n . Sau đó, yêu cầu chương trình nhắc người dùng về số năm, the value 12, and assigns to r the interest rate of 8% (as a float). Then have the program prompt the user for the number of years, t , số tiền sẽ được gộp. Tính và in số tiền cuối cùng sau t năm.

    Mẹo

    Hãy nhớ sử dụng các hàm chuyển đổi kiểu để biến các chuỗi được trả về bởi hàm đầu vào thành số.

  6. Tạo một tệp có tên ch02e06. py chứa nội dung sau

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    2

    Lưu tệp và chạy tệp (nhấp vào đây để tải xuống tệp tạo sẵn). Khi bạn chạy chương trình này, nó sẽ báo lỗi như sau.

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    3

    Bạn sẽ trở nên quen thuộc với các truy nguyên này khi làm việc với Python. Điều quan trọng nhất ở đây là dòng cuối cùng, cho bạn biết rằng tên n không được xác định.

    Để xác định n , hãy gán cho nó một giá trị bằng cách thêm dòng sau vào dòng ngay sau . Place your solution code on the line after this one... dòng trong chương trình.

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    4

    Chạy lại chương trình và xác nhận rằng bạn hiện gặp lỗi này

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    5

    n hiện đã được xác định, nhưng tài liệu kiểm tra của chúng tôi dự kiến ​​giá trị của nó là 42 , không phải < . Khắc phục sự cố này bằng cách thay đổi nhiệm vụ thành 11. Fix this by changing the assignment to n thành

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    6

    Khi chạy lại chương trình sẽ không báo lỗi. Trên thực tế, bạn sẽ không thấy bất kỳ đầu ra nào cả. Nếu bạn đang chạy chương trình của mình từ dấu nhắc lệnh, bạn có thể thêm -v vào cuối lệnh để xem kết quả chi tiết.

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    7

    Ghi chú

    Bài tập này và các bài tập tiếp theo đều sử dụng tiện ích kiểm tra tự động tích hợp sẵn của Python gọi doctest. Đối với mỗi bài tập, bạn sẽ tạo một tệp chứa nội dung sau ở dưới cùng

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    8

    Các "bài kiểm tra" sẽ được viết ở đầu tệp trong ba chuỗi được trích dẫn và sẽ trông giống như các tương tác với trình bao Python. Nhiệm vụ của bạn là làm cho các bài kiểm tra vượt qua (chạy mà không bị lỗi hoặc quay lại và báo lỗi)

  7. Tạo một tệp có tên ch02e07. py chứa nội dung sau

    >>> type('This is a string.')
    <class 'str'>
    >>> type("And so is this.")
    <class 'str'>
    >>> type("""and this.""")
    <class 'str'>
    >>> type('''and even this...''')
    <class 'str'>
    
    9

    Vượt qua bài kiểm tra bằng cách sử dụng những gì bạn đã học được trong bài tập trước

  8. Tạo tệp có tên ch02e08. py chứa nội dung sau

    >>> print('''"Oh no", she exclaimed, "Ben's bike is broken!"''')
    "Oh no", she exclaimed, "Ben's bike is broken!"
    >>>
    
    0

    Lần này có 3 bài kiểm tra thay vì một. Bạn sẽ cần nhiều hơn một câu lệnh gán để vượt qua các bài kiểm tra này

  9. Từ đây chúng tôi sẽ chỉ cung cấp cho bạn các tài liệu cho mỗi bài tập. Như trong các bài tập trước, bạn sẽ cần tạo một tệp cho mỗi bài và đặt ba dòng Python ở cuối tệp để chạy thử nghiệm

    Cái nào được tạo bằng cách đặt các ký tự trong dấu ngoặc kép bằng Python?

    Tổng quan. Chuỗi chỉ là một dãy ký tự. Đây là một trong những kiểu dữ liệu phổ biến nhất trong Python. Nó có thể được tạo đơn giản bằng cách đặt các ký tự trong dấu ngoặc kép.

    Biến nào được đặt trong dấu nháy đơn?

    Dấu nháy đơn. Khi bạn đặt các ký tự hoặc biến trong dấu nháy đơn ( ' ) thì nó biểu thị giá trị bằng chữ của các ký tự . Vì vậy, giá trị của bất kỳ biến nào không thể được đọc bằng một trích dẫn và một trích dẫn không thể được sử dụng trong một trích dẫn đơn khác.