English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spiegazione dettagliata dei tipi di file e delle stringhe in Python

1. Tipi di file di Python

1. Codice sorgente -- direttamente interpretato da Python

vi 1.py 
#!/usr/bin/python
print 'hello world'

Qui 1.py è il codice sorgente

Modalità di esecuzione simile a script shell:

chmod +x poi ./1.py
Python 1.py

2. Codice a byte

Il file di sorgente Python viene compilato e generato un file con estensione pyc

Metodo di compilazione:

[root@t1 py]# cat 2.py 
#!/usr/bin/python
import py_compile 
py_compile.compile('1.py') 

Scrivere uno script 2.py, eseguirlo, l'interfaccia non ha output, ma guardare la lista dei file, c'è un file in più chiamato 1.pyc

[root@t1 py]# python 2.py 
[root@t1 py]# ll
Quantità totale 12
-rw-r--r-- 1 root root 38 20 dicembre 21:06 1.py
-rw-r--r-- 1 root root 112 20 dicembre 21:10 1.pyc
-rw-r--r-- 1 root root 66 20 dicembre 21:09 2.py

Come eseguire? Ancora python 2.py.

E se il file di codice sorgente 1.py non esiste, 2.py può ancora essere eseguito

3. Ottimizzazione del codice

Il file di codice sorgente ottimizzato ha l'estensione pyo

python –O –m py_compile 1.py

[root@t1 py]# python -O -m py_compile 1.py
[root@t1 py]# ls
1.py 1.pyc 1.pyo 2.py

Dopo l'esecuzione del codice ottimizzato, viene generato 1.pyo. Eseguire 1.pyo

[root@t1 py]# python 1.pyo
hello world

2. Le variabili di python

Una variabile è una porzione di memoria del computer, che può memorizzare valori entro un intervallo specificato e i valori possono essere modificati

In Python, le variabili sono riferimenti a dati

Nomina delle variabili
Il nome delle variabili è composto da lettere, numeri e trattini bassi
Le variabili non possono iniziare con un numero
Non è possibile utilizzare i termini chiave
a a1 _a
Assegnazione delle variabili
È il processo di dichiarazione e definizione delle variabili
a = 1
id(a) #id mostra la posizione in memoria di a

In [1]: a = 123
In [2]: id(a)
Out[2]: 25933904
In [3]: a = 456 
In [4]: id(a)
Out[4]: 33594056
In [5]: x = 'abc'
In [6]: x = abc 
---------------------------------------------------------------------------
NameError                 Traceback (più recente chiamata in ultimo)
<ipython-input-6-c455442c5ffd> in <module>()
----> 1 x = abc
NameError: il nome 'abc' non è definito

Spiegazione dell'errore riportato, di default:

I numeri scritti direttamente rappresentano i numeri  
I numeri con virgolette rappresentano le stringhe  
I caratteri con virgolette rappresentano le stringhe 
I caratteri senza virgolette rappresentano le variabili

Python non richiede dichiarazione preventiva del tipo delle variabili,来判断类型

In [7]: a = 456
In [8]: type(a)
Out[8]: int

Il tipo di variabile a è int

In [9]: a = '456'
In [10]: type(a)
Out[10]: str

type determina il tipo della variabile a è stringa str

Gli operatori di Python includono

1. Operatore di assegnazione

=:   x = 3,  y = ‘abcd'   #Uguale
+=:  x += 2   #x=x+2
-=:  x -= 2   #x=x-2
*=:  x *= 2   #x=x*2
/=:  x /= 2   #x=x/2
%=:  x %= 2   #Prendere il resto

2. Operatore aritmetico

+
-
*
/
//
%
**

Esempio 1:

In [20]: a = 1 ;b = 2
In [21]: a+b
Out[21]: 3
In [22]: 'a' + 'b'
Out[22]: 'ab'

Dopo l'assegnazione di ab, a+b è un numero. Aggiungere direttamente due caratteri è una stringa combinata

Esempio 2:

In [24]: 4 / 3
Out[24]: 1
In [25]: 4.0 / 3
Out[25]: 1.3333333333333333

4 diviso direttamente per 3, poiché è un numero intero di default, il risultato è troncato a 1

Per ottenere un numero decimale, trasformare 4 in numero decimale 4.0

In particolare, // rappresenta l'arresto del calcolo forzato

