中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python在怎樣進行函數文件處理

發布時間:2021-12-04 17:41:02 來源:億速云 閱讀:151 作者:柒染 欄目:互聯網科技

python在怎樣進行函數文件處理,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

文檔處理

# f=open('a.txt','r+') #讀寫

# f=open('a.txt','w+') #寫讀

# f=open('a.txt','a+') #追加并且讀

# f=open('a.txt','w')

# f.write('111111\n')

# f.close()

#上下文管理

# with open('a.txt','r',encoding='utf-8') as f,open('b.txt') as b_f:

#     # print(f.read())

#     print('====>')

#補充

# for i in range(3):

#     print(i)

#     # continue

#     if i == 1:

#         break

# else:

#     print('=============>') #當for循環不被break打斷,就會執行else的代碼

#

# with open('a.txt','r',encoding='utf-8') as read_f,\

#         open('aa.txt','w',encoding='utf-8') as write_f:

#

#     for line in read_f:

#         write_f.write(line)

#     else:

#         print('write successfull')

# i=0

# while i< 5:

#     print(i)

#     i+=1

#     if i == 3:

#         break

# else:

#     print('------>')

# with open('a.txt','rb') as f:

#     print(f.read().decode('utf-8'))

# with open('c.txt','wb') as f:

#     f.write('哈哈哈'.encode('utf-8'))

# f=open('sb.jpg','r',encoding='utf-8') #文本的方式讀不了二進制文件

# print(f.read())

# with open('sb.jpg','rb') as read_f,\

#         open('sb_alex.jpg','wb') as write_f:

#     data=read_f.read()

#     write_f.write(data)

#不常用的,了解

# with open('a.txt','r',encoding='utf-8') as f:

#     print(f.read(4)) #數字指的是讀的是字符

#

# with open('a.txt','rb') as f:

#     print(f.read(1)) #數字指的是讀的是字符

# with open('a.txt','r',encoding='utf-8') as f:

#     f.seek(3) #seek內指定的數字代表字節

#     print(f.tell()) #當前光標所在的位置

#     print(f.read())

# with open('aa.txt','r+',encoding='utf-8') as f:

#     # f.seek(3) #seek內指定的數字代表字節

#     # print(f.read())

#

#     f.truncate(1)

# with open('b.txt','rb') as f:

# f.read()

# f.seek(3) #默認情況,是以文件起始位置作為開始,往后移動3個bytes

# f.read(1)

# print(f.tell())

# f.seek(2,1) #1 代表以當前光標所在的位置為開始,往后移動2個 bytes

# print(f.tell())

# f.seek(-1,2) #2表以當前光標所在的位置為開始,往后移動2個 bytes

# print(f.tell())

# f.seek(0,2)

# with open('c.txt','r',encoding='utf-8') as f:

#     f.seek(0,2)

#     print('====>',f.read())

# tail -f access.log

函數

'''

沒有函數會有什么問題?

1.無組織無結構,代碼冗余

2.可讀性差

3.無法統一管理且維護成本高

'''

# 在python中函數分兩類:內置函數,自定義函數

#內置函數

# sum

# max

# min

#

# a=len('hello')

# print(a)

#

# b=max([1,2,3])

# print(b)

#自定義函數

# # ******

# # ******

# # ******

# # hello world

# # ******

# # ******

# # ******

函數的參數

#從大的角度去看,函數的參數分兩種:形參(變量名),實參(值)

#定義階段

# def foo(x,y): #x=1,y=2

#     print(x)

#     print(y)

#調用階段

# foo(1,2)

#詳細的區分函數的參數分為五種:

# 位置參數,關鍵字參數,默認參數,可變長參數(*args,**kwargs),命名關鍵字參數

#位置參數

# def foo(x,y,z):#位置形參:必須被傳值的參數

#     print(x,y,z)

#

# # foo(1,2,3)

# foo(1,2,3) #位置實參數:與形參一一對應

#關鍵字參數:key=value

def foo(x,y,z):

print(x,y,z)

# foo(z=3,x=1,y=2)

#關鍵字參數需要注意的問題:

# 1:關鍵字實參必須在位置實參后面

# 2: 不能重復對一個形參數傳值

# foo(1,z=3,y=2) #正確

# foo(x=1,2,z=3) #錯誤

# foo(1,x=1,y=2,z=3)

#默認參數

# def register(name,age,sex='male'): #形參:默認參數

#     print(name,age,sex)

#

# register('asb',age=40)

# register('a1sb',39)

# register('a2sb',30)

# register('a3sb',29)

#

# register('鋼蛋',20,'female')

# register('鋼蛋',sex='female',age=19)

#默認參數需要注意的問題:

#一:默認參數必須跟在非默認參數后

# def register(sex='male',name,age): #在定義階段就會報錯

#     print(name,age,sex)

#(了解)二:默認參數在定義階段就已經賦值了,而且只在定義階段賦值一次

# a=100000000

# def foo(x,y=a):

#     print(x,y)

# a=0

# foo(1)

#三:默認參數的值通常定義成不可變類型

#可變長參數

def foo(x,y,*args): #*會把溢出的按位置定義的實參都接收,以元組的形式賦值給args

print(x,y)

print(args)

#

# foo(1,2,3,4,5)

# def add(*args):

#     res=0

#     for i in args:

#         res+=i

#     return res

# print(add(1,2,3,4))

# print(add(1,2))

# def foo(x, y, **kwargs):  # **會把溢出的按關鍵字定義的實參都接收,以字典的形式賦值給kwargs

#     print(x, y)

#     print(kwargs)

# foo(1,2,a=1,name='egon',age=18)

# def foo(name,age,**kwargs):

#     print(name,age)

#     if 'sex' in kwargs:

#         print(kwargs['sex'])

#     if 'height' in kwargs:

#         print(kwargs['height'])

#

# foo('egon',18,sex='male',height='185')

# foo('egon',18,sex='male')

#命名關鍵字參數(了解)

# def foo(name,age,*,sex='male',height):

#     print(name,age)

#     print(sex)

#     print(height)

# #*后定義的參數為命名關鍵字參數,這類參數,必須被傳值,而且必須以關鍵字實參的形式去傳值

# foo('egon',17,height='185')

# def foo(name,age=10,*args,sex='male',height,**kwargs):

# def foo(name,age=10,*args,sex='male',height,**kwargs):

#     print(name)

#     print(age)

#     print(args)

#     print(sex)

#     print(height)

#     print(kwargs)

#

# foo('alex',1,2,3,4,5,sex='female',height='150',a=1,b=2,c=3)

# def foo(*args):

#     print(args)

# foo(1,2,3,4) # 1,2,3,4 <=====>*(1,2,3,4)

#*['A','B','C','D'],=====>'A','B','C','D'

# foo(*['A','B','C','D']) #foo('A','B','C','D')

# foo(['A','B','C','D']) #

# def foo(x,y,z):

#     print(x,y,z)

#

# # foo(*[1,2,3]) #foo(1,2,3)

# foo(*[1,2]) #foo(1,2)

# def foo(**kwargs):

#     print(kwargs)

#

# #x=1,y=2  <====>**{'y': 2, 'x': 1}

# # foo(x=1,y=2)

#

# foo(**{'y': 2, 'x': 1,'a':1}) #foo(a=1,y=2,x=1)

# def foo(x,y,z):

#     print(x,y,z)

#

# # foo(**{'z':3,'x':1,'y':2}) #foo(x=1,z=3,y=2)

# foo(**{'z':3,'x':1}) #foo(x=1,z=3)

# def foo(x,y,z):

#     print('from foo',x,y,z)

#

# def wrapper(*args,**kwargs):

#     print(args)

#     print(kwargs)

#

#

# wrapper(1,2,3,a=1,b=2)

#

# def foo(x,y,z):

#     print('from foo',x,y,z)

# def wrapper(*args,**kwargs):

#     print(args) #args=(1,2,3)

#     print(kwargs) #kwargs={'a':1,'b':2}

#     foo(*args,**kwargs) #foo(*(1,2,3),**{'a':1,'b':2}) #foo(1,2,3,b=2,a=1)

# # wrapper(1,2,3,a=1,b=2)

# wrapper(1,z=2,y=3)

# def foo(x,y,z):

#     print('from foo',x,y,z)

# def wrapper(*args,**kwargs):

#     # print(args) #args=(1,)

#     # print(kwargs) #kwargs={'y':3,'z':2}

#     foo(*args,**kwargs) #foo(*(1,),**{'y':3,'z':2}) #foo(1,z=2,y=3)

# # wrapper(1,2,3,a=1,b=2)

# wrapper(1,z=2,y=3)

#

#補充:函數定義階段到底干了什么事情:只檢測函數體的語法,并不會執行

# def bar():

#     x

#     if 1 >2:

#           print('====>')

#

# bar()

函數的返回值

# def foo():

#     print('from foo')

#     return None

# res=foo()

# print(res)

'''

以三種情況返回值都為None:

沒有return

return 什么都不寫

return None

'''

# def foo():

#     print('from foo')

#     x=1

#     return x

# res=foo()

# print(res)

#return 一個值  函數調用返回的結果就是這個值

def foo():

print('from foo')

x=1

return 1,[2,3],(4,5),{}

# res=foo()

# print(res) #打印結果:(1,[2,3],(4,5),{})

# a,b,c,d=foo()

# print(d)

#return 值1,值2,值3,...   返回結果:(值1,值2,值3,...)

# t=(1,2,3)

# a,_,_=t

# print(a)

# t=(1,2,3,4,5,6,7,8,9)

# a,*_,c=t

# print(a)

# print(c)

調用函數

def foo():

print('from foo')

def bar(name):

print('bar===>',name)

#按照有參和無參可以將函數調用分兩種

foo() #定義時無參,調用時也無需傳入參數

bar('egon') #定義時有參,調用時也必須有參數

#按照函數的調用形式和出現的位置,分三種

foo() #調用函數的語句形式

def my_max(x,y):

res=x if x >y else y

return res

# res=my_max(1,2)*10000000 #調用函數的表達式形式

# print(res)

res=my_max(my_max(10,20),30) #把函數調用當中另外一個函數的參數

print(res)

自定義函數

#為什么要定義函數?:先定義后使用,如果沒有定義而直接使用,就相當于引用了一個不存在的變量名

# foo()

# def foo():

#     print('from foo')

# print(foo)

#函數的使用包含兩個階段:定義階段和使用階段

# 語法

# def 函數名(參數1,參數2,...):

#     """文檔注釋"""

#     函數體

#     return 值

# x=len('hello')

# print(x)

#定義函數的三種形式

#一:無參數函數:如果函數的功能僅僅只是執行一些操作而已,就定義成無參函數,無參函數通常都有返回值

def print_star():

print('#'*6)

#二:定義有參函數:函數的功能的執行依賴于外部傳入的參數,有參函數通常都有返回值

# def my_max(x,y):

#     res=x if x >y else y

#     return res

# 三元表達式

x=10

y=2

# if x > y:

#     print(x)

# else:

#     print(y)

#

# res=x if x > y else y

# print(res)

#三:空函數

# def auth():

#     """認證功能"""

# auth()

def insert():

"""插入功能"""

def select():

"""查詢功能"""

def delete():

"""刪除功能"""

def update():

"""更新功能"""

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邢台市| 平安县| 永昌县| 桦川县| 新沂市| 鹤庆县| 当涂县| 乌海市| 福贡县| 凌海市| 商水县| 白朗县| 绥棱县| 东方市| 房山区| 平陆县| 襄樊市| 吴堡县| 泸西县| 澎湖县| 镇沅| 海淀区| 阜新| 阿图什市| 和静县| 贵阳市| 政和县| 全南县| 延寿县| 湟源县| 蕉岭县| 木里| 金阳县| 南京市| 湄潭县| 嵊州市| 台北县| 长兴县| 湛江市| 区。| 怀安县|