在類Unix系統(tǒng)上開始Python3編程入門
假設(shè)有個(gè)python腳本script.py,不管哪種Unix平臺(tái),都可以在命令行上通過解釋器執(zhí)行:
$ python script.py
Unix平臺(tái)還可以在不明確指定python解釋器的情況下,自動(dòng)執(zhí)行python解釋器,這需要在python腳本的第一行添加如下shell魔術(shù)字符串:
#!/usr/bin/python
在#!之后寫上python解釋器的完整路徑,通常在/usr/bin或/usr/local/bin目錄下。還有一種方法是使用env這個(gè)命令,位于/bin或/usr/bin中,它會(huì)幫你在系統(tǒng)搜索路徑中找到python解釋器,python腳本的第一行就可以修改如下:
#!/usr/bin/env python
這樣,執(zhí)行python腳本時(shí),就不必顯式地調(diào)用python解釋器了,只需要鍵入腳本的文件名即可:
$ script.py
在 Python 3 中接觸的第一個(gè)很大的差異就是縮進(jìn)是作為語法的一部分,這和C++等其他語言確實(shí)很不一樣,所以要小心咯
縮進(jìn)要使用4個(gè)空格(這不是必須的,但你最好這么做),縮進(jìn)表示一個(gè)代碼塊的開始,非縮進(jìn)表示一個(gè)代碼的結(jié)束。沒有明確的大括號(hào)、中括號(hào)、或者關(guān)鍵字。這意味著空白很重要,而且必須要是一致的。第一個(gè)沒有縮進(jìn)的行標(biāo)記了代碼塊,意思是指函數(shù),if 語句、 for 循環(huán)、 while 循環(huán)等等的結(jié)束。
不過這樣的規(guī)定也使得 Python 程序?qū)懗鰜頃?huì)更加美觀,便于閱讀,吐槽是沒有用的,接受吧...o(╯□╰)o
Python 思想:
“一切都是對象!”
輸入很簡單
x = input("Please input x:") Please input x:
在代碼最后加上
input("Press Enter")
就可以讓程序運(yùn)行完后停一下
輸出的 print 函數(shù)總結(jié):
1. 字符串和數(shù)值類型
可以直接輸出
>>> print(1) 1 >>> print("Hello World") Hello World
2.變量
無論什么類型,數(shù)值,布爾,列表,字典...都可以直接輸出
>>> x = 12 >>> print(x) 12 >>> s = 'Hello' >>> print(s) Hello >>> L = [1,2,'a'] >>> print(L) [1, 2, 'a'] >>> t = (1,2,'a') >>> print(t) (1, 2, 'a') >>> d = {'a':1, 'b':2} >>> print(d) {'a': 1, 'b': 2}
3.格式化輸出
類似于C中的 printf
>>> s 'Hello' >>> x = len(s) >>> print("The length of %s is %d" % (s,x)) The length of Hello is 5
看看《Python基礎(chǔ)編程》中對格式化輸出的總結(jié):
(1). %字符:標(biāo)記轉(zhuǎn)換說明符的開始
(2). 轉(zhuǎn)換標(biāo)志:-表示左對齊;+表示在轉(zhuǎn)換值之前要加上正負(fù)號(hào);“”(空白字符)表示正數(shù)之前保留空格;0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充
(3). 最小字段寬度:轉(zhuǎn)換后的字符串至少應(yīng)該具有該值指定的寬度。如果是*,則寬度會(huì)從值元組中讀出。
(4). 點(diǎn)(.)后跟精度值:如果轉(zhuǎn)換的是實(shí)數(shù),精度值就表示出現(xiàn)在小數(shù)點(diǎn)后的位數(shù)。如果轉(zhuǎn)換的是字符串,那么該數(shù)字就表示最大字段寬度。如果是*,那么精度將從元組中讀出
(5).字符串格式化轉(zhuǎn)換類型
轉(zhuǎn)換類型 含義
d,i 帶符號(hào)的十進(jìn)制整數(shù)
o 不帶符號(hào)的八進(jìn)制
u 不帶符號(hào)的十進(jìn)制
x 不帶符號(hào)的十六進(jìn)制(小寫)
X 不帶符號(hào)的十六進(jìn)制(大寫)
e 科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)(小寫)
E 科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)(大寫)
f,F 十進(jìn)制浮點(diǎn)數(shù)
g 如果指數(shù)大于-4或者小于精度值則和e相同,其他情況和f相同
G 如果指數(shù)大于-4或者小于精度值則和E相同,其他情況和F相同
C 單字符(接受整數(shù)或者單字符字符串)
r 字符串(使用repr轉(zhuǎn)換任意python對象)
s 字符串(使用str轉(zhuǎn)換任意python對象)
>>> pi = 3.141592653 >>> print('%10.3f' % pi) #字段寬10,精度3 3.142 >>> print("pi = %.*f" % (3,pi)) #用*從后面的元組中讀取字段寬度或精度 pi = 3.142 >>> print('%010.3f' % pi) #用0填充空白 000003.142 >>> print('%-10.3f' % pi) #左對齊 3.142 >>> print('%+f' % pi) #顯示正負(fù)號(hào) +3.141593
4.如何讓 print 不換行
在Python中總是默認(rèn)換行的
>>> for x in range(0,10): print(x) 0 1 2 3 4 5 6 7 8 9
但在 3.x 中這樣不起任何作用
要想換行你應(yīng)該寫成 print(x,end = '' )
>>> for x in range(0,10): print (x,end = '') 0123456789
拼接字符串:
>>> "Hello""World" 'HelloWorld' >>> x = "Hello" >>> y = "world" >>> xy Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> xy NameError: name 'xy' is not defined >>> x+y 'Helloworld'
相關(guān)文章
如何用Python進(jìn)行時(shí)間序列分解和預(yù)測
這篇文章主要介紹了如何用Python進(jìn)行時(shí)間序列分解和預(yù)測,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-02-02Python如何通過內(nèi)存管理提升程序執(zhí)行效率
Python提供了自動(dòng)內(nèi)存管理的功能,但是如果不小心使用,可能會(huì)導(dǎo)致內(nèi)存泄漏和性能問題,所以巧妙使用內(nèi)存管理是提高Python執(zhí)行效率的關(guān)鍵,下面就來和大家仔細(xì)講講Python的內(nèi)存管理技巧吧2023-06-06Python subprocess模塊學(xué)習(xí)總結(jié)
從Python 2.4開始,Python引入subprocess模塊來管理子進(jìn)程,以取代一些舊模塊的方法:如 os.system、os.spawn*、os.popen*、popen2.*、commands.*不但可以調(diào)用外部的命令作為子進(jìn)程,而且可以連接到子進(jìn)程的input/output/error管道,獲取相關(guān)的返回信息2014-03-03pyinstaller 3.6版本通過pip安裝失敗的解決辦法(推薦)
這篇文章主要介紹了pyinstaller 3.6版本通過pip安裝失敗的解決辦法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊
今天小編就為大家分享一篇python 實(shí)現(xiàn)從高分辨圖像上摳取圖像塊,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊(duì)列的操作方法
這篇文章主要介紹了Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊(duì)列的操作方法,需要的朋友可以參考下2019-07-07詳解Python?NumPy如何使用argsort方法進(jìn)行排序
NumPy提供了各種功能強(qiáng)大的數(shù)組操作方法,其中之一就是argsort方法,本文將詳細(xì)介紹argsort方法的使用,以及如何在實(shí)際項(xiàng)目中充分利用它進(jìn)行排序操作,希望對大家有所幫助2024-03-03