In [26]: 4.0 // 3
Out[26]: 1.0

Esempio 3:

In [27]: 2 ** 3
Out[27]: 8
In [28]: 2 * 3
Out[28]: 6

Un * è moltiplicazione, due ** sono potenza

3. Operatore relazionale

>:  1 > 2
<:  2 < 3
>=:  1 >= 1
<=:  2 <= 2
==:  2 == 2
!=:  1 != 2
In [33]: 1 > 2
Out[33]: False
In [34]: 1 < 2
Out[34]: True

Vero se成立的,Falso se不成立的

4. Operatore logico

and logico e: True and False
or logico o: False or True
not logico non: not True

Esempio:

In [35]: 1 < 2 and 1 >2
Out[35]: False
In [36]: 1 < 2 or 1 >2
Out[36]: True
In [37]: not 1 > 2
Out[37]: True

Ordine di priorità delle operazioni:

input e raw_input

input è adatto per i numeri, raw_input è adatto per i caratteri

In [41]: input("inserisci numero:")
inserisci numero:123
Out[41]: 123
In [42]: input("inserisci numero:")
inserisci numero:abc
---------------------------------------------------------------------------
NameError                 Traceback (più recente chiamata in ultimo)
<ipython-input-42-3cd60768312e> in <modulo>()
----> 1 input("inserisci numero:")
<string> in <modulo>()
NameError: il nome 'abc' non è definito
In [43]: input("inserisci numero:")
inserisci numero:'abc'
Out[43]: 'abc'
In [44]: raw_input("inserisci numero:")
inserisci numero:abc
Out[44]: 'abc'

Da qui si può vedere che sotto input, se si inserisce direttamente abc si verifica un errore, ma raw_input viene visualizzato normalmente.

Da questo si può scrivere uno script di calcolo

[root@t1 py]# cat cal.py 

!/sur/bin/python

num1 = input("inserisci un numero:")

num2 = input("inserisci un numero:")

print "%s + %s = %s" % (num1,num2,num1+num2)

print "%s - %s = %s" % (num1,num2,num1-num2)

print "%s * %s = %s" % (num1,num2,num1*num2)

print "%s / %s = %s" % (num1,num2,num1/num2)

%s corrisponde ai numeri successivi 
eseguire lo script

[root@t1 py]# python cal.py
inserisci un numero:5
inserisci un numero:6
5 + 6 = 11
5 - 6 = -1
5 * 6 = 30
5 / 6 = 0

### 3. Numeri e stringhe in Python
Tipi numerici:  
- [ ] intero int 
Il tipo intero int può memorizzare 2^32 numeri, la gamma è da -2,147,483,648 a 2,147,483,647 
  Esempio: 0, 100, -100
- [ ] numero lungo long 
La gamma di Long è molto ampia, si può dire che quasi qualsiasi numero intero può essere memorizzato. 
Per distinguerlo dal tipo intero comune, è necessario aggiungere L o l alla fine del numero.  
Esempio: 2345L, 0x34al 
- [ ] numero a virgola mobile float 
Esempio: 0.0, 12.0, -18.8, 3e+7 ecc.
- [ ] numero complesso complex 
Python offre supporto integrato per i numeri complessi, una funzionalità non presente in molti altri software. 
Esempio di plurale: - 3.14j, 8.32e-36j 
- [ ] stringa string   
Ci sono tre modi per definire il tipo di stringa
  - str = ‘this is a string' # stringa normale
  - str = “this is a string” # può interpretare \n e altri caratteri speciali
  - str = ‘'‘this is a string'‘' # può omittre \n 
Le triple virgolette (docstring) oltre a definire una stringa possono essere usate come commenti. 
Esempio: 

In [3]: a = '''hello
...: world'''

In [4]: a
Out[4]: 'hello\nworld'

In [5]: print a
hello
world

- Indice della stringa, inizia da 0, -1 indica l'ultimo, -2 il penultimo, ecc.

In [6]: a = 'abcde'

In [7]: a[0:2]
Out[7]: 'ab'

a[] indica il carattere specificato dall'indice, [0:2] può essere paragonato a 0<=a<2 nella matematica, ossia 0<=a<=1, quindi si prendono il primo e il secondo, non il terzo

In [8]: a[:2]
Out[8]: 'ab'

In [9]: a[:]
Out[9]: 'abcde'

0 o -1 possono essere omessi 
- Taglio della stringa 

In [11]: a[0:3:2]
Out[11]: 'ac'

Per ottenere i caratteri a e c, dovrebbe essere a[0:3], ma il risultato è abc, a[0:3:2] il 2 rappresenta lo spostamento di 2, saltando b. Allo stesso modo, se è a[0:3:3] rappresenta lo spostamento di 3.  
**Se si desidera invertire l'intera stringa, è necessario utilizzare -1** 

In [17]: a[::-1]
Out[17]: 'edcba'

Puoi analogare al seguente

In [16]: a[:-1]
Out[16]: 'abcd'

Facciamo un esempio più intuitivo

In [13]: a[-2:-4:-1]
Out[13]: 'dc'

Prendere il penultimo e il terzultimo, e mostrare in ordine inverso
### 4. Esercizio

Convertire "123" in un numero intero
Convertire "9999999999999999999" in un numero intero lungo
Convertire "3.1415926" in un numero decimale
Convertire 123 in una stringa
Abbiamo le seguenti stringhe
Stringa 1: " abc deFGh&ijkl opq mnrst((uvwxyz "
Stringa 2: " ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ "
Usare vari metodi delle stringhe per trasformare in questo modo
ABCDEFGHIJKLMNOPQRSTUVWXYZzyxwvutsrqponmlkjihgfedcba

Risposta: 
1. Convertire "123" in un numero intero

num = int(123)
print num

2. Convertire "9999999999999999999" in un numero intero lungo

num = long(9999999999999999999)
print num

3. Convertire "3.1415926" in un numero decimale

num = float(3.1415926)
print num

4. Convertire 123 in una stringa

num = str(123)
print num

5. L'ultimo problema 
Pensiero analitico: entrambe le stringhe devono rimuovere spazi iniziali e finali, caratteri speciali, convertire maiuscole e minuscole, tagliare, sommare 
- [ ] Rimuovere spazi iniziali e finali, caratteri speciali

str1 = " abc deFGh&ijkl opq mnrst((uvwxyz "
str2 = " ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ "
str1 = str1.strip()
str2 = str2.strip()
print str1
print str2

strip() rimuove i caratteri di delimitazione iniziali e finali, di default sono spazi, può essere personalizzato, l'esempio di personalizzazione è mostrato nella figura   
![](http://os9ep64t2.bkt.clouddn.com/17-12-20/90753838.jpg) 
Risultato dell'esecuzione

C:\Users\chawn\PycharmProjects\171220\venv\Scripts\python.exe C:/Users/chawn/.PyCharmCE2017.3/config/scratches/scratch.py
abc deFGh&ijkl opq mnrst((uvwxyz
ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ

Puoi anche usare il sostituzione per rimuovere spazi, altri caratteri

str1 = " abc deFGh&ijkl opq mnrst((uvwxyz "
str2 = " ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ "
str1 = str1.replace(' ','').replace('&','').replace('((','')
str2 = str2.replace(' ','').replace('#','').replace('%','').replace('&&','').replace('(&','')

print str1
print str2

replace può sostituire spazi in qualsiasi posizione e anche altri caratteri 
- [ ] Convertire maiuscole e minuscole + tagliare

str1 = " abc deFGh&ijkl opq mnrst((uvwxyz "
str2 = " ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(&YZ "
str1 = str1.replace(' ','').replace('&','').replace('((','')
str2 = str2.replace(' ','').replace('#','').replace('%','').replace('&&','').replace('(&','')
str1 = str1.lower()
str1 = str1[0:12]+str1[15:17]+str1[12:15]+str1[17:]
str2 = str2[0:10]+str2[10:15]+str2[15:17]+str2[17:]
print str2 + str1[::-1]

Risultato dell'esecuzione

C:\Users\chawn\PycharmProjects\171220\venv\Scripts\python.exe C:/Users/chawn/.PyCharmCE2017.3/config/scratches/scratch.py
ABCDEFGHIJMNOPQKLRSTUVWXYZzyxwvutsrqponmlkjihgfedcba

Questa guida dettagliata su tipi di file e stringhe basata su Python condivisa dall'autore è tutto ciò che vi ho da offrire. Spero che vi sia utile e vi prego di supportare e urlare le guide.

Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il diritto d'autore spetta ai rispettivi proprietari, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene il diritto di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di violazione del copyright, invia un'e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare