Apakah ada cara cepat dan mudah untuk mendapatkan karakter pertama dari sebuah string dengan Python?
Untuk mendapatkan karakter pertama dalam sebuah string cukup gunakan kode my_string[0] di mana my_string adalah variabel yang berisi string dan operator irisan [0] menangkap indeks pertama dari string itu, menjadi karakter pertama
Berikut adalah contoh yang menunjukkan penggunaan teknik ini
>>> my_string = "Uncopyrightable" >>> my_string[0] 'U'Karena huruf kapital U adalah karakter pertama dalam string, inilah yang dikembalikan menggunakan referensi indeks string
Mengapa Karakter Dalam String Dapat Direferensikan Oleh Indeks?
Alasan mengapa sebuah string dapat direferensikan oleh indeks dengan Python adalah bahwa sebuah string adalah sebuah arti bahwa kelas string berisi metode __iter__() dan/atau metode __getitem__(). Metode terakhir __getitem__() sama dengan menggunakan tanda kurung siku dengan angka di dalamnya, seperti [0]
Inilah cara Anda dapat memeriksa apakah suatu variabel berisi metode __getitem__() yang diperlukan
>>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'_Seperti yang Anda lihat dari contoh di atas, variabel >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'1 diberi nilai >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'2 yang berarti variabel tersebut telah memberi instance baru dari kelas >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'3 (string)
Apakah kelas >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'_3 dapat diubah?
Sebagai hasil dari fungsi ini mengembalikan >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'_7 Anda dapat menggunakan metode __getitem__() atau ekuivalennya >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'9 pada variabel untuk mendapatkan posisi indeks suatu elemen pada variabel tersebut
Apakah ini akan berfungsi untuk tipe data lain seperti bilangan bulat?
Seperti yang Anda lihat dari contoh di atas, Anda tidak bisa mendapatkan karakter pertama dari variabel jika variabel tersebut berasal dari kelas >>> i = 123456 >>> type(i) <class 'int'> >>> '__getitem__' in dir(i) False >>> i.__getitem__(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'int' object has no attribute '__getitem__' >>> i[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not subscriptable0. Itu tidak mengandung metode __getitem__()_ di kelas dan oleh karena itu Anda tidak dapat mengambil karakter pertama dari bilangan bulat menggunakan teknik yang sama seperti Anda menggunakan string
Cara Menggunakan __getitem__() Dengan String
Metode __getitem__()_ pada kelas string adalah cara lain untuk mendapatkan karakter pertama dari sebuah string
Metode __getitem__()_ mengambil satu parameter sebagai referensi ke indeks (dalam kasus variabel seperti daftar, string atau tupel) atau kunci (dalam kasus dict) dari variabel
Untuk menggunakan metode __getitem__()_ pada variabel tipe data string cukup masukkan nomor referensi indeks yang Anda inginkan untuk mendapatkan karakter dari string itu
Misalnya, untuk mendapatkan karakter pertama dari string, gunakan posisi indeks >>> i = 123456 >>> type(i) <class 'int'> >>> '__getitem__' in dir(i) False >>> i.__getitem__(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'int' object has no attribute '__getitem__' >>> i[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not subscriptable6 yang menunjukkan posisi pertama dalam string
Perhatikan pada contoh di atas bagaimana hasil yang sama dicapai dengan menggunakan metode ini pada kelas string. Untuk mendapatkan karakter pertama referensi indeks 0 dimasukkan ke dalam metode >>> i = 123456 >>> type(i) <class 'int'> >>> '__getitem__' in dir(i) False >>> i.__getitem__(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'int' object has no attribute '__getitem__' >>> i[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not subscriptable7
Ringkasan
Ada beberapa cara untuk mendapatkan karakter pertama dari sebuah string yang keduanya setara. Kode sesingkat mungkin adalah dengan menggunakan my_string[0] di mana >>> my_string = "Are we an item?" >>> type(my_string) <class 'str'> >>> '__getitem__' in dir(my_string) True >>> my_string.__getitem__(0) 'A'1 adalah variabel yang telah ditetapkan ke string untuk menangkap karakter pertama dari dan ekspresi tanda kurung [0] menggunakan referensi indeks 0 yang menunjukkan item pertama dalam string
Cara yang lebih bertele-tele untuk melakukan tugas yang sama persis adalah dengan menggunakan metode >>> my_string = "Uncopyrightable" >>> my_string.__getitem__(0) 'U'1
Sekarang setelah Anda mengetahui cara menangkap karakter pertama dari string, Anda mungkin juga ingin mengetahui cara menangkap karakter terakhir dari string juga.