Hướng dẫn web scraping python w3schools - web cạo python w3schools


Xử lý tập tin là một phần quan trọng của bất kỳ ứng dụng web nào.

Show

Python có một số chức năng để tạo, đọc, cập nhật và xóa các tệp.


Xử lý tập tin

Chức năng chính để làm việc với các tệp trong Python là hàm

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
5.

Hàm

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
5 có hai tham số; Tên tệp và chế độ.

Có bốn phương thức khác nhau (chế độ) để mở tệp:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
7 - Đọc - Giá trị mặc định. Mở một tệp để đọc, lỗi nếu tệp không tồn tại

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
8 - Phụ lục - Mở một tệp để thêm vào, tạo tệp nếu nó không tồn tại

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
9 - Viết - Mở tệp để viết, tạo tệp nếu nó không tồn tại

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
0 - Tạo - Tạo tệp được chỉ định, trả về lỗi nếu tệp tồn tại

Ngoài ra, bạn có thể chỉ định nếu tệp nên được xử lý làm chế độ nhị phân hoặc văn bản

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
1 - Văn bản - Giá trị mặc định. Chế độ văn bản

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
2 - Binary - Chế độ nhị phân (ví dụ: hình ảnh)


Cú pháp

Để mở một tệp để đọc nó là đủ để chỉ định tên của tệp:

Mã trên giống như:

f = open ("demofile.txt", "rt")

Bởi vì

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
7 cho đọc và
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
1 cho văn bản là các giá trị mặc định, bạn không cần chỉ định chúng.

Lưu ý: Đảm bảo rằng tệp tồn tại, nếu không bạn sẽ gặp lỗi. Make sure the file exists, or else you will get an error.



Niềng răng

Để làm cho nẹp xuất hiện trong chuỗi của bạn, bạn phải sử dụng niềng răng đôi:

Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:

  • Niềng răng
  • Để làm cho nẹp xuất hiện trong chuỗi của bạn, bạn phải sử dụng niềng răng đôi:
  • Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:
  • >>> first_name = "Eric"
    >>> last_name = "Idle"
    >>> age = 74
    >>> profession = "comedian"
    >>> affiliation = "Monty Python"
    >>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
    'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
    
    1
  • Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:
  • Dấu gạch chéo ngược
  • Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:
  • Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:
  • Đi ra và định dạng!
  • Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)
  • Theo Zen of Python, khi bạn cần quyết định cách làm một cái gì đó, thì ở đây, ở đây sẽ là một cách và tốt nhất là chỉ có một cách để làm điều đó. Mặc dù các chuỗi F không phải là cách duy nhất có thể để bạn định dạng chuỗi, nhưng chúng ở một vị trí tuyệt vời để trở thành một cách rõ ràng để hoàn thành công việc.
  • Đọc thêm
  • Nếu bạn muốn đọc một cuộc thảo luận mở rộng về nội suy chuỗi, hãy xem PEP 502. Ngoài ra, bản nháp PEP 536 có thêm một số suy nghĩ về tương lai của F-String.
  • Để có thêm niềm vui với chuỗi, hãy xem các bài viết sau:
  • Chuỗi Python định dạng các thực tiễn tốt nhất của Dan Bader
  • Giới thiệu thực tế về việc quét web trong Python của Colin Okeefe
  • Happy Pythoning!
  • Hướng dẫn Python
  • ❮ nhà tiếp theo ❯
  • Nội phân chính
  • Học Python
  • Học theo ví dụ
  • Xử lý tập tin Python
  • Xử lý cơ sở dữ liệu Python
  • Bài tập Python
  • Kiểm tra bản thân với các bài tập
  • Dấu ngoặc kép
  • Bạn cũng có thể sử dụng Triple Trích dẫn:
  • Mã này cũng sẽ hoạt động:
  • Mã này cũng sẽ hoạt động:
  • >>> name = "Eric"
    >>> age = 74
    >>> "Hello, %s. You are %s." % (name, age)
    'Hello Eric. You are 74.'
    
    7

