Python - 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/python
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/python
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/python
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 -
Biçim Sembolü | Dönüştürmek |
---|---|
% c | karakter |
% s | biçimlendirmeden önce str () aracılığıyla dize dönüştürme |
%ben | işaretli ondalık tamsayı |
% d | işaretli ondalık tamsayı |
% u | işaretsiz ondalık tamsayı |
%Ö | sekizlik tam sayı |
% x | onaltılık tam sayı (küçük harfler) |
% X | onaltılık tam sayı (BÜYÜK harfler) |
% e | üstel gösterim ('e' küçük harfle) |
% E | üstel gösterim (BÜYÜK harf "E" ile) |
% f | kayan noktalı gerçek sayı |
% g | % f ve% e'nin kısası |
% G | % f ve% E'nin kısası |
Desteklenen diğer semboller ve işlevler aşağıdaki tabloda listelenmiştir -
Sembol | İşlevsellik |
---|---|
* | bağımsız değişken genişliği veya hassasiyeti belirtir |
- | sol gerekçe |
+ | işareti göster |
<sp> | pozitif sayıdan önce boşluk bırakın |
# | '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. |
0 | soldan sıfırlarla doldurun (boşluklar yerine) |
% | "%%" size tek bir değişmez "%" bırakır |
(var) | eşleme değişkeni (sözlük argümanları) |
mn | 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/python
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/python
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/python
print r'C:\\nowhere'
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
C:\\nowhere
Unicode Dizesi
Python'daki normal dizeler dahili olarak 8-bit ASCII olarak saklanırken, Unicode dizeleri 16-bit Unicode olarak saklanır. Bu, dünyadaki çoğu dilden özel karakterler de dahil olmak üzere daha çeşitli karakterlere izin verir. Unicode dizeleriyle ilgili işlemimi aşağıdakilerle sınırlayacağım -
#!/usr/bin/python
print u'Hello, world!'
Yukarıdaki kod çalıştırıldığında, aşağıdaki sonucu verir -
Hello, world!
Gördüğünüz gibi, Unicode dizeleri de u önekini kullanır, tıpkı ham dizelerin r önekini kullanması gibi.
Yerleşik Dize Yöntemleri
Python, dizeleri işlemek için aşağıdaki yerleşik yöntemleri içerir -
Sr.No. | Açıklamalı Yöntemler |
---|---|
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 boşluk dolgulu 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 | değiştir (eski, yeni [, maks]) Dize içindeki tüm eski oluşumlarını yeni veya maks verilmişse en fazla maksimum oluşumla değiştirir. |
27 | rfind (str, beg = 0, end = len (string)) Find () ile aynı, ancak dizede geriye doğru arama. |
28 | rindex (str, beg = 0, end = len (string)) İndex () ile aynı, ancak dizede geriye doğru arama. |
29 | rjust (genişlik, [, fillchar]) Orijinal dize, toplam genişlik sütunlarına sağa yaslanmış olarak boşluk dolgulu bir dize döndürür. |
30 | rstrip () Dizenin sondaki tüm boşluklarını kaldırır. |
31 | split (str = "", num = string.count (str)) Dizeyi sınırlayıcı dizeye göre böler (sağlanmadıysa boşluk) ve alt dizelerin listesini döndürür; eğer verilirse en fazla sayıda alt dizeye bölünür. |
32 | bölünmüş çizgiler (num = string.count ('\ n')) Dizeyi tüm (veya sayı) NEWLINE'lara böler ve NEWLINE'lar kaldırılmış her satırın bir listesini döndürür. |
33 | startswith (str, beg = 0, end = len (string)) Dizenin mi yoksa dizenin bir alt dizesinin mi (başlangıç dizini beg ve bitiş endeksi verilmişse) alt dizge ile başlayıp başlamadığını belirler; eğer öyleyse true, aksi halde false döndürür. |
34 | şerit ([karakter]) String üzerinde hem lstrip () hem de rstrip () gerçekleştirir. |
35 | takas kutusu () Dizedeki tüm harfler için durumu tersine çevirir. |
36 | Başlık() Dizenin "başlık tabanlı" sürümünü döndürür, yani tüm kelimeler büyük harfle başlar ve geri kalanlar küçük harflidir. |
37 | çevir (tablo, deletechars = "") Dizeyi, del dizesindekileri kaldırarak çeviri tablosu dizisine (256 karakter) göre çevirir. |
38 | üst() Dize içindeki küçük harfleri büyük harfe dönüştürür. |
39 | zfill (genişlik) Sol işaretli orijinal dizeyi, toplam genişlik karakterine sıfırlar; sayılar için amaçlanan zfill (), verilen herhangi bir işareti tutar (bir sıfırdan az). |
40 | isdecimal () Unicode dizesi yalnızca ondalık karakterler içeriyorsa true, aksi takdirde false döndürür. |