Python 3 - Dizeler
Dizeler, Python'daki en popüler türler arasındadır. Karakterleri tırnak içine alarak oluşturabiliriz. Python, tek tırnakları çift tırnakla aynı şekilde ele alır. Dizeler oluşturmak, bir değişkene değer atamak kadar basittir. Örneğin -
var1 = 'Hello World!'
var2 = "Python Programming"
Dizelerdeki Değerlere Erişim
Python bir karakter türünü desteklemez; bunlar bir uzunluktaki dizeler olarak değerlendirilir ve bu nedenle de bir alt dize olarak kabul edilir.
Alt dizelere erişmek için, alt dizenizi elde etmek üzere dizin veya dizinlerle birlikte dilimleme için köşeli parantezleri kullanın. Örneğin -
#!/usr/bin/python3
var1 = 'Hello World!'
var2 = "Python Programming"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
var1[0]: H
var2[1:5]: ytho
Dizeleri Güncelleme
Bir değişkeni başka bir dizeye (yeniden) atayarak mevcut bir dizgeyi "güncelleyebilirsiniz". Yeni değer, önceki değeriyle veya tamamen farklı bir dizeyle ilişkilendirilebilir. Örneğin -
#!/usr/bin/python3
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
Updated String :- Hello Python
Kaçış Karakterleri
Aşağıdaki tablo, ters eğik çizgi gösterimi ile gösterilebilecek bir kaçış veya yazdırılamayan karakterlerin listesidir.
Bir kaçış karakteri yorumlanır; tek tırnaklı ve çift tırnaklı dizelerde.
Ters eğik çizgi gösterimi | Onaltılık karakter | Açıklama |
---|---|---|
\ a | 0x07 | Zil veya uyarı |
\ b | 0x08 | Geri tuşu |
\ cx | Ctrl-x | |
\ Cx | Ctrl-x | |
\ e | 0x1b | Kaçış |
\ f | 0x0c | Form besleme |
\ M- \ Cx | Meta-Control-x | |
\ n | 0x0a | Yeni hat |
\ nnn | Sekizli gösterim, burada n 0.7 aralığında | |
\ r | 0x0d | Satırbaşı |
\ s | 0x20 | Uzay |
\ t | 0x09 | Sekme |
\ v | 0x0b | Dikey sekme |
\ x | Karakter x | |
\ xnn | Onaltılık gösterim, burada n 0,9, af veya AF aralığındadır |
String Özel Operatörler
Dize değişkenini varsayalım a 'Merhaba' ve değişken tutar b 'Python' tutar, sonra -
Şebeke | Açıklama | Misal |
---|---|---|
+ | Birleştirme - İşlecin her iki tarafına da değerler ekler | a + b, HelloPython verir |
* | Tekrar - Aynı dizenin birden çok kopyasını birleştirerek yeni dizeler oluşturur | a * 2 verir -MerhabaMerhaba |
[] | Dilim - Verilen dizindeki karakteri verir | a [1] e verecektir |
[:] | Aralık Slice - Verilen aralıktaki karakterleri verir | a [1: 4] ell verir |
içinde | Üyelik - Verilen dizede bir karakter varsa doğru döndürür | H in a verecek 1 |
değil | Üyelik - Verilen dizede bir karakter yoksa doğru döndürür | M değil 1 verir |
r / R | Raw String - Escape karakterlerinin gerçek anlamını bastırır. Ham dizelerin sözdizimi, tırnak işaretlerinden önce gelen "r" harfi ham dize operatörü haricinde, normal dizelerle tamamen aynıdır. "R" küçük harf (r) veya büyük harf (R) olabilir ve ilk tırnak işaretinin hemen önüne yerleştirilmelidir. | yazdır r '\ n' yazdırır \ n ve R '\ n' baskıları yazdırın \ n |
% | Biçim - Dize biçimlendirmesini gerçekleştirir | Sonraki bölüme bakın |
Dize Biçimlendirme Operatörü
Python'un en harika özelliklerinden biri,% dize biçimi operatörüdür. Bu operatör dizelere özgüdür ve C'nin printf () ailesinden işlevlere sahip olma paketini oluşturur. Aşağıdaki basit bir örnektir -
#!/usr/bin/python3
print ("My name is %s and weight is %d kg!" % ('Zara', 21))
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
My name is Zara and weight is 21 kg!
% İle birlikte kullanılabilecek tüm sembollerin listesi aşağıdadır -
Sr.No. | Sembol ve Dönüştürmeyi Biçimlendir |
---|---|
1 | %c karakter |
2 | %s biçimlendirmeden önce str () aracılığıyla dize dönüştürme |
3 | %i işaretli ondalık tamsayı |
4 | %d işaretli ondalık tamsayı |
5 | %u işaretsiz ondalık tamsayı |
6 | %o sekizlik tam sayı |
7 | %x onaltılık tam sayı (küçük harfler) |
8 | %X onaltılık tam sayı (BÜYÜK harfler) |
9 | %e üstel gösterim ('e' küçük harfle) |
10 | %E üstel gösterim (BÜYÜK harf "E" ile) |
11 | %f kayan noktalı gerçek sayı |
12 | %g % f ve% e'nin kısası |
13 | %G % f ve% E'nin kısası |
Desteklenen diğer semboller ve işlevler aşağıdaki tabloda listelenmiştir -
Sr.No. | Sembol ve İşlevsellik |
---|---|
1 | * bağımsız değişken genişliği veya hassasiyeti belirtir |
2 | - sol gerekçe |
3 | + işareti göster |
4 | <sp> pozitif sayıdan önce boşluk bırakın |
5 | # 'x' veya 'X' kullanılmasına bağlı olarak sekizlik baştaki sıfır ('0') veya onaltılık baştaki '0x' veya '0X' ekleyin. |
6 | 0 soldan sıfırlarla doldurun (boşluklar yerine) |
7 | % "%%" size tek bir değişmez "%" bırakır |
8 | (var) eşleme değişkeni (sözlük argümanları) |
9 | m.n. m, minimum toplam genişliktir ve n, ondalık noktadan sonra görüntülenecek basamak sayısıdır (eğer varsa). |
Üçlü Alıntılar
Python'un üçlü tırnakları, dizelerin kelimesi kelimesine NEWLINE'lar, TAB'ler ve diğer özel karakterler dahil olmak üzere birden çok satıra yayılmasına izin vererek kurtarmaya gelir.
Üçlü tırnaklar için sözdizimi ardışık üç single or double alıntılar.
#!/usr/bin/python3
para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir. Her bir özel karakterin, "yukarı" arasındaki dizenin sonundaki son NEWLINE'a kadar nasıl basılı biçimine dönüştürüldüğüne dikkat edin. ve üçlü alıntıların kapatılması. Ayrıca NEWLINE'ların ya bir satırın sonunda açık bir satır başı ile ya da çıkış koduyla (\ n) oluştuğunu unutmayın -
this is a long string that is made up of
several lines and non-printable characters such as
TAB ( ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
], or just a NEWLINE within
the variable assignment will also show up.
Ham dizeler ters eğik çizgiyi özel bir karakter olarak ele almaz. Ham bir dizeye koyduğunuz her karakter, yazdığınız gibi kalır -
#!/usr/bin/python3
print ('C:\\nowhere')
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
C:\nowhere
Şimdi ham dizeden yararlanalım. İfade koyardıkr'expression' aşağıdaki gibi -
#!/usr/bin/python3
print (r'C:\\nowhere')
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
C:\\nowhere
Unicode Dizesi
Python 3'te, tüm dizeler Unicode'da temsil edilir. Python 2'de dahili olarak 8 bit ASCII olarak depolanır, bu nedenle Unicode yapmak için 'u' eklemeniz gerekir. Artık gerekli değil.
Yerleşik Dize Yöntemleri
Python, dizeleri işlemek için aşağıdaki yerleşik yöntemleri içerir -
Sr.No. | Yöntemler ve Açıklama |
---|---|
1 | büyük harfle yazmak () Dizenin ilk harfini büyük yapar |
2 | merkez (genişlik, fillchar) Orijinal dize, toplam genişlik sütunlarına ortalanmış olarak fillchar ile doldurulmuş bir dize döndürür . |
3 | count (str, beg = 0, end = len (string)) Başlangıç dizini beg ve bitiş endeksi belirtilmişse, dizede veya dizenin bir alt dizesinde kaç kez oluştuğunu sayar. |
4 | kod çözme (kodlama = 'UTF-8', hatalar = 'katı') Kodlama için kaydedilmiş kod çözücüyü kullanarak dizenin kodunu çözer. kodlama varsayılan olarak varsayılan dize kodlamasıdır. |
5 | kodlama (kodlama = 'UTF-8', hatalar = 'katı') Dizenin kodlanmış dize sürümünü döndürür; hata durumunda, hatalar 'yoksay' veya 'değiştir' ile verilmediği sürece varsayılan değer bir Değer Hatası yükseltmektir. |
6 | endswith (sonek, beg = 0, end = len (dize)) Dizenin veya dizenin bir alt dizesinin (başlangıç dizini beg ve bitiş endeksi verilmişse) sonek ile bitip bitmediğini belirler; eğer öyleyse true, aksi halde false döndürür. |
7 | expandtabs (tabsize = 8) Dizedeki sekmeleri birden çok boşluğa genişletir; sekme boyutu sağlanmadıysa varsayılan olarak sekme başına 8 boşluktur. |
8 | find (str, beg = 0 end = len (string)) Başlangıç dizini beg ve bitiş dizini bitişi varsa, dizge içinde mi yoksa dizenin bir alt dizesinde mi oluşup oluşmadığını belirleyin, eğer bulunursa dizin, aksi takdirde -1 döndürür. |
9 | dizin (str, beg = 0, end = len (string)) Find () ile aynıdır, ancak str bulunmazsa bir istisna oluşturur. |
10 | isalnum () Dize en az 1 karakter içeriyorsa ve tüm karakterler alfasayısal ise, aksi takdirde yanlışsa doğru döndürür. |
11 | isalpha () Dize en az 1 karakter içeriyorsa ve tüm karakterler alfabetikse, aksi takdirde yanlışsa doğru döndürür. |
12 | isdigit () Dize yalnızca rakamlar içeriyorsa doğru, aksi takdirde yanlış döndürür. |
13 | islower () Dize en az 1 büyük harf içeriyorsa ve tüm büyük / küçük harfli karakterler küçükse, aksi takdirde yanlışsa doğru döndürür. |
14 | isnumeric () Unicode dizesi yalnızca sayısal karakterler içeriyorsa true, aksi takdirde false döndürür. |
15 | isspace () Dize yalnızca boşluk karakterleri içeriyorsa true, aksi takdirde false döndürür. |
16 | istitle () Dize düzgün bir şekilde "başlık tabanlı" ise doğru, aksi takdirde yanlış döndürür. |
17 | isupper () Dize en az bir büyük harf içeriyorsa ve tüm büyük / küçük harfli karakterler büyük harf içeriyorsa doğru, aksi takdirde yanlış döndürür. |
18 | katılmak (seq) Sıralı dizideki öğelerin dize temsillerini ayırıcı dizeyle bir dizede birleştirir (birleştirir). |
19 | len (dize) Dizenin uzunluğunu verir |
20 | ljust (genişlik [, fillchar]) Orijinal dize, toplam genişlik sütunu olacak şekilde sola yaslanmış olarak boşluk dolgulu bir dize döndürür. |
21 | daha düşük () Dizedeki tüm büyük harfleri küçük harfe dönüştürür. |
22 | lstrip () Dizede baştaki tüm boşlukları kaldırır. |
23 | maketrans () Çeviri işlevinde kullanılacak bir çeviri tablosu döndürür. |
24 | max (str) Str dizesinden maksimum alfabetik karakteri döndürür. |
25 | dk (dizi) Str dizesindeki minimum alfabetik karakteri döndürür. |
26 | replace(old, new [, max]) Replaces all occurrences of old in string with new or at most max occurrences if max given. |
27 | rfind(str, beg = 0,end = len(string)) Same as find(), but search backwards in string. |
28 | rindex( str, beg = 0, end = len(string)) Same as index(), but search backwards in string. |
29 | rjust(width,[, fillchar]) Returns a space-padded string with the original string right-justified to a total of width columns. |
30 | rstrip() Removes all trailing whitespace of string. |
31 | split(str="", num=string.count(str)) Splits string according to delimiter str (space if not provided) and returns list of substrings; split into at most num substrings if given. |
32 | splitlines( num=string.count('\n')) Splits string at all (or num) NEWLINEs and returns a list of each line with NEWLINEs removed. |
33 | startswith(str, beg=0,end=len(string)) Determines if string or a substring of string (if starting index beg and ending index end are given) starts with substring str; returns true if so and false otherwise. |
34 | strip([chars]) Performs both lstrip() and rstrip() on string |
35 | swapcase() Inverts case for all letters in string. |
36 | title() Returns "titlecased" version of string, that is, all words begin with uppercase and the rest are lowercase. |
37 | translate(table, deletechars="") Translates string according to translation table str(256 chars), removing those in the del string. |
38 | upper() Converts lowercase letters in string to uppercase. |
39 | zfill (width) Returns original string leftpadded with zeros to a total of width characters; intended for numbers, zfill() retains any sign given (less one zero). |
40 | isdecimal() Returns true if a unicode string contains only decimal characters and false otherwise. |