Để làm cho nẹp xuất hiện trong chuỗi của bạn, bạn phải sử dụng niềng răng đôi:

Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
1

Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:


Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
1

Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:

Dấu gạch chéo ngược

Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:

Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:


>>> first_name = "Eric" >>> last_name = "Idle" >>> age = 74 >>> profession = "comedian" >>> affiliation = "Monty Python" >>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation) 'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.' 1

Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
1


Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:

Dấu gạch chéo ngược

Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:

Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:


Dấu gạch chéo ngược

Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:

Exercise:

Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:

("Hello World")

Đi ra và định dạng!



Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:

Đi ra và định dạng!

Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)


Đi ra và định dạng!

Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)

Đi ra và định dạng!


Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)

Theo Zen of Python, khi bạn cần quyết định cách làm một cái gì đó, thì ở đây, ở đây sẽ là một cách và tốt nhất là chỉ có một cách để làm điều đó. Mặc dù các chuỗi F không phải là cách duy nhất có thể để bạn định dạng chuỗi, nhưng chúng ở một vị trí tuyệt vời để trở thành một cách rõ ràng để hoàn thành công việc.

Đăng nhập vào tài khoản của bạn và bắt đầu kiếm điểm!

Đây là một tính năng tùy chọn, bạn có thể học W3Schools mà không cần sử dụng việc học của tôi.


Tham khảo Python

Bạn cũng sẽ tìm thấy các tài liệu tham khảo chức năng và phương thức hoàn chỉnh:

Tổng quan tham khảo

Chức năng tích hợp sẵn

Phương thức chuỗi

Phương pháp danh sách/mảng

Phương pháp từ điển

Phương pháp tuple

Đặt phương pháp

Phương pháp tập tin

Từ khóa Python

Ngoại lệ Python

Thuật ngữ Python

Mô -đun ngẫu nhiên

Mô -đun yêu cầu

Mô -đun toán học

Mô -đun CMATH


Tải xuống Python

Tải xuống Python từ trang web Python chính thức: https://python.org


Khởi động sự nghiệp của bạn

Được chứng nhận bằng cách hoàn thành khóa họcthe course

Được chứng nhận

W3SchoolScertified.2022

❮ nhà tiếp theo ❯



XPath là gì?

XPath là một yếu tố chính trong tiêu chuẩn XSLT.

XPath có thể được sử dụng để điều hướng qua các phần tử và thuộc tính trong tài liệu XML.

  • XPath là viết tắt của ngôn ngữ đường dẫn XML
  • XPath sử dụng cú pháp "đường dẫn như" để xác định và điều hướng các nút trong tài liệu XML
  • XPath chứa hơn 200 chức năng tích hợp
  • XPath là một yếu tố chính trong tiêu chuẩn XSLT
  • XPath là một khuyến nghị của W3C

Biểu thức đường dẫn XPath

XPath sử dụng các biểu thức đường dẫn để chọn các nút hoặc bộ nút trong tài liệu XML.

Các biểu thức đường dẫn này trông rất giống các biểu thức đường dẫn bạn sử dụng với các hệ thống tệp máy tính truyền thống:


Chức năng tiêu chuẩn XPath

XPath bao gồm hơn 200 chức năng tích hợp.

Có các hàm cho các giá trị chuỗi, giá trị số, booleans, so sánh ngày và thời gian, thao tác nút, thao tác trình tự, và nhiều hơn nữa.

Ngày nay, các biểu thức XPath cũng có thể được sử dụng trong JavaScript, Java, Lược đồ XML, PHP, Python, C và C ++ và rất nhiều ngôn ngữ khác.


XPath được sử dụng trong XSLT

XPath là một yếu tố chính trong tiêu chuẩn XSLT.

XPath có thể được sử dụng để điều hướng qua các phần tử và thuộc tính trong tài liệu XML.


XPath là viết tắt của ngôn ngữ đường dẫn XML

XPath sử dụng cú pháp "đường dẫn như" để xác định và điều hướng các nút trong tài liệu XML

XPath chứa hơn 200 chức năng tích hợp

XPath là một yếu tố chính trong tiêu chuẩn XSLT

XPath là một khuyến nghị của W3C

Biểu thức đường dẫn XPath

XPath sử dụng các biểu thức đường dẫn để chọn các nút hoặc bộ nút trong tài liệu XML.

Các biểu thức đường dẫn này trông rất giống các biểu thức đường dẫn bạn sử dụng với các hệ thống tệp máy tính truyền thống:

Chức năng tiêu chuẩn XPath

XPath bao gồm hơn 200 chức năng tích hợp.

Có các hàm cho các giá trị chuỗi, giá trị số, booleans, so sánh ngày và thời gian, thao tác nút, thao tác trình tự, và nhiều hơn nữa.

Ngày nay, các biểu thức XPath cũng có thể được sử dụng trong JavaScript, Java, Lược đồ XML, PHP, Python, C và C ++ và rất nhiều ngôn ngữ khác.

XPath được sử dụng trong XSLT

Với kiến ​​thức XPath, bạn sẽ có thể tận dụng nhiều kiến ​​thức XSLT của mình.

XPath là một khuyến nghị của W3C

XPath 1.0 đã trở thành một khuyến nghị của W3C vào ngày 16 tháng 11 năm 1999.

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'

XPath 2.0 trở thành một khuyến nghị của W3C vào ngày 23 tháng 1 năm 2007.

XPath 1.0 đã trở thành một khuyến nghị của W3C vào ngày 16 tháng 11 năm 1999.

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'

XPath 2.0 trở thành một khuyến nghị của W3C vào ngày 23 tháng 1 năm 2007.

XPath 3.0 đã trở thành một khuyến nghị của W3C vào ngày 8 tháng 4 năm 2014.

XPath 1.0 đã trở thành một khuyến nghị của W3C vào ngày 16 tháng 11 năm 1999.

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

XPath 2.0 trở thành một khuyến nghị của W3C vào ngày 23 tháng 1 năm 2007.

XPath 3.0 đã trở thành một khuyến nghị của W3C vào ngày 8 tháng 4 năm 2014.

Kể từ Python 3.6, dây F là một cách mới tuyệt vời để định dạng chuỗi. Họ không chỉ dễ đọc hơn, súc tích hơn và ít bị lỗi hơn so với các cách định dạng khác, mà chúng còn nhanh hơn!

Đến cuối bài viết này, bạn sẽ tìm hiểu cách thức và lý do bắt đầu sử dụng F-Strings ngay hôm nay.

Nhưng trước tiên, ở đây, cuộc sống như thế nào trước F-String, trở lại khi bạn phải đi bộ đến trường lên dốc cả hai cách trong tuyết.

Chuỗi của trường cũ ở trường học ở Python

XPath 1.0 đã trở thành một khuyến nghị của W3C vào ngày 16 tháng 11 năm 1999.

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'

XPath 2.0 trở thành một khuyến nghị của W3C vào ngày 23 tháng 1 năm 2007.

XPath 1.0 đã trở thành một khuyến nghị của W3C vào ngày 16 tháng 11 năm 1999.

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'

XPath 2.0 trở thành một khuyến nghị của W3C vào ngày 23 tháng 1 năm 2007.

>>>

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'

Bạn cũng có thể sử dụng

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
1 để thực hiện thủ thuật gọn gàng này với từ điển:

>>>

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5 chắc chắn là một bản nâng cấp khi so sánh với %hình thức, nhưng nó không phải là tất cả hoa hồng và ánh nắng mặt trời.

Tại sao str.format () isn tuyệt vời

Mã sử ​​dụng

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5 dễ đọc hơn nhiều so với mã sử dụng %-formatting, nhưng
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5 vẫn có thể khá dài dòng khi bạn xử lý nhiều tham số và chuỗi dài hơn. Hãy xem này:

>>>

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> print(("Hello, {first_name} {last_name}. You are {age}. " + 
>>>        "You are a {profession}. You were a member of {affiliation}.") \
>>>        .format(first_name=first_name, last_name=last_name, age=age, \
>>>                profession=profession, affiliation=affiliation))
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

Nếu bạn có các biến bạn muốn chuyển sang

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
5 trong từ điển, thì bạn có thể giải nén nó bằng
>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
6 và tham chiếu các giá trị bằng khóa trong chuỗi, nhưng phải có một cách tốt hơn để làm điều này.

F-Strings: Một cách mới và được cải tiến để định dạng chuỗi trong Python

Tin tốt là F-Strings ở đây để cứu ngày. Họ cắt lát! Họ xúc xắc! Họ làm khoai tây chiên Julienne! Được rồi, họ không làm những điều đó, nhưng họ làm cho định dạng dễ dàng hơn. Họ tham gia bữa tiệc trong Python 3.6. Bạn có thể đọc tất cả về nó trong PEP 498, được viết bởi Eric V. Smith vào tháng 8 năm 2015.

Còn được gọi là các chuỗi chữ được định dạng trên mạng, các chuỗi F F là các chữ cái có chữ

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
7 ở đầu và niềng răng xoăn chứa các biểu thức sẽ được thay thế bằng các giá trị của chúng. Các biểu thức được đánh giá trong thời gian chạy và sau đó được định dạng bằng giao thức
>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
8. Như mọi khi, các tài liệu Python là bạn của bạn khi bạn muốn tìm hiểu thêm.

Dưới đây là một số cách mà F-String có thể làm cho cuộc sống của bạn dễ dàng hơn.

Cú pháp đơn giản

Cú pháp tương tự như cái bạn đã sử dụng với

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5 nhưng ít dài dòng hơn. Nhìn vào cách dễ đọc này:

>>>

>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'

Nó cũng có hiệu lực khi sử dụng chữ cái viết hoa

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
0:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
0

Bạn có yêu F-String chưa? Tôi hy vọng rằng, vào cuối bài viết này, bạn sẽ trả lời

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
1.

Biểu thức tùy ý

Bởi vì các chuỗi F được đánh giá trong thời gian chạy, bạn có thể đặt bất kỳ và tất cả các biểu thức python hợp lệ trong chúng. Điều này cho phép bạn làm một số điều tiện lợi.

Bạn có thể làm một cái gì đó khá đơn giản, như thế này:

Nhưng bạn cũng có thể gọi các chức năng. Đây là một ví dụ:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
1

Bạn cũng có tùy chọn gọi trực tiếp một phương thức:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
2

Bạn thậm chí có thể sử dụng các đối tượng được tạo từ các lớp có chuỗi F. Hãy tưởng tượng bạn đã có lớp học sau:

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
3

Bạn có thể làm điều này:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
4

Các phương thức

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
2 và
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
3 đối phó với cách các đối tượng được trình bày dưới dạng chuỗi, vì vậy bạn sẽ cần đảm bảo rằng bạn bao gồm ít nhất một trong các phương thức đó trong định nghĩa lớp của bạn. Nếu bạn phải chọn một, hãy đi với
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
3 vì nó có thể được sử dụng thay cho
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
2.

Chuỗi được trả về bởi

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
2 là biểu diễn chuỗi không chính thức của một đối tượng và có thể đọc được. Chuỗi được trả về bởi
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
3 là đại diện chính thức và nên không rõ ràng. Gọi
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
8 và
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
9 tốt hơn là sử dụng trực tiếp
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
2 và
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
3.

Theo mặc định, các chuỗi F sẽ sử dụng

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
2, nhưng bạn có thể đảm bảo rằng họ sử dụng
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
3 nếu bạn bao gồm cờ chuyển đổi
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'
4:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
5

