Tạo một xâu ký tự chứa cả 2 ký tự ’ và "

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

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
8 Likes

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?

4 Likes

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

1 Like

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
4 Likes
print('abc'+chr(39)*3)
6 Likes

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'
5 Likes

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)

3 Likes

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

5 Likes

Đ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
4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?