khi tạo một xâu ký tự mà trong đó có cả 2 ký tự ’ và " thì phải dùng lệnh j vậy ạ mọi người
Tạo một xâu ký tự chứa cả 2 ký tự ’ và "
Không cần dùng lệnh gì đặc biệt cả. Bạn có thể dùng 1 trong 4 cách sau:
s1 = "abc'abc\"abc"
s2 = 'abc\'abc"abc'
s3 = '''abc'abc"abc'''
s4 = """abc'abc"abc"""
print(s1 == s2 == s3 == s4) # True
vậy nếu trong xâu đó có kĩ tự ‘’’ hoặc “”" thì có cách nào ngoài cách dùng \ ko vậy
Bạn nhìn cách 3 và cách 4 của mình chưa?
mình nhìn rồi mà. Ý mk là trong trường hợp ta cần tạo 1 xâu mà trong xâu có nội dung kiểu abc’’'abc"""abc thì có thể dùng cách nào ko (mk hỏi thêm thôi chứ chắc cũng ko có trường hợp nào như vậy
Thiếu gì cách để tạo string đâu. Bạn không thích \
thì né ra là được mà.
'"' * 3 # """
"'" * 3 # '''
'abc' + "'" * 3 + "abc" + '"' * 3 + "abc" # abc’’'abc"""abc
print('abc'+chr(39)*3)
Cũng có thể như vầy:
s='"'*3
r="'"*3
s.join(["abc", "def"])
"abc{1}def".format(s,r)
"abc%sdef%sghi" % (s,r)
f'abc{s}def'
tại vì mk có nhớ loáng thoáng là có kiểu string gì đó mà mk viết thêm chữ f ở trước string đó thì các dấu ngoặc trong đó, mấy kí tự đặc biệt như \ sẽ được hiểu là kí tự thường ấy.
Cái đó được gọi là Literal String Interpolation (f-string)
MÌnh thấy đây là kiến thức căn bản buộc phải biết khi học, và nó đuọc nói tới trong hầu hết các bài nhập môn python.
Mình nên học cách xác định vấn đề, chuyển sang tiếng Anh và search.
Làm như vậy thì mình sẽ giúp học nhanh hơn
Đoạn này bạn đang mô tả raw string. Tuy nhiên raw string không giải quyết được \
như bạn nghĩ.
a = r"abc'abc"
b = r"abc"abc" # chỗ này lỗi