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
Temel Dize İşlemleri
Strings, metin parçalarıdır. Tırnak işaretleri arasındaki herhangi bir şey olarak tanımlanabilirler:
astring = "Hello world!"
astring2 = 'Hello world!'
Gördüğünüz gibi, öğrendiğiniz ilk şey basit bir cümleyi yazdırmak oldu. Bu cümle, Python tarafından bir string olarak saklandı. Ancak, stringleri hemen yazdırmak yerine, onlara yapabileceğiniz çeşitli şeyleri keşfedeceğiz. Bir string atamak için tek tırnakları da kullanabilirsiniz. Ancak, atanacak değer tek tırnaklar içeriyorsa sorun yaşarsınız. Örneğin, bu parantezdeki stringi (tek tırnaklar ' ' içindedir) atamak için sadece çift tırnak kullanmanız gerekir, bu şekilde:
astring = "Hello world!"
print("single quotes are ' '")
print(len(astring))
Bu, 12 karakter uzunluğunda olduğu için 12'yi yazdırır, çünkü "Hello world!" noktalama işaretleri ve boşluklar dahil 12 karakter uzunluğundadır.
astring = "Hello world!"
print(astring.index("o"))
Bu, 4'ü yazdırır çünkü "o" harfinin ilk geçtiği yer, ilk karakterden 4 karakter uzakta. Bakın, aslında cümlede iki tane "o" var - bu yöntem sadece ilkini tanır.
Ama neden 5'i yazdırmadı? "o" stringin beşinci karakteri değil mi? İşleri basitleştirmek için, Python (ve diğer birçok programlama dili) 1 yerine 0'dan başlar. Yani "o" indeksinin değeri 4'tür.
astring = "Hello world!"
print(astring.count("l"))
Silly fontlar kullananlar için, bu bir küçük L'dir, sayı olan bir bir değil. Bu, string içindeki "l" harflerinin sayısını sayar. Bu nedenle, 3 yazdırması gerekir.
astring = "Hello world!"
print(astring[3:7])
Bu, stringin bir dilimini yazdırır, 3. indeksten başlayarak 6. indekste biter. Peki neden 6 ve 7 değil? Yine, çoğu programlama dili bunu yapar - bu, bu parantezlerin içerisindeki matematik işlemlerini kolaylaştırır.
Parantezlerde yalnızca bir sayı varsa, bu indeksdeki tek karakteri verir. İlk sayıyı atlayıp sadece iki nokta üst üste bırakırsa, başlangıçtan sizin bıraktığınız sayıya bir dilim verir. İkinci sayıyı atlayıp ilk sayıyı bırakırsanız, bir dilimi ilk sayıdan sona kadar verir.
Parantezlerin içine negatif sayılar bile koyabilirsiniz. Bu, stringin sonundan başlayarak başından başlamak yerine kolay bir yoldur. Bu nedenle, -3 "sondan 3. karakter" anlamına gelir.
astring = "Hello world!"
print(astring[3:7:2])
Bu, 3'ten 7'ye kadar olan karakterleri birer atlayarak yazdırır. Bu, genişletilmiş dilimleme sözdizimidir. Genel formu [başla:durdur:adım].
astring = "Hello world!"
print(astring[3:7])
print(astring[3:7:1])
Her ikisinin de aynı çıktıyı ürettiğine dikkat edin.
C dilinde bir stringi tersine çevirmek için strrev gibi bir fonksiyon yoktur. Ancak, yukarıda bahsedilen türde dilimleme sözdizimiyle, bir stringi kolayca bu şekilde tersine çevirebilirsiniz.
astring = "Hello world!"
print(astring[::-1])
Bu
astring = "Hello world!"
print(astring.upper())
print(astring.lower())
Bu, tüm harfleri sırasıyla büyük ve küçük harflere dönüştürerek yeni bir string oluşturur.
astring = "Hello world!"
print(astring.startswith("Hello"))
print(astring.endswith("asdfasdfasdf"))
Bu, sırasıyla bir stringin bir şeyle başlayıp başlamadığını veya bir şeyle bitip bitmediğini belirlemek için kullanılır. İlki True yazdıracak, çünkü string "Hello" ile başlar. İkincisi False yazdıracak, çünkü string kesinlikle "asdfasdfasdf" ile bitmiyor.
astring = "Hello world!"
afewwords = astring.split(" ")
Bu, stringi bir liste içinde toplanmış bir grup stringe ayırır. Bu örnek bir boşlukta bölündüğü için, listedeki ilk öge "Hello" ve ikinci öge "world!" olacaktır.
Alıştırma
Kodu düzelterek doğru bilgiyi yazdırmasını deneyin, stringi değiştirin.
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!