python菜鸟教程shell_[python小白]菜鸟教程---
pycharm竟然是idea大家族里面的,漢化之后不知道比my、eclipse高明到哪里去了。https://blog.csdn.net/pingfangx/article/details/78826155(漢化教程))
#coding:utf-8 (不過我的一開始就很支持中文哎...
一、基本語法
(1)基本知識
print "hello world"
py3.0一般就是print("hello,word!")
-d 在解析時顯示調試信息
-O 生成優化代碼 ( .pyo 文件 )
-S 啟動時不引入查找Python路徑的位置
中文輸出: Python中默認的編碼格式是 ASCII 格式
解決方法為只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了
注意: = 號兩邊不要空格。
#!/usr/bin/python
#coding=utf-8
Python 中的標識符是區分大小寫的。
以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入;
以雙下劃線開頭的 __foo 代表類的私有成員;以雙下劃線開頭和結尾的 __foo__ 代表 Python 里特殊方法專用的標識,如 __init__() 代表類的構造函數。
Python 可以同一行顯示多條語句,方法是用分號 ;
>>> print 'hello';print 'runoob';
hello
runoob
(2)縮進
學習 Python 與其他語言最大的區別就是,Python 的代碼塊不使用大括號 {} 來控制類,函數以及其他邏輯判斷。python 最具特色的就是用縮進來寫模塊。
縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。
IndentationError: unindent does not match any outer indentation level錯誤表明,你使用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可。
如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴格。
建議你在每個縮進層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用
(4)注釋和輸出
可以使用斜杠( \)將一行的語句分為多行顯示,語句中包含 [], {} 或 () 括號就不需要使用多行連接符。
引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字符串。
python中單行注釋采用 # 開頭。
'''
這是多行注釋,使用單引號。
'''
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上逗號 ,
(5)
縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束
二、python變量類型
Python 中的變量賦值不需要類型聲明。
每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。
(用=)
a = b = c = 1
a, b, c = 1, 2, "john"都可以
Numbers(數字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
(1)字符串
如果你要實現從字符串中獲取一段子字符串的話,可以使用 [頭下標:尾下標] 來截取相應的字符串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
[頭下標:尾下標] 獲取的子字符串包含頭下標的字符,但不包含尾下標的字符?!咀箝]右開】
加號(+)是字符串連接運算符,星號(*)是重復操作。如下實例:print str * 2 # 輸出字符串兩次
【實例】
str = 'Hello World!'
print str # 輸出完整字符串
print str[0] # 【【輸出字符串中的第一個字符】】
print str[2:5] # 輸出字符串中第三個至第五個之間的字符串(不包含第五個。因此這里有2 3 4 一共3個
print str[2:] # 輸出從第三個字符開始的字符串
print str * 2 # 輸出字符串兩次
print str + "TEST" # 輸出連接的字符串
(2)列表
列表用 [ ] 標識,是 python 最通用的復合數據類型。
列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始。
下標可以為空表示取到頭或尾。
(3)元組
元組是另一個數據類型,類似于List(列表)。
元組用"()"標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。
以下是元組無效的,因為元組是不允許更新的。而列表是允許更新的:
(4)字典
字典(dictionary)是除列表以外python之中最靈活的內置數據結構類型。列表是有序的對象集合,字典是無序的對象集合。
兩者之間的區別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
實例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 輸出鍵為'one' 的值
print dict[2] # 輸出鍵為 2 的值
print tinydict # 輸出完整的字典
print tinydict.keys() # 輸出所有鍵
print tinydict.values() # 輸出所有值
輸出結果為:
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
(5)類型轉換
str(x)將對象 x 轉換為字符串
int(x [,base])將x轉換為一個整數
base -- 進制數,默認十進制
eval(str)用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s)將序列 s 轉換為一個元組
list(s)將序列 s 轉換為一個列表
dict(d)創建一個字典。d 必須是一個序列 (key,value)元組。
chr(x)將一個整數轉換為一個字符
unichr(x)將一個整數轉換為Unicode字符
ord(x)將一個字符轉換為它的整數值
>>> int('12',16) # 如果是帶參數base的話,12要以字符串的形式進行輸入,12 為 16進制
18
>>> int('0xa',16)
10
>>> int('10',8)
8
這個貌似是, 括號里的意思是十幾進制的意思,也就是12 是16進制的12所以是18
四、運算符
(1)+ - * / %
**是冪 返回x的y次冪
//取整數 向下取整
(2)Python2.x 里,整數除整數,只能得出整數。如果要得到小數部分,把其中一個數改成浮點數即可。
也就是1.0/2或者1/float(2)
(3)!=是不等的意思, 同時也是<>
(4)%=和//=以及**=都是一樣的
(5)位運算
& a
|^
~
<<
>>
(6)邏輯運算符!!!!
(7)in // a in list a not in list
is (==是判斷是否值相等,is 是是否引用的一個對象) is not
六 條件語句
elif 就是else if
用嚴格的縮進區分
0或者null為false
由于 python 并不支持 switch 語句,所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
【記得if后面要有":" for也是】
流暢的pythoon閱讀筆記 鴨子切片原理
實際應用:
使用IDLE打開,python shell運行
然后要輸入! import
然后就是縮進︿( ̄︶ ̄)︿非常重要
(應該也沒啥。直接在那里打開就行。。)
唔... 感覺太難用了 ,我就去下了pycharom
簡直完美啊,再也沒有報錯過!!
第一個程序參考了菜鳥教程(本篇都是參考菜鳥教程) http://www.runoob.com/w3cnote/prints-diamonds-triangles-rectangles.html (py打印簡單的三角形)
#coding:utf-8
rows=int(raw_input('請輸入變量'))
i=j=k=1
#等腰直角三角形:
print "world begins"
for i inrange(0,rows):for j in range(0,rows-i):print "*",
j+=1i+=1
print "\n"
#空心正方形
print "空心正方形"
for i in range (0,rows): #區間似乎是左閉右開 所以...
for k inrange(0,rows):if i!=0 and i!=rows -1:#中間的行的控制
if k==0 or k==rows-1:#邊緣的控制
print "*",else:print " ",else:print "*",
k+=1i+=1
print "\n"
View Code
然后這里呢,要特別注意“,” 不然 就去換行了
還有for i in range (..)
i+=1 (一般是這樣的格式哦)
【繼續學一下 有關"循環"】
七 循環語句
1.for循環
(1)字符串
for letter in 'Python': # 第一個實例
print '當前字母 :', letter
(2)數組
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個實例
print '當前水果 :', fruit
或者索引:
for index in range(len(fruits)):
print '當前水果 :', fruits[index]
函數 len() 返回列表的長度,即元素的個數。 range返回一個序列的數。
2.循環使用else語句
在 python 中,for … else 表示這樣的意思,for 中的語句和普通的沒有區別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while … else 也是一樣。
【也就是,如果else沒和if對齊而是和for對奇了,就相當于是一個bool設置xxx的例子?!?/p>
3.while用法大致相同
break 來跳過循環,continue 用于跳過該次循環,break 則是用于退出循環
【可以使用 CTRL+C 來中斷(無限)循環】
while … else 在循環條件為 false 時執行 else 語句塊:(else和while對其的時候)
如果你的 while 循環體中只有一條語句,你可以將該語句與while寫在同一行中。
4.補充
& (嚴格,與,都滿足) | (不嚴格,或,有一個就診) ^(異或) <<(左邊彎加,右邊彎假)
【只能用elif哦!。?!?/p>
八 python數字
Python pass是空語句,是為了保持程序結構的完整性。
占據一個位置,因為如果定義一個空函數程序會報錯,當你沒有想好函數的內容是可以用 pass 填充,使程序可以正常運行。
【就像分號 ;一樣】
chr(x ) 將一個整數轉換為一個字符
hex(x ) 將一個整數轉換為一個十六進制字符串
(還有類似許多,http://www.runoob.com/python/python-numbers.html 基本是想變成什么就叫什么名字吧(當然了) 以及加了.0才認得你是浮點數
import math / cmath(包含復數 i... )
abs(x) ceil(x) exp(x) #e的x次冪 用法math.exp(1)
log(x) math.log(100,10) 2.0
log10(x) math.log10(100) 2.0
pow(x,y) x的y次方啊!!!!
round(x,[,n]) 私車五日,后面是小數點位數
這些都有
隨機數函數 (很重要,但是還不知道用法)
常量:pi e
總結
以上是生活随笔為你收集整理的python菜鸟教程shell_[python小白]菜鸟教程---的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: echarts柱状图间距调整_Excel
- 下一篇: 设置python编程环境_Jupyter