python一周速成學習筆記


標簽: python 自制教程


一:語法元素

1.注釋,變量,空格的使用

注釋

  • 單行注釋以#開頭,多行注釋以''開頭和結尾

變量

  • 變量前面不需要聲明數據類型,但是必須賦值
  • 變量命名可以使用大小寫字母,數字和下划線的組合,但是首字母只能是大小寫字母或者下划線,不能使用空格
  • 中文等非字母符號也可以作為名字

空格的使用

  • 表示縮進關系的空格不可改變
  • 空格不能將一個命名分割
  • 除了以上兩條外,程序可以任意使用空格增加程序的可讀性

2.輸入函數,輸出函數

輸入函數

  • input()函數從控制台獲取用戶的輸入,使用方法為變量=input(提示信息)
  • 獲得用戶輸入以字符串形式保存在變量中
    val="28C",則val[-1]表示最后一個字符"C"
    前兩個字符組成的子串可以用 val[0:2]表示,表示從一個[0,2)的區間

輸出函數

print("文本") 文本里面的%f數據為后面引號后面的值
例如print("the value of a is %f"%a)

3.分支語句,循環語句

分支語句
分支語句通過縮進關系表示分支的所屬關系

if <條件一>:
<表達式一>
elif <條件二>:
<表達式二>
else :
<表達式三>

循環語句
循環語句根據判斷條件或者計數條件確定一段程序的運行次數
例如:

for i in range (10):
    <表達式組>

上述表達式組將會運行10次
for循環固定循環次數,不會因為變量改變而改變
注意循環語句中的縮進
while與C一樣,也有break和continue

4.保留字in,同步賦值

保留字in

判斷左側內容是否在右側集合中
例如val[-1] in ['c','C']
如果成立則為true,若不成立則為false

同步復制
同時給多個變量復制,即先運算右側所有表達式,然后同時將表達式結果賦值給左側
如將x和y交換數值x,y=y,x

5.import與def以及turtle庫

  • import
    import可以引入外部庫
  • def 可以定義自己的函數
    注意def里面所有縮進都是def里面的函數
  • 引用庫函數:from math import *或者import math,但是在這種函數后需要用math.函數()來使用函數
import turtle
def draw(rad,angle,len,neckrad):
    for i in range(len):
        turtle.circle(rad,angle)//畫圓的半徑與角度
        turtle.circle(-rad,angle)
    turtle.circle(rad,angle/2)
    turtle.fd(rad)//畫直線的長度
    turtle.circle(neckrad+1,180)
    turtle.fd(rad*2/3)  

def main ():
    turtle.setup(1300,800,0,0)//啟動窗口的寬與高與左上角的坐標,向下為y軸,右方為x軸
    pythonsize=30
    turtle.pensize(pythonsize)//運行軌跡的寬度(像素)
    turtle.pencolor("blue")//(軌跡顏色)
    turtle.seth(-40)//開始運動的方向
    draw(40,80,5,pythonsize/2)
main()

turtle 畫五角星

from turtle import Turtle
p=Turtle()
p.speed(3)
p.pensize(5)
p.color("black","yellow")
p.fillcolor("red")
p.begin_fill()
for i in range (5):
    p.forward(200)
    p.right(144)
p.end_fill()

6.eval函數與repr函數

  • 將字符串當成有效Python表達式來求值,並返回計算結果
x = 1
eval('x+1')
eval('x==1')
  • repr函數,它能夠將Python的變量和表達式轉換為字符串表示
repr(x==1)
repr(x+1)

二.數據類型

  • 1.整數類型(無數值范圍限制)
    • 十進制
    • 0X,0x開頭表示16進制數
    • 0b,0B開頭表示2進制數
    • 0o,0O開頭表示8進制數
  • 浮點數
    浮點數可以用科學計數法,使用e或者E作為冪的符號,1️以10為基數,例如2e-10表示2的-10次方
  • 復數類型
    z=a+bj,a為實數部分,b為虛數部分,敘述部分用j或者J標識,同時a與b同位浮點類型
    例如z=12.3+4.2j
    對於復數z,可以用z.real和z.imag獲得實數與虛數部分
  • 整數->浮點數->復數
    不同數字類型之間存在混合運算,運算結果為最寬類型
    三種類型可以相互轉換
    函數 :
    int(4.5)=4
    float(4)=4.0
    complex(4)=4+0j

