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. |