Python Berorientasi Objek - File dan String

String

String adalah tipe data paling populer yang digunakan di setiap bahasa pemrograman. Mengapa? Karena kita memahami teks lebih baik daripada angka, maka dalam menulis dan berbicara kita menggunakan teks dan kata-kata, demikian pula dalam pemrograman kita menggunakan string. Dalam string kami mengurai teks, menganalisis semantik teks, dan melakukan penambangan data - dan semua data ini adalah teks yang dikonsumsi manusia. String dalam Python tidak dapat diubah.

Manipulasi String

Dalam Python, string dapat ditandai dengan berbagai cara, menggunakan kutip tunggal ('), kutip ganda (") atau bahkan kutip tiga (' '') dalam kasus string multiline.

>>> # String Examples
>>> a = "hello"
>>> b = ''' A Multi line string,
Simple!'''
>>> e = ('Multiple' 'strings' 'togethers')

Manipulasi string sangat berguna dan sangat banyak digunakan di setiap bahasa. Seringkali, programmer diminta untuk memecah string dan memeriksanya dengan cermat.

String dapat diulang (karakter demi karakter), diiris, atau digabungkan. Sintaksnya sama dengan untuk daftar.

Kelas str memiliki banyak metode untuk mempermudah manipulasi string. Perintah dir dan help memberikan panduan dalam interpreter Python bagaimana menggunakannya.

Di bawah ini adalah beberapa metode string yang umum digunakan yang kami gunakan.

Sr.No. Metode & Deskripsi
1

isalpha()

Memeriksa apakah semua karakter adalah Abjad

2

isdigit()

Memeriksa Karakter Digit

3

isdecimal()

Memeriksa Karakter desimal

4

isnumeric()

centang Karakter Numerik

5

find()

Mengembalikan Indeks substring tertinggi

6

istitle()

Memeriksa string bertitel

7

join()

Mengembalikan string gabungan

8

lower()

mengembalikan string berkurung rendah

9

upper()

mengembalikan string berkurung atas

10

partion()

Mengembalikan tupel

11

bytearray()

Mengembalikan larik dengan ukuran byte tertentu

12

enumerate()

Mengembalikan objek enumerasi

13

isprintable()

Memeriksa karakter yang dapat dicetak

Mari kita coba menjalankan beberapa metode string,

>>> str1 = 'Hello World!'
>>> str1.startswith('h')
False
>>> str1.startswith('H')
True
>>> str1.endswith('d')
False
>>> str1.endswith('d!')
True
>>> str1.find('o')
4
>>> #Above returns the index of the first occurence of the character/substring.
>>> str1.find('lo')
3
>>> str1.upper()
'HELLO WORLD!'
>>> str1.lower()
'hello world!'
>>> str1.index('b')
Traceback (most recent call last):
   File "<pyshell#19>", line 1, in <module>
      str1.index('b')
ValueError: substring not found
>>> s = ('hello How Are You')
>>> s.split(' ')
['hello', 'How', 'Are', 'You']
>>> s1 = s.split(' ')
>>> '*'.join(s1)
'hello*How*Are*You'
>>> s.partition(' ')
('hello', ' ', 'How Are You')
>>>

Pemformatan String

Dalam Python 3.x, pemformatan string telah berubah, sekarang lebih logis dan lebih fleksibel. Pemformatan dapat dilakukan dengan menggunakan metode format () atau tanda% (gaya lama) dalam format string.

String bisa berisi teks literal atau bidang pengganti yang dipisahkan oleh tanda kurung kurawal {} dan setiap bidang pengganti bisa berisi indeks numerik dari argumen posisi atau nama dari argumen kata kunci.

sintaksis

str.format(*args, **kwargs)

Pemformatan Dasar

>>> '{} {}'.format('Example', 'One')
'Example One'
>>> '{} {}'.format('pie', '3.1415926')
'pie 3.1415926'

Contoh di bawah ini memungkinkan penataan ulang urutan tampilan tanpa mengubah argumen.

>>> '{1} {0}'.format('pie', '3.1415926')
'3.1415926 pie'

Padding dan senar sejajar

Nilai dapat ditambahkan ke panjang tertentu.

>>> #Padding Character, can be space or special character
>>> '{:12}'.format('PYTHON')
'PYTHON '
>>> '{:>12}'.format('PYTHON')
' PYTHON'
>>> '{:<{}s}'.format('PYTHON',12)
'PYTHON '
>>> '{:*<12}'.format('PYTHON')
'PYTHON******'
>>> '{:*^12}'.format('PYTHON')
'***PYTHON***'
>>> '{:.15}'.format('PYTHON OBJECT ORIENTED PROGRAMMING')
'PYTHON OBJECT O'
>>> #Above, truncated 15 characters from the left side of a specified string
>>> '{:.{}}'.format('PYTHON OBJECT ORIENTED',15)
'PYTHON OBJECT O'
>>> #Named Placeholders
>>> data = {'Name':'Raghu', 'Place':'Bangalore'}
>>> '{Name} {Place}'.format(**data)
'Raghu Bangalore'
>>> #Datetime
>>> from datetime import datetime
>>> '{:%Y/%m/%d.%H:%M}'.format(datetime(2018,3,26,9,57))
'2018/03/26.09:57'

String adalah Unicode

String sebagai kumpulan karakter Unicode yang tidak dapat diubah. String Unicode memberikan kesempatan untuk membuat perangkat lunak atau program yang berfungsi di mana saja karena string Unicode dapat mewakili karakter yang mungkin tidak hanya karakter ASCII.

Banyak operasi IO hanya tahu cara menangani byte, meskipun objek byte mengacu pada data tekstual. Oleh karena itu, sangat penting untuk mengetahui cara menukar antara byte dan Unicode.

Mengonversi teks menjadi byte

Mengubah string menjadi objek byte disebut sebagai pengkodean. Ada banyak bentuk pengkodean, yang paling umum adalah: PNG; JPEG, MP3, WAV, ASCII, UTF-8 dll. Juga ini (pengkodean) adalah format untuk merepresentasikan audio, gambar, teks, dll. Dalam byte.

Konversi ini dimungkinkan melalui encode (). Ini mengambil teknik pengkodean sebagai argumen. Secara default, kami menggunakan teknik 'UTF-8'.

>>> # Python Code to demonstrate string encoding 
>>> 
>>> # Initialising a String 
>>> x = 'TutorialsPoint' 
>>> 
>>> #Initialising a byte object 
>>> y = b'TutorialsPoint'
>>> 
>>> # Using encode() to encode the String >>> # encoded version of x is stored in z using ASCII mapping 
>>> z = x.encode('ASCII') 
>>> 
>>> # Check if x is converted to bytes or not 
>>> 
>>> if(z==y): 
   print('Encoding Successful!') 
else: 
   print('Encoding Unsuccessful!') 
Encoding Successful!

Converting bytes to text

Mengubah byte menjadi teks disebut decoding. Ini diimplementasikan melalui decode (). Kita dapat mengubah string byte menjadi string karakter jika kita tahu pengkodean mana yang digunakan untuk menyandikannya.

Jadi Encoding dan decoding adalah proses terbalik.

>>> 
>>> # Python code to demonstrate Byte Decoding 
>>> 
>>> #Initialise a String 
>>> x = 'TutorialsPoint' 
>>> 
>>> #Initialising a byte object 
>>> y = b'TutorialsPoint' 
>>> 
>>> #using decode() to decode the Byte object 
>>> # decoded version of y is stored in z using ASCII mapping 
>>> z = y.decode('ASCII')
>>> #Check if y is converted to String or not 
>>> if (z == x): 
   print('Decoding Successful!') 
else: 
   print('Decoding Unsuccessful!') Decoding Successful! 
>>>

File I / O

Sistem operasi merepresentasikan file sebagai urutan byte, bukan teks.

File adalah lokasi bernama pada disk untuk menyimpan informasi terkait. Ini digunakan untuk menyimpan data secara permanen di disk Anda.

Di Python, operasi file berlangsung dalam urutan berikut.

  • Buka file
  • Membaca atau menulis ke file (operasi). Buka file
  • Tutup file.

Python membungkus aliran byte yang masuk (atau keluar) dengan panggilan decode (atau encode) yang sesuai sehingga kita dapat menangani langsung dengan objek str.

Membuka file

Python memiliki fungsi built-in open () untuk membuka file. Ini akan menghasilkan objek file, juga disebut pegangan karena digunakan untuk membaca atau memodifikasi file yang sesuai.

>>> f = open(r'c:\users\rajesh\Desktop\index.webm','rb')
>>> f
<_io.BufferedReader name='c:\\users\\rajesh\\Desktop\\index.webm'>
>>> f.mode
'rb'
>>> f.name
'c:\\users\\rajesh\\Desktop\\index.webm'

Untuk membaca teks dari sebuah file, kita hanya perlu memasukkan nama file ke dalam fungsinya. File akan dibuka untuk dibaca, dan byte akan diubah menjadi teks menggunakan pengkodean default platform.