Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Operasi Asas Rentetan
Strings adalah potongan teks. Mereka boleh ditakrifkan sebagai apa sahaja di antara tanda petikan:
As you can see, the first thing you learned was printing a simple sentence. This sentence was stored by Python as a string. However, instead of immediately printing strings out, we will explore the various things you can do to them. Anda juga boleh menggunakan tanda petikan tunggal untuk menetapkan rentetan. Walau bagaimanapun, anda akan menghadapi masalah jika nilai yang akan ditetapkan itu sendiri mengandungi tanda petikan tunggal. Sebagai contoh, untuk menetapkan rentetan dalam kurungan ini (tanda petikan tunggal adalah ' '), anda perlu menggunakan tanda petikan berganda sahaja seperti ini.
Itu mencetak 12, kerana "Hello world!" adalah 12 karakter panjangnya, termasuk tanda baca dan ruang.
Itu mencetak 4, kerana lokasi kejadian pertama huruf "o" adalah 4 karakter dari karakter pertama. Perhatikan bagaimana sebenarnya terdapat dua o dalam frasa tersebut - kaedah ini hanya mengenali yang pertama.
Tetapi mengapa ia tidak mencetak 5? Bukankah "o" adalah karakter kelima dalam rentetan? Untuk membuat perkara lebih mudah, Python (dan kebanyakan bahasa pengaturcaraan lain) mula perkara di 0 dan bukannya 1. Jadi indeks "o" adalah 4.
Bagi anda yang menggunakan fon lucu, itu adalah L huruf kecil, bukan nombor satu. Ini mengira bilangan huruf l dalam rentetan. Oleh itu, ia harus mencetak 3.
Ini mencetak sebahagian daripada rentetan, bermula pada indeks 3, dan berakhir di indeks 6. Tetapi mengapa 6 dan bukan 7? Sekali lagi, kebanyakan bahasa pengaturcaraan melakukan ini - ia memudahkan membuat pengiraan di dalam kurungan tersebut.
Jika anda hanya mempunyai satu nombor dalam kurungan, ia akan memberikan anda karakter tunggal di indeks tersebut. Jika anda meninggalkan nombor pertama tetapi menyimpan titik bertitik, ia akan memberikan anda sebahagian dari permulaan hingga nombor yang anda tinggalkan. Jika anda meninggalkan nombor kedua, ia akan memberikan anda sebahagian dari nombor pertama hingga akhir.
Anda boleh meletakkan nombor negatif di dalam kurungan. Mereka adalah cara yang mudah untuk bermula dari akhir rentetan dan bukannya dari permulaan. Dengan cara ini, -3 bermaksud "karakter ke-3 dari akhir".
Ini mencetak karakter rentetan dari 3 hingga 7 melangkau satu karakter. Ini dipanggil sintaks potong yang diperluaskan. Bentuk umum adalah [mula:berhenti:langkah].
Perhatikan bahawa kedua-dua mereka menghasilkan output yang sama
Tidak ada fungsi seperti strrev dalam C untuk membalikkan rentetan. Tetapi dengan jenis sintaks potong yang disebutkan di atas, anda boleh membalikkan rentetan dengan mudah seperti ini.
Ini
Ini membuat rentetan baru dengan semua huruf ditukar kepada huruf besar dan huruf kecil, masing-masing.
Ini digunakan untuk menentukan sama ada rentetan bermula dengan sesuatu atau berakhir dengan sesuatu, masing-masing. Yang pertama akan mencetak True, kerana rentetan bermula dengan "Hello". Yang kedua akan mencetak False, kerana rentetan itu pasti tidak berakhir dengan "asdfasdfasdf".
Ini membahagi rentetan menjadi sekumpulan rentetan yang dikelompokkan bersama dalam senarai. Oleh kerana contoh ini membahagi pada ruang, item pertama dalam senarai adalah "Hello", dan yang kedua adalah "world!".
Exercise
Cuba perbaiki kod untuk mencetak maklumat yang betul dengan menukar rentetan.
s = "Hey there! what should this string be?"
# Length should be 20
print("Length of s = %d" % len(s))
# First occurrence of "a" should be at index 8
print("The first occurrence of the letter a = %d" % s.index("a"))
# Number of a's should be 2
print("a occurs %d times" % s.count("a"))
# Slicing the string into bits
print("The first five characters are '%s'" % s[:5]) # Start to 5
print("The next five characters are '%s'" % s[5:10]) # 5 to 10
print("The thirteenth character is '%s'" % s[12]) # Just number 12
print("The characters with odd index are '%s'" %s[1::2]) #(0-based indexing)
print("The last five characters are '%s'" % s[-5:]) # 5th-from-last to end
# Convert everything to uppercase
print("String in uppercase: %s" % s.upper())
# Convert everything to lowercase
print("String in lowercase: %s" % s.lower())
# Check how a string starts
if s.startswith("Str"):
print("String starts with 'Str'. Good!")
# Check how a string ends
if s.endswith("ome!"):
print("String ends with 'ome!'. Good!")
# Split the string into three separate strings,
# each containing only a word
print("Split the words of the string: %s" % s.split(" "))
s = "Strings are awesome!"
# Length should be 20
print("Length of s = %d" % len(s))
# First occurrence of "a" should be at index 8
print("The first occurrence of the letter a = %d" % s.index("a"))
# Number of a's should be 2
print("a occurs %d times" % s.count("a"))
# Slicing the string into bits
print("The first five characters are '%s'" % s[:5]) # Start to 5
print("The next five characters are '%s'" % s[5:10]) # 5 to 10
print("The thirteenth character is '%s'" % s[12]) # Just number 12
print("The characters with odd index are '%s'" %s[1::2]) #(0-based indexing)
print("The last five characters are '%s'" % s[-5:]) # 5th-from-last to end
# Convert everything to uppercase
print("String in uppercase: %s" % s.upper())
# Convert everything to lowercase
print("String in lowercase: %s" % s.lower())
# Check how a string starts
if s.startswith("Str"):
print("String starts with 'Str'. Good!")
# Check how a string ends
if s.endswith("ome!"):
print("String ends with 'ome!'. Good!")
# Split the string into three separate strings,
# each containing only a word
print("Split the words of the string: %s" % s.split(" "))
test_object("s", incorrect_msg="Make sure you change the string assigned to `s` to match the exercise instructions.")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!