程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python基礎入門筆記

編輯:Python


file.read(1) 讀取一個字符
file.seek(0) 將file的指針只想位置0,即文件開始位置
file.tell() 顯示文件指針當前位置

file5 = open("name.txt")
fior line in file5.readlines():
    print(line)
表示逐行讀取文件

file.readline()  表示讀取一行文件

file.open("name.txt","w')表示可以寫入該文件,默認為r,只讀
file.open("name.txt","a')表示可以寫入該文件,並且在該文件末尾添加新的內容,如果是w就會覆蓋原來的內容

try:
    檢測異常
except Exception[,reson]:
except ValueError:
except [ValueError,KeyError]:  //多個類型的異常捕獲
    異常處理
finally:
    無論異常是否發生,都要執行

try:
    print(1/0)
except ZeroDivisionError as c:
    print("0不能作為除數 %s" %c)


捕獲所有的異常
try:
    print(1/0)
except  Exception as c:
    print("0不能作為除數 %s" %c)


try:
    raiseNameError("helloworld)
except  NameError:
    print("my custom error")


file5 = open("name.txt",encoding="GB18038")支持中文的一個編碼


字典的格式
dict{"哈希值":"對象","length":180,"width":80}

dict1={'x':1."y":2}
dict1["z"]=3  //給字典增加一個新的值


//讀取字典中的所有值
for  each_key in dict1.keys():
    print(“%s 的值式 %s”%(each_key,dict1[each_key]))  //輸出key和value


列表推導式
blist=[i*i for i in range(1,11) if(i%2==0)]

字典推導式
z_num={}
fir i in zodiac_name:
    z_num[i]=0
推導之後  z_num ={i:0 for i in zodiac_name}


22.函數
line.strip("\n) 刪除換行符
data.split("|")  把字符串用符號“|”分開得到一個列表


with open("sanguo.txt",encoding="GB18038")as f://with會把open得到的值賦值給f
    data =f.read().replace("\n","")//讀取f中的內容,並且將換行符替換為空
    num=re.find(String,data)  //需要import re,這個表示String在data中出現的次數,如果出現三次,那麼返回值num就會得到一個list=[String,String,String],如果要的得到數字,可以用len(num)

23.函數的可變長參數
def func(a,b,c)
    print("a= %s" %a)
    print("b= %s" %b)
    print("c= %s" %c)
func(1,2,3)得到1,2,3
func(1,c=3,b=2) a,b,c仍然得到的結果是1,2,3,  這個和java不同,可以改變參數位置 


def howlong(first,*other)://參數至少要一個,後面隨意多少個
    print(1+len(other))
howlong(1)  //得到1
howlong(1,5543,543)//得到3


24.函數的作用域
var=123
def func():
    global  var  //加了這句,會影響外部的var的值
    var=456    
    print(var)
func()//得到456, 
print(var)//得到123 ,因為這個變量只在函數內部變成456,若是在func中 的 var 前面加一個關鍵字 global,那麼得到的結果就是456,因為加了global就可以看成是全局變量的賦值了

25.函數的迭代器和生成器

list=[1,2,3]
it =iter(list)
print(next(it))  //一次輸出一個值,超過三次就會報錯,因為list的長度是3

def  frange(start,stop,step):
    x=start
    while x<stop:
        yield x   //使用yield可以讓函數一次返回一個值,如果沒有這句,下方調用就會報錯
        x+=step
for i in frange(10,20,0.5):
    print(i)


26 Lambda 表達式
lambda x: x<=(month,day) 和下面的函數相等
def function(x)
    return x<=(month,day)
lambda x,y:x+y  和下面函數相等
def add(x,y)
    return x+y
add(3,5)

lambda item:item1  和下面的函數相等

def  func2(item):
    return item[1]
adict={'a':'aa','b':'bb'}
for i in adict.items():
    print(func2(i))


31.裝飾器的使用

def tips(func):
    def nei(a,b):
        print("start")
        func(a,b)
        print("end")
    return nei

@tips
def add(a,b):
    print(a+b)
add(4,5)   //輸出結果為 start end
print(add(4,5))  //輸出屆比上面多了一個None

def new_tips(argv):
    def tips(func):
        def nei(a,b):
            print("start %s %s" %(argv,func.__name__)) //可以接受外部的參數argv,獲取調用函數的名字
            func(a,b)
            print("end")
        return nei
    return tips

@new_tips("add1")  //括號中的參數,和方法不是同一個東西
def add(a,b):
    print(a+b)
@new_tips("sub")
def sub(a,b):
    print(a-b)

add(4,5)
sub(4,5)

結果如下所示:
start add1 add
9
end
start sub sub
-1
end


32.自定義上下文管理器
fd=open("name.txt")
try:
    for line in fd:
        print(line)
finally:
    fd.close()
下面的代碼和上面代碼功能相同,當使用with打開文件時,若開出現異常那麼with會自動掉用close函數來關閉文件
with open ("name.txt") as f:
    for line in f:
        print(line)

33.模塊的定義
import os  //庫函數
import time  as t//庫函數  t.time()
import matplotlib as m   //庫函數,可以把函數的名稱簡化然後使用 
from time import  sleep  //這樣寫就可以直接使用sleep(),不需time作為前綴,但是不建議這樣寫,因為在其他的庫函數裡面可能也會有sleep這個方法,防止代碼混淆
sleep()

import mymode  //mymode自己寫的模塊,在另一個文件中調用這個模塊的print方法,這個print是自定義的,不是系統的print
mymode.print()  


34.語法規范
PEP8 編碼規范  https://www.python.org/dev/peps/pep-0008/

在  DOS 下輸入  pip3 install autopep8  
在pycharm裡面右鍵鼠標使用pep8,就可以對代碼作自動的格式整理


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved