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