Dan sekarang kita persembahkan muslihat licik yang boleh dilakukan dengan string
:
def jerit[string]: for aksara in string: print "Beri saya " + aksara print "'" + aksara + "'" jerit["Menang"] def tengah[string]: print "Aksara tengah ialah:", string[len[string] / 2] tengah["abcdefg"] tengah["Pasukan Bola Sepak"] tengah["Malaya"]
Dan outputnya ialah:
Beri saya M 'M' Beri saya e 'e' Beri saya n 'n' Beri saya a 'a' Beri saya n 'n' Beri saya g 'g'
Aksara tengah ialah: d Aksara tengah ialah: o Aksara tengah ialah: a
Apa yang ditunjukkan program-program ini ialah string
seakan-akan list
dalam banyak segi. Fungsi jerit[]
menunjukkan gelung for
boleh digunakan dengan string
sama seperti list
. Prosedur tengah
menunjukkan string
juga boleh menggunakan fungsi len[]
dan menyusun
indeks dan hirisan. Kebanyakan ciri list
juga bekerja dengan string
.
Ciri seterusnya menunjukkan sebahagian ciri khusus string
:
def jadi_huruf_besar[rentetan]: ## Mengubah rentetan ["string"] kepada huruf besar huruf_besar = "" for aksara in rentetan: if 'a' >> 2 2 >>> repr[2] '2' >>> -123 -123 >>> repr[-123] '-123' >>> `123` '123' >>> # Rentetan ke Integer >>> "23" '23' >>> int["23"] 23 >>> "23" * 2 '2323' >>> int["23"] * 2 46 >>> # Nombor apung ke Rentetan >>> 1.23 1.23 >>> repr[1.23] '1.23' >>> # Nombor apung ke Integer >>> 1.23 1.23 >>> int[1.23] 1 >>> int[-1.23] -1 >>> # Rentetan ke Nombor apung >>> float["1.23"] 1.23 >>> "1.23" '1.23' >>> float["123"] 123.0 >>> `float["1.23"]` '1.23'
Jika anda belum mengagaknya lagi, fungsi repr[]
boleh mengubah integer kepada rentetan dan fungsi int[]
melakukan operasi sebaliknya. Fungsi float[]
boleh mengubah rentetan kepada floating point number atau nombor titik apung. Fungsi repr[]
memulangkan wakil sesuatu yang dapat dicetak. Kod `...`
juga mengubah hampir semua kepada rentetan. Berikut beberapa contoh:
>>> repr[1] '1' >>> repr[234.14] '234.14' >>> repr[[4, 42, 10]] '[4, 42, 10]' >>> `[4, 42, 10]` '[4, 42, 10]'
Fungsi int[]
cuba mengubah rentetan [atau
nombor apung] kepada integer. Juga terdapat fungsi yang sama yang dipanggil float[]
yang akan mengubah integer atau rentetan kepada nombor apung. Satu lagi fungsi yang dimiliki Python adalah fungsi eval[]
. Fungsi eval[]
mengambil rentetan dan memulangkan data jenis yang difikirkan Python telah ditemuinya. Contoh:
>>> v = eval['123'] >>> print v, type[v] 123 >>> v = eval['645.123'] >>> print v, type[v] 645.123 >>> v = eval['[1, 2, 3]'] >>> print v, type[v] [1, 2, 3]
Jika anda mengguna fungsi eval[]
anda harus pastikan yang ia memulangkan jenis yang anda sangka.
Satu fungsi rentetan atau string
adalah kaedah split[]
[pisah]. Ini contoh:
>>> "Ini adalah beberapa perkataan".split[] ['Ini', 'adalah', 'beberapa', 'perkataan'] >>> text = "Kelompok pertama, kelompok kedua, ketiga, keempat" >>> text.split[","] ['Kelompok pertama', ' kelompok kedua', ' ketiga', ' keempat']
Perhatikan bagaimana split[]
mengubah rentetan menjadi satu senarai rentetan. Rentetan dipisah dengan ruang putih secara lalai atau dengan argumen pilihan [dalam kes ini, tanda koma]. Anda juga boleh menambah argumen yang memberitahu split[]
berapa kali pemisah akan digunakan bagi memisah teks. Contoh:
>>> list = text.split[","] >>> len[list] 4 >>> list[-1] ' keempat' >>> list = text.split[",", 2] >>> len[list] 3 >>> list[-1] ' ketiga, keempat'
Menghiris string
[dan
list
][sunting]
String
atau rentetan dapat dihiris — dengan cara yang sama yang ditunjukan dengan list
atau senarai dalam bab sebelum ini — dengan menggunakan "operator" penghiris [:]
. Operator penghiris bekerja
dengan cara yang sama seperti dahulu: teks[indeks_pertama:indeks_terakhir] [dalam kes-kes yang jarang diketemu, sebuah tanda titik berganda dan argumen ketiga boleh digunakan, seperti dipaparkan dalam contoh berikut].
Agar kita tidak terkeliru dengan angka indeks, paling mudah jika kita melihatnya sebagai tempat ketip, di mana kita dapat menghiris rentetan kepada bahagian-bahagiannya. Ini satu contoh yang menunjukkan tempat ketip [kuning] dan nombor-nombor indeks [merah dan biru] buat rentetan teks:
0 | 1 | 2 | ... | -2 | -1 | ||||||||||
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | |||||||||
text = | " | S | T | R | I | N | G | " | |||||||
↑ | ↑ | ||||||||||||||
[: | :] |
Perhatikan bahawa indeks merah dikira bermula dari permulaan string dan yang biru pula dari akhir string [perhatikan bahawa tiada -0 biru, dan ini logik jika dilihat dari segi akhir rentetan]. Oleh sebab -0 == 0, [-0 juga bermaksud "permulaan rentetan"]. Sekarang kita bersedia untuk menggunakan indeks buat operasi hirisan:
text[1:4] | → | "TRI" |
text[:5] | → | "STRIN" |
text[:-1] | → | "STRIN" |
text[-4:] | → | "RING" |
text[2] | → | "R" |
text[:] | → | "STRING" |
text[::-1] | → | "GNIRTS" |
- text[1:4] memberikan semua rentetan text di antara tempat ketip 1 dan 4, "TRI". Jika anda abaikan satu daripada argumen [indeks_pertama:indeks_akhir], anda akan mendapat permulaan atau akhir rentetan sebagai lalai: text[:5] memberi "STRIN".
- Bagi kedua-dua indeks_pertama dan indeks_akhir, kita boleh menggunakan kedua-dua skema penomboran merah dan biru: text[:-1] memberikan rentetan yang sama dengan text[:5], kerana indeks -1 berada pada tempat yang sama dengan 5 dalam kes ini.
- Jika kita tidak menggunakan argumen yang mengandungi tanda ttik berganda [
":"
], nombor akan dikendalikan dengan cara lain: text[2] memberi kita satu aksara selepas tempat ketip, "R". - Operasi hirisan khas text[:] bermakna" dari permulaan hingga ke akhir" dan mewujudkan salinan rentetan [atau senarai].
Akhir sekali, operasi hirisan boleh mengandungi tanda titik berganda kedua dan argumen ketiga yang ditakrifkan sebagai "saiz tingkat": text[::-1] bermakna text dari permulaan sehingga ke akhir, dengan saiz tingkat -1. Angka -1 bermaksud "setiap aksara, akan tetapi dari arah sebaliknya". "STRING" terbalik adalah "GNIRTS" [uji saiz tingkat 2 jika anda masih musykil].
Semua operasi hiris bekerja dengan senarai atau list
. Dalam hal ini, rentetan boleh
dikatakan sebentuk senarai yang istimewa dan unsur-unsur list
merupakan aksara-aksara individu. Anda hanya perlu ingat konsep tempat ketip dan indeks bagi menghiris akan kelihatan lebih jelas.
Contoh[sunting]
# Program ini memerlukan pemahaman nombor perpuluhan def to_string[in_int]: """Mengubah integer kepada string""" out_str = "" prefix = "" if in_int