可以通過type(x)獲得x的類型,適用於所有類型

運算符或函數 作用
x//y 表示x/y商的整數部分
x%y 表示x/y商的余數部分
x**y 獲得x的y次冪
divmod(x,y) 同時返回求商和余
pow(x,y) x的y次冪
  • 字符串類型
  • 字符串是用雙引號或單引號括起來的一個或多個字符
  • 字符串可以保存在變量中,也可以單獨存在
  • 如果要輸出引號在前面加一個轉義字符\
  • 字符串之間可以進行+與*操作
  • len(str)函數能返回str字符串的長度
函數名稱 作用
string.upper() 將字符串中字母大學
string.lower() 字母變為小寫
string.capitalize() 首字母大寫
string.strip() 去掉兩邊的空格及去掉指定字符
string.split() 按指定字符分割字符串為數組
string.isdigit() 判斷是否是數字類型
string.find() 搜索指定字符串
string.replace() 字符串替換

遍歷字符串的每個字符
for <var> in <string>:

  • 元組類型

    • 元組包含多個元素,元素之間用逗號分開 t=123,456,"hello"
    • 元組可以是空的 t=()
    • 元組外側可以有括號也可以不加
  • 元組的三個特點

    • 元組中元素可以是不同類型 `t=12,32,("hello","world")
    • 可以通過索引訪問元組中的元素 例如t[1]
    • 元組定義后不能修改也不能刪除

與字符串相似可以通過索引區間來訪問元組中部分元素如t[1:]
同樣,元組之見可以使用+和*運算符進行運算

  • random與math庫
    random可以生成隨機數以及隨機生成列表,隨機取數等
    math庫存數學函數

python語法

異常處理

tre:
    <body>
except <ErrorType1>:
    <handler1>
except <ErrorType2>:
    <handler2>
else :
    <process_else>
finally:

先執行try里面的語句,如果報錯,則執行except里面的異常處理語句
如果沒有異常則繼續處理else里面的語句
無論是否異常繼續運行finally里面的語句

布爾表達式

  • and相當於&&
  • or相當於|
  • not相當於!

函數

def <函數名>  (<參數>):
    <body>`
  • 不需要返回類型,但是能夠return任意類型的參數
  • 無返回值返回return None
  • 函數可以返回多個值,用逗號隔開

文件操作

  • 打開文件
    open()函數
    變量=open(磁盤文件名稱,打開方式)
    |操作名稱|含義|
    |:---😐:---|
    | r|只讀,如果文件不存在,則輸出錯誤 |
    |w|只寫,如果文件不存在,則創建文件|
    |a|附加到文件末尾|
    |rb|只讀二進制文件,如果文件不存在,則輸出錯誤|
    |wb|只寫二進制文件,如果文件不存在,則自動創建文件|
    |ab|附加到二進制文件末尾|
    |r+|讀寫|
    示例代碼:
infile=open("number.dat","r")
  • 文件讀取
    |操作名稱|含義|
    |:---😐:---|
    |read()|返回值為包含整個文件內容的一個字符串|
    |readline()|返回值為文件下一行內容的字符串|
    |readlines()|返回值為整個文件內容的列表,每行是️以換行符為結尾的一行字符串|

示例代碼

  • 輸出文件的文本
def main()
    fname = input("Enter filename:")
    infile = open(fname,"r")
    data=infile.read()
    print(data)
main()
  • 文件寫入
    |操作名稱|含義|
    |:---😐:---|
    |write()|把含有文本數據或二進制數據塊的字符串寫入文件|
    |writelines()|針對列表操作,接受一個字符串列表作為參數,將他們寫入文件,並且行結束符不會被自動加入|
    示例代碼
outfile=open("outfile.txt","w")
outfile.writeliens(["hello"," ","world"])
outfile.close()
infile=open("outfile.txt","r")
infile.read()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM