# Tipuri de Date

În programare, **tipurile de date** (Data Type) este un concept important.

Variabilele pot stoca diferite tipuri de date.

{% hint style="info" %}
Python are următoarele tipuri de date încorporate în mod implicit, în aceste categorii:

* Text Type: **`str`**
* Numeric Types: **`int`, `float`,** `complex`
* Sequence Types: `list`, `tuple`, `range`
* Mapping Type: `dict`
* Set Types: `set`, `frozenset`
* Boolean Type: **`bool`**
* Binary Types: `bytes`, `bytearray`, `memoryview`
  {% endhint %}

### &#x20;S**tring**

`Str` este un șir de caractere (un text).

Un `string` poate conține litere, numere, simboluri și spații. Ele trebuie să fie scrise între ghilimele.

```python
# poate fi orice caracter în " " / ' '
x = "Hello World" 
y = '13478*/+'
```

Deși înca nu am învățat ce sunt funcțiile, noi deja le folosim.

> &#x20; `type()` - funcție care ne spune ce tip de date conține variabila data.

`print()` și `input()` la fel sunt funcții.

```python
# haideti sa ne convingem 
# ca variabilele x si y au valori de tip `string`

print(type(x))
print(type(y))
```

{% hint style="info" %}
După cum am mai menționat, *Python* acceptă și *ghilimele duble*, și *ghilimele unice* ca fel de scriere a `string`-urilor.
{% endhint %}

### &#x20;**Integer**

`Int`este un număr întreg, pozitiv sau negativ, fără zecimale, de lungime nelimitată.

{% hint style="info" %}
Amintiți-vă de mulțimea numerelor întregi Z de la matematică, este același lucru.
{% endhint %}

```python
my_int = 3
your_int = -4
```

### Float

&#x20;`Float`, sau numărul rațional este un număr, pozitiv sau negativ, care conține unul sau mai multe zecimale.

{% hint style="info" %}
`Float,`la fel, poate fi asociat cu mulțimea numerelor reale R.
{% endhint %}

```python
# iata cum arata un float
x = 20.5 

print(x, type(x))
```

### Bool

&#x20;**`Bool`** reprezintă un tip de variabile care pot avea doar două valori: Adevărat sau Fals. Așa cum un întrerupător poate avea doar două stări: conectat sau deconectat, la fel și un bool poate fi doar `True` sau `False`.

```python
# bool de la boolean :)
x = True
type(x)
```

### Convertirea

Cum convertim dintr-un tip de date în alt tip de date?

Convertirea din `float`  în `integer`

```python
x = 2.8
print(type(x))

x = int(x)
print(x)
print(type(x))
```

Convertirea din `string` în `float`

```python
x = '177'
print(type(x))

x = float(x)
print(x)
print(type(x))
```

Convertirea din `int`  în  `string`

```python
x = 10
print(type(x))

x = str(x)
print(x)
print(type(x))
```

Convertirea din `string`  în  `float`

```python
x = '10'
print(type(x))

x = float(x)
print(x)
print(type(x)
```

Convertirea din `string`  în  `int`

{% hint style="info" %}
Putem converti un `string` în`int` doar dacă este format în totalitate din cifre.
{% endhint %}

```python
x = "10"
print(type(x))

x = int(x)
print(type(x))
print(x)
```

Convertirea din `bool`  în  `int`

```python
x = False
print(type(x))

x = int(x)
print(type(x))
print
```

> **Every language has an optimization** [**operator**](/python/operatori.md)**. In C++ that operator is ‘//’. (In Python - #)**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.girlsgoit.md/python/tipuri-de-date.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
