Python - typy zmiennych

Zmienne to nic innego jak zarezerwowane miejsca w pamięci do przechowywania wartości. Oznacza to, że kiedy tworzysz zmienną, rezerwujesz trochę miejsca w pamięci.

Na podstawie typu danych zmiennej interpreter przydziela pamięć i decyduje, co może być przechowywane w zarezerwowanej pamięci. Dlatego przypisując różne typy danych do zmiennych, można przechowywać w tych zmiennych liczby całkowite, dziesiętne lub znaki.

Przypisywanie wartości do zmiennych

Zmienne Pythona nie wymagają jawnej deklaracji, aby zarezerwować miejsce w pamięci. Deklaracja jest wykonywana automatycznie po przypisaniu wartości do zmiennej. Znak równości (=) służy do przypisywania wartości zmiennym.

Operand po lewej stronie operatora = to nazwa zmiennej, a operand po prawej stronie operatora = to wartość przechowywana w zmiennej. Na przykład -

#!/usr/bin/python

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print counter
print miles
print name

W tym przypadku 100, 1000,0 i „John” to wartości przypisane odpowiednio do zmiennych licznika , mil i nazw . Daje to następujący wynik -

100
1000.0
John

Przydział wielokrotny

Python umożliwia jednoczesne przypisanie jednej wartości do kilku zmiennych. Na przykład -

a = b = c = 1

Tutaj tworzony jest obiekt typu integer o wartości 1, a wszystkie trzy zmienne są przypisywane do tej samej lokalizacji pamięci. Możesz także przypisać wiele obiektów do wielu zmiennych. Na przykład -

a,b,c = 1,2,"john"

Tutaj dwa obiekty typu integer o wartościach 1 i 2 są przypisane odpowiednio do zmiennych a i b, a jeden obiekt typu string o wartości „john” jest przypisany do zmiennej c.

Standardowe typy danych

Dane przechowywane w pamięci mogą być różnego rodzaju. Na przykład wiek osoby jest przechowywany jako wartość liczbowa, a jej adres jako znaki alfanumeryczne. Python ma różne standardowe typy danych, które są używane do definiowania możliwych na nich operacji i metod przechowywania dla każdego z nich.

Python ma pięć standardowych typów danych -

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Liczby w Pythonie

Typy danych liczbowych przechowują wartości liczbowe. Obiekty liczbowe są tworzone po przypisaniu im wartości. Na przykład -

var1 = 1
var2 = 10

Możesz również usunąć odwołanie do obiektu liczbowego, używając instrukcji del. Składnia instrukcji del to -

del var1[,var2[,var3[....,varN]]]]

Za pomocą instrukcji del można usunąć pojedynczy obiekt lub wiele obiektów. Na przykład -

del var
del var_a, var_b

Python obsługuje cztery różne typy liczbowe -

  • int (liczby całkowite ze znakiem)
  • długie (długie liczby całkowite, mogą być również reprezentowane ósemkowo i szesnastkowo)
  • float (zmiennoprzecinkowe wartości rzeczywiste)
  • zespolone (liczby zespolone)

Przykłady

Oto kilka przykładów liczb -

int długo pływak złożony
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21,9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32,3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32,54e100 3e + 26J
0x69 -4721885298529L 70,2-E12 4.53e-7j
  • Python pozwala na użycie małej litery l z long, ale zaleca się używanie tylko dużej litery L, aby uniknąć pomyłki z liczbą 1. Python wyświetla długie liczby całkowite z dużą literą L.

  • Liczba zespolona składa się z uporządkowanej pary rzeczywistych liczb zmiennoprzecinkowych oznaczonych przez x + yj, gdzie x i y to liczby rzeczywiste, a j to jednostka urojona.

Ciągi Pythona

Ciągi znaków w Pythonie są identyfikowane jako ciągły zestaw znaków przedstawionych w cudzysłowie. Python pozwala na stosowanie par pojedynczych lub podwójnych cudzysłowów. Podzbiory łańcuchów można pobrać za pomocą operatora wycinka ([] i [:]) z indeksami zaczynającymi się od 0 na początku łańcucha i zaczynającymi się od -1 na końcu.

Znak plus (+) to operator konkatenacji ciągów, a gwiazdka (*) to operator powtarzania. Na przykład -

#!/usr/bin/python

str = 'Hello World!'

print str          # Prints complete string
print str[0]       # Prints first character of the string
print str[2:5]     # Prints characters starting from 3rd to 5th
print str[2:]      # Prints string starting from 3rd character
print str * 2      # Prints string two times
print str + "TEST" # Prints concatenated string

To da następujący wynik -

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Listy w Pythonie

Listy są najbardziej wszechstronnymi złożonymi typami danych Pythona. Lista zawiera elementy oddzielone przecinkami i zawarte w nawiasach kwadratowych ([]). Do pewnego stopnia listy są podobne do tablic w C. Jedna różnica między nimi polega na tym, że wszystkie elementy należące do listy mogą mieć różne typy danych.

Dostęp do wartości przechowywanych na liście można uzyskać za pomocą operatora wycinka ([] i [:]) z indeksami zaczynającymi się od 0 na początku listy i prowadzącymi do końca -1. Znak plus (+) to operator konkatenacji listy, a gwiazdka (*) to operator powtórzenia. Na przykład -

#!/usr/bin/python

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list          # Prints complete list
print list[0]       # Prints first element of the list
print list[1:3]     # Prints elements starting from 2nd till 3rd 
print list[2:]      # Prints elements starting from 3rd element
print tinylist * 2  # Prints list two times
print list + tinylist # Prints concatenated lists

Daje to następujący wynik -

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

Krotki Pythona

Krotka to inny typ danych sekwencji, który jest podobny do listy. Krotka składa się z szeregu wartości oddzielonych przecinkami. Jednak w przeciwieństwie do list krotki są ujęte w nawiasy.

Główne różnice między listami a krotkami to: Listy są ujęte w nawiasy kwadratowe ([]), a ich elementy i rozmiar można zmieniać, natomiast krotki są zawarte w nawiasach (()) i nie można ich aktualizować. Krotki można traktować jakoread-onlylisty. Na przykład -

#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print tuple               # Prints the complete tuple
print tuple[0]            # Prints first element of the tuple
print tuple[1:3]          # Prints elements of the tuple starting from 2nd till 3rd 
print tuple[2:]           # Prints elements of the tuple starting from 3rd element
print tinytuple * 2       # Prints the contents of the tuple twice
print tuple + tinytuple   # Prints concatenated tuples

Daje to następujący wynik -

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

Poniższy kod jest nieprawidłowy w przypadku krotki, ponieważ próbowaliśmy zaktualizować krotkę, co jest niedozwolone. Podobny przypadek jest możliwy w przypadku list -

#!/usr/bin/python

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

Słownik Pythona

Słowniki Pythona są rodzajem tablic mieszających. Działają jak tablice asocjacyjne lub skróty występujące w Perlu i składają się z par klucz-wartość. Klucz słownika może być prawie dowolnego typu w Pythonie, ale zwykle są to liczby lub łańcuchy. Z drugiej strony wartościami mogą być dowolne obiekty w Pythonie.

Słowniki są ujęte w nawiasy klamrowe ({}), a wartości można przypisywać i uzyskiwać do nich dostęp za pomocą nawiasów kwadratowych ([]). Na przykład -

#!/usr/bin/python

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one']       # Prints value for 'one' key
print dict[2]           # Prints value for 2 key
print tinydict          # Prints complete dictionary
print tinydict.keys()   # Prints all the keys
print tinydict.values() # Prints all the values

Daje to następujący wynik -

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

Słowniki nie mają koncepcji porządku między elementami. Nieprawidłowe jest stwierdzenie, że elementy są „niesprawne”; są po prostu nieuporządkowane.

Konwersja typu danych

Czasami może być konieczne wykonanie konwersji między typami wbudowanymi. Aby dokonać konwersji między typami, po prostu użyj nazwy typu jako funkcji.

Istnieje kilka wbudowanych funkcji do przeprowadzania konwersji z jednego typu danych na inny. Te funkcje zwracają nowy obiekt reprezentujący przekonwertowaną wartość.

Sr.No. Opis funkcji
1

int(x [,base])

Konwertuje x na liczbę całkowitą. base określa podstawę, jeśli x jest łańcuchem.

2

long(x [,base] )

Konwertuje x na długą liczbę całkowitą. base określa podstawę, jeśli x jest łańcuchem.

3

float(x)

Konwertuje x na liczbę zmiennoprzecinkową.

4

complex(real [,imag])

Tworzy liczbę zespoloną.

5

str(x)

Konwertuje obiekt x na reprezentację w postaci ciągu.

6

repr(x)

Konwertuje obiekt x na ciąg wyrażenia.

7

eval(str)

Oblicza ciąg i zwraca obiekt.

8

tuple(s)

Konwertuje s na krotkę.

9

list(s)

Konwertuje s na listę.

10

set(s)

Konwertuje s na zbiór.

11

dict(d)

Tworzy słownik. d musi być sekwencją krotek (klucz, wartość).

12

frozenset(s)

Konwertuje s na zamrożony zestaw.

13

chr(x)

Konwertuje liczbę całkowitą na znak.

14

unichr(x)

Konwertuje liczbę całkowitą na znak Unicode.

15

ord(x)

Konwertuje pojedynczy znak na jego wartość całkowitą.

16

hex(x)

Konwertuje liczbę całkowitą na ciąg szesnastkowy.

17

oct(x)

Konwertuje liczbę całkowitą na łańcuch ósemkowy.