Hướng dẫn dollar sign in python string - ký hiệu đô la trong chuỗi trăn

Tôi đã đi cùng điều này

__date__ = "$Date: 2011/06$"

và tìm thấy điều này trong các tài liệu

  • $$ là một lối thoát; Nó được thay thế bằng một đô la duy nhất.
  • $identifier đặt tên cho một trình giữ chỗ thay thế phù hợp với khóa ánh xạ của "identifier". Theo mặc định, "identifier" phải đánh vần một định danh Python. Nhân vật không nhận dạng đầu tiên sau khi ký tự $ chấm dứt đặc tả của người giữ chỗ này.
  • ${identifier} tương đương với định danh $. Nó được yêu cầu khi các ký tự ____99 hợp lệ theo trình giữ chỗ nhưng không phải là một phần của trình giữ chỗ, chẳng hạn như
    import string
    mytext = "$dog is an animal"
    replaceDogtoCat = {"dog":"cat"}
    mytemplate = string.Template(mytext)
    print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
    replaceDogtoGoat = {"dog":"goat"}
    print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
    
    0.

Nhưng tôi không hiểu nó.

Ai đó có thể giải thích bằng tiếng Anh đơn giản

import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
1 để làm gì và đưa ra một số ví dụ tốt nhất?

Hướng dẫn dollar sign in python string - ký hiệu đô la trong chuỗi trăn

Karl Knechtel

59.4K10 Huy hiệu vàng86 Huy hiệu bạc132 Huy hiệu đồng10 gold badges86 silver badges132 bronze badges

Đã hỏi ngày 26 tháng 3 năm 2014 lúc 18:24Mar 26, 2014 at 18:24

Hướng dẫn dollar sign in python string - ký hiệu đô la trong chuỗi trăn

5

Điều này đã được sử dụng trong bối cảnh thay thế chuỗi. Đối với Ex, nếu bạn có kịch bản với một biến có giá trị khác nhau trong cùng một chuỗi, bạn có thể sử dụng điều này như sau:

import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal

$ Dog là một biến sẽ được thay thế khi thay thế được thực thi

Đã trả lời ngày 26 tháng 3 năm 2014 lúc 18:33Mar 26, 2014 at 18:33

Venpavenpavenpa

4.17620 Huy hiệu bạc23 Huy hiệu đồng20 silver badges23 bronze badges

Hướng dẫn dollar sign in python string - ký hiệu đô la trong chuỗi trăn

Tôi đang viết các chương trình đơn giản cho phòng thí nghiệm đầu tiên của tôi trong lớp giới thiệu CISC của tôi. Các vấn đề không quá khó, yêu cầu đầu vào từ người dùng, chuyển đổi luồng thành float và sau đó xuất ra một lượng được tính toán. Vì các giá trị này đại diện cho số tiền đô la, tôi cần biểu tượng '$' nhưng suy nghĩ đầu tiên của tôi, để in nó cùng với bản in chuỗi ('..... $') để lại một khoảng trống mà tôi không được phép có. "Tất cả số tiền được in phải được đi trước bằng biểu tượng $, không có không gian can thiệp. Ví dụ: $ 1,20 là chính xác, trong khi $ 1,20 và $ 1,2 không chính xác." Tôi đã có thể tìm ra cách định dạng số thập phân, nhưng không phải là biểu tượng tiền tệ. Điều này là cần thiết cho một số vấn đề. Tôi cũng muốn tìm ra cách tốt nhất để chuyển đổi số thập phân thành tỷ lệ phần trăm. tức là .25 ---> 25 % (với % bao gồm .. không có không gian can thiệp.) Cảm ơn bạn rất nhiều. OS X Yosemite 10.10.5 Python 3.4.3

  • Nhà
  • Hướng dẫn Python
  • Giới thiệu
  • Loại dữ liệu
  • Bản tường trình
  • Nhà điều hành
  • Sợi dây
  • Tuple
  • Danh sách
  • Từ điển
  • Bộ sưu tập
  • Hàm số
  • Lớp
  • Tập tin
  • Chức năng xây dựng
  • Mô -đun xây dựng
  • Cơ sở dữ liệu
  • Biểu cảm thường xuyên
  • Chủ đề
  • Tkinker
  • Wxpython
  • XML
  • Mạng
  • Web CGI
  • các cửa sổ

  1. Hướng dẫn Python
  2. Sợi dây
  3. Tuple
