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.