Nếu bạn muốn đọc một số cuộc trò chuyện dẫn đến các chuỗi F hỗ trợ các biểu thức python đầy đủ, bạn có thể làm như vậy ở đây.

Multiline F-String

Bạn có thể có chuỗi đa dòng:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
6

Nhưng hãy nhớ rằng bạn cần đặt một

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
7 trước mỗi dòng của một chuỗi đa dòng. Mã sau đây đã giành được công việc:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
7

Nếu bạn không đặt một

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
7 trước mỗi dòng riêng lẻ, thì bạn sẽ có các chuỗi thường xuyên, cũ, trong vườn và không sáng bóng, mới, ưa thích.

Nếu bạn muốn lan truyền các chuỗi trên nhiều dòng, bạn cũng có tùy chọn thoát khỏi sự trở lại với

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'
7:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
8

Nhưng đây là những gì sẽ xảy ra nếu bạn sử dụng

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'
8:

>>>

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
9

Đọc về hướng dẫn thụt vào trong PEP 8.

Tốc độ, vận tốc

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
7 trong F-String cũng có thể đứng cho Fast Fast.

Các chuỗi F nhanh hơn cả %-formatting và

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5. Như bạn đã thấy, các chuỗi F là các biểu thức được đánh giá trong thời gian chạy thay vì các giá trị không đổi. Ở đây, một đoạn trích từ các tài liệu:

Các dây F F cung cấp một cách để nhúng các biểu thức bên trong các chữ viết, sử dụng cú pháp tối thiểu. Cần lưu ý rằng một chuỗi F thực sự là một biểu thức được đánh giá tại thời điểm chạy, không phải là một giá trị không đổi. Trong mã nguồn Python, một chuỗi F là một chuỗi theo nghĩa đen, có tiền tố với

>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
7, chứa các biểu thức bên trong niềng răng. Các biểu thức được thay thế bằng các giá trị của chúng. (Nguồn)

Trong thời gian chạy, biểu thức bên trong niềng răng xoăn được đánh giá trong phạm vi riêng của nó và sau đó đặt cùng với phần theo nghĩa đen của chuỗi F. Chuỗi kết quả sau đó được trả về. Đó là tất cả những gì nó cần.

Ở đây, một so sánh tốc độ:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
0

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
1

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
2

Như bạn có thể thấy, F-String xuất hiện trên đầu.

Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5. Một opcode
>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> print(("Hello, {first_name} {last_name}. You are {age}. " + 
>>>        "You are a {profession}. You were a member of {affiliation}.") \
>>>        .format(first_name=first_name, last_name=last_name, age=age, \
>>>                profession=profession, affiliation=affiliation))
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
3 đặc biệt đã được giới thiệu.

Python F-Strings: Các chi tiết phiền phức

Bây giờ bạn đã học được tất cả về lý do tại sao F-String lại tuyệt vời, tôi chắc chắn bạn muốn ra khỏi đó và bắt đầu sử dụng chúng. Dưới đây là một vài chi tiết cần ghi nhớ khi bạn mạo hiểm vào thế giới mới dũng cảm này.

Dấu ngoặc kép

Bạn có thể sử dụng các loại dấu ngoặc kép khác nhau bên trong các biểu thức. Chỉ cần đảm bảo rằng bạn không sử dụng cùng một loại dấu ngoặc kép ở bên ngoài chuỗi F như bạn đang sử dụng trong biểu thức.

Mã này sẽ hoạt động:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
3

Như bạn có thể thấy, F-String xuất hiện trên đầu.

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
4

Tuy nhiên, đó không phải là trường hợp luôn như vậy. Khi chúng được thực hiện lần đầu tiên, họ có một số vấn đề về tốc độ và cần được thực hiện nhanh hơn

>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
5. Một opcode
>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> print(("Hello, {first_name} {last_name}. You are {age}. " + 
>>>        "You are a {profession}. You were a member of {affiliation}.") \
>>>        .format(first_name=first_name, last_name=last_name, age=age, \
>>>                profession=profession, affiliation=affiliation))
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
3 đặc biệt đã được giới thiệu.

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
5

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
6

Python F-Strings: Các chi tiết phiền phức

>>>

Bây giờ bạn đã học được tất cả về lý do tại sao F-String lại tuyệt vời, tôi chắc chắn bạn muốn ra khỏi đó và bắt đầu sử dụng chúng. Dưới đây là một vài chi tiết cần ghi nhớ khi bạn mạo hiểm vào thế giới mới dũng cảm này.

Dấu ngoặc kép

Bạn có thể sử dụng các loại dấu ngoặc kép khác nhau bên trong các biểu thức. Chỉ cần đảm bảo rằng bạn không sử dụng cùng một loại dấu ngoặc kép ở bên ngoài chuỗi F như bạn đang sử dụng trong biểu thức.

Mã này sẽ hoạt động:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
8

Mã này cũng sẽ hoạt động:

>>>

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
9

Bạn cũng có thể sử dụng Triple Trích dẫn:

Nếu bạn thấy bạn cần sử dụng cùng một loại dấu ngoặc kép ở cả bên trong và bên ngoài chuỗi, thì bạn có thể thoát với >>> person = {'name': 'Eric', 'age': 74} >>> "Hello, {name}. You are {age}.".format(**person) 'Hello, Eric. You are 74.' 7:

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello Eric. You are 74.'
7

>>>

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
0

Từ điển

>>>

Nói về dấu ngoặc kép, coi chừng khi bạn đang làm việc với từ điển. Nếu bạn định sử dụng các dấu ngoặc kép cho các khóa của từ điển, thì hãy nhớ đảm bảo rằng bạn sử dụng dấu ngoặc kép cho các chuỗi F có chứa các phím.

Điều này sẽ hoạt động:

>>>

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
2

Nhưng đây sẽ là một mớ hỗn độn nóng với lỗi cú pháp:

Nếu bạn sử dụng cùng một loại dấu ngoặc kép xung quanh các khóa từ điển như bạn làm ở bên ngoài chuỗi F, thì dấu ngoặc kép ở đầu khóa từ điển đầu tiên sẽ được hiểu là kết thúc của chuỗi.

>>>

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
3

Niềng răng

>>>

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
4

Để làm cho nẹp xuất hiện trong chuỗi của bạn, bạn phải sử dụng niềng răng đôi:

Lưu ý rằng sử dụng niềng răng ba sẽ dẫn đến việc chỉ có niềng răng đơn trong chuỗi của bạn:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
1

Tuy nhiên, bạn có thể nhận được nhiều niềng răng hơn để hiển thị nếu bạn sử dụng nhiều hơn ba niềng răng:

Dấu gạch chéo ngược

Như bạn đã thấy trước đó, bạn có thể sử dụng dấu gạch chéo ngược trong phần chuỗi của chuỗi F. Tuy nhiên, bạn có thể sử dụng các dấu gạch chéo ngược để thoát khỏi phần biểu thức của chuỗi F:

  • Bạn có thể làm việc xung quanh điều này bằng cách đánh giá biểu thức trước và sử dụng kết quả trong chuỗi F:
  • Đi ra và định dạng!

Bạn vẫn có thể sử dụng các cách định dạng các chuỗi định dạng cũ hơn, nhưng với các chuỗi F, giờ đây bạn có một cách ngắn gọn, dễ đọc hơn và thuận tiện hơn, vừa nhanh hơn và ít bị lỗi hơn. Đơn giản hóa cuộc sống của bạn bằng cách sử dụng F-Strings là một lý do tuyệt vời để bắt đầu sử dụng Python 3.6 nếu bạn đã thực hiện chuyển đổi. (Nếu bạn vẫn đang sử dụng Python 2, đừng quên rằng năm 2020 sẽ sớm ở đây!)