Danh sách
Từ điển
5.36.1. Bộ sưu tập
5.36.2. Hàm số
5.36.3. Lớp
5.36.4. Tập tin
5.36.5. Chức năng xây dựng
5.36.6. Mô -đun xây dựng

Tác giả: Ka-ping Yee Status: SPERSEDEDTYPE: Tiêu chuẩn theo dõi: 24-Jul-20python-Vers:Ka-Ping Yee Status:SupersededType:Standards TrackCreated:24-Jul-2000Python-Version:2.1Post-History:Superseded-By:292
Mục lục
  • trừu tượng
  • Bản quyền
  • Sự chỉ rõ
  • Ví dụ
  • Thảo luận
  • Vấn đề an ninh
  • Thực hiện
  • Người giới thiệu

trừu tượng

Bản quyền

Bản quyền

Sự chỉ rõ

Sự chỉ rõ

Tài liệu này đề xuất một tính năng nội suy chuỗi cho Python để cho phép định dạng chuỗi dễ dàng hơn. Thay đổi cú pháp được đề xuất là việc giới thiệu tiền tố ‘$ $, kích hoạt cách giải thích đặc biệt của ký tự‘ $ $ trong một chuỗi, theo cách gợi nhớ đến phép nội suy thay đổi được tìm thấy trong vỏ Unix, AWK, Perl hoặc TCL.

Chuỗi được quét từ đầu đến cuối cho ký tự ‘$ $ (

import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
2 trong các chuỗi 8 bit hoặc
import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
3 trong chuỗi Unicode). Nếu không có ký tự ‘$ $, chuỗi được trả về không thay đổi.

Bất kỳ ‘$ $ được tìm thấy trong chuỗi, theo sau là một trong hai loại biểu thức được mô tả dưới đây, được thay thế bằng giá trị của biểu thức như được đánh giá trong các không gian tên hiện tại. Giá trị được chuyển đổi với

import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
4 nếu chuỗi chứa là chuỗi 8 bit hoặc với
import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
5 nếu nó là chuỗi unicode.

  1. Một định danh Python tùy chọn theo sau bởi bất kỳ số lượng trailer nào, trong đó một đoạn giới thiệu bao gồm: - một dấu chấm và một định danh, - một biểu thức được đặt trong ngoặc vuông, hoặc - một danh sách đối số được đặt trong ngoặc đơn (đây chính xác là mẫu được thể hiện trong Python Ngữ pháp của người Hồi giáo ____ ____16, sử dụng các định nghĩa trong
    import string
    mytext = "$dog is an animal"
    replaceDogtoCat = {"dog":"cat"}
    mytemplate = string.Template(mytext)
    print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
    replaceDogtoGoat = {"dog":"goat"}
    print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
    
    7.)
  2. Bất kỳ biểu thức python hoàn chỉnh được bao bọc trong niềng răng xoăn.

Hai dấu hiệu đô la (Hồi $$) được thay thế bằng một chiếc $ $.

Ví dụ

Dưới đây là một ví dụ về một phiên tương tác thể hiện hành vi dự kiến ​​của tính năng này.

>>> a, b = 5, 6
>>> print $'a = $a, b = $b'
a = 5, b = 6
>>> $u'uni${a}ode'
u'uni5ode'
>>> print $'\$a'
5
>>> print $r'\$a'
\5
>>> print $'$$$a.$b'
$5.6
>>> print $'a + b = ${a + b}'
a + b = 11
>>> import sys
>>> print $'References to $a: $sys.getrefcount(a)'
References to 5: 15
>>> print $"sys = $sys, sys = $sys.modules['sys']"
sys = , sys = 
>>> print $'BDFL = $sys.copyright.split()[4].upper()'
BDFL = GUIDO

Thảo luận

‘$, Được chọn làm nhân vật nội suy trong chuỗi vì mục đích quen thuộc, vì nó đã được sử dụng cho mục đích này trong nhiều ngôn ngữ và ngữ cảnh khác.

Sau đó, việc chọn ‘$ $ là tiền tố, vì nó là một bản ghi nhớ cho ký tự nội suy.

Các rơ moóc được phép cung cấp cơ chế nội suy này thậm chí còn nhiều sức mạnh hơn so với phép nội suy có sẵn trong hầu hết các ngôn ngữ khác, trong khi biểu thức được nội suy vẫn có thể nhìn thấy rõ và không có niềng răng xoăn.

‘$ Hoạt động giống như một nhà điều hành và có thể được thực hiện như một nhà điều hành, nhưng điều đó ngăn chặn tối ưu hóa thời gian biên dịch và đưa ra các vấn đề bảo mật. Vì vậy, nó chỉ được phép làm tiền tố chuỗi.

Vấn đề an ninh

Càng $ $ có sức mạnh để đánh giá, nhưng chỉ để đánh giá một nghĩa đen. Như được mô tả ở đây (một tiền tố chuỗi chứ không phải là một nhà điều hành), nó không giới thiệu các vấn đề bảo mật mới vì các biểu thức được đánh giá phải có mặt theo nghĩa đen trong mã.

Thực hiện

Mô -đun

import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
8 tại [1] cung cấp một nguyên mẫu của tính năng này. Nó sử dụng mô -đun
import string
mytext = "$dog is an animal"
replaceDogtoCat = {"dog":"cat"}
mytemplate = string.Template(mytext)
print mytemplate.substitute(replaceDogtoCat) #output: cat is an animal
replaceDogtoGoat = {"dog":"goat"}
print mytemplate.substitute(replaceDogtoGoat) #output: goat is an animal
9 để tìm phần cuối của biểu thức được nội suy, sau đó gọi
from string import Template


s = Template("Make $$ selling $x!")
s.substitute(x='slurm')
print s
0 trên biểu thức mỗi khi cần một giá trị. Trong nguyên mẫu, biểu thức được phân tích cú pháp và biên dịch lại mỗi lần nó được đánh giá.

Là một tối ưu hóa, các chuỗi nội suy có thể được biên dịch trực tiếp vào mã byte tương ứng; đó là,

có thể được biên dịch như thể nó là biểu thức

('a = ' + str(a) + ', b = ' + str(b))

để nó chỉ cần được biên dịch một lần.

Người giới thiệu

Làm thế nào để bạn đặt một dấu hiệu đô la vào một chuỗi trăn?

Đối với Python, những dấu hiệu đồng đô la đó không có ý nghĩa gì cả.Giống như 'd' hoặc 'a' theo sau, dấu hiệu đồng đô la chỉ là một ký tự trong một chuỗi.Đối với hệ thống điều khiển mã nguồn của bạn, các dấu hiệu đồng đô la biểu thị lệnh thay thế.the dollar sign is merely a character in a string. To your source-code control system, the dollar signs indicate a substitution command.

Làm thế nào để bạn thêm dấu hiệu đô la vào chuỗi F?

Làm thế nào để bạn đặt một dấu hiệu đô la vào một chuỗi phi tiêu?Lỗi: '$' có ý nghĩa đặc biệt bên trong một chuỗi và phải được theo sau bởi một định danh hoặc biểu thức trong niềng răng xoăn ({}).Hãy thử thêm dấu gạch chéo ngược (\) để thoát '$'.var s = "xin chào $ world";Chúng ta có thể thêm một dấu gạch chéo ngược hoặc sử dụng một chuỗi thô để in nó.Try adding a backslash (\) to escape the '$'. var s = "Hello $ World"; We can either add one backslash or use one raw string to print it.

%% có nghĩa là gì trong Python?

Khi bạn nhìn thấy biểu tượng %, bạn có thể nghĩ "phần trăm".Nhưng trong Python, cũng như hầu hết các ngôn ngữ lập trình khác, nó có nghĩa là một cái gì đó khác biệt.Biểu tượng % trong Python được gọi là toán tử modulo.Nó trả về phần còn lại của việc chia toán hạng tay trái cho toán hạng bên phải.It returns the remainder of dividing the left hand operand by right hand operand.