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