日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python学习笔记三一 函数学习

發布時間:2024/9/15 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python学习笔记三一 函数学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數學習

range函數
?生成有序的序列
?生成數字隊列可以定制

# range函數案例1 # 生成一個從1到10的數字序列 # range的生成序列的兩個面數字是左包括,右不包括(如下所示只包括1不包括10) dig_list = range (1,10) for dig in dig_list:print (dig)

1
2
3
4
5
6
7
8
9

#range案例2 #打印1到9的數字序列 for dig in range (1,10):print (dig)

1
2
3
4
5
6
7
8
9

函數
?函數是代碼的一種組織形式
?函數能完成一項特地的工作,一般 一個函數值完成一項工作
?有些語言中,分兩個概念 :函數和過程 ,有返回結果的叫函數,無返回結果的叫做過程,在python中不加以區分
?函數的使用:
?函數需要提前定義
?使用函數,俗稱 調用

?定義一個函數
?只是定義函數的話是不會被執行的,只有調用時才執行
?1,def關鍵字,后跟一個空格
?2,函數名字,自己定義,起名需要遵循便令命名規則,約定俗稱,大駝峰命名只給類用
?3,后面括號和冒號不能省略,括號內可以由參數
?4,函數內所有代碼縮進

參數

str

list,tupe,set,map

#定義函數案例 #def 空格 括號 def hanshu1():print ("在同一個縮進內的才是函數內容")print("我是一個函數") print ("因為不在一個縮進內所以不是函數")

因為不在一個縮進內所以不是函數

#函數的調用 #直接寫出函數的名字,后面的小括號不能省略,括號內的內容根據情況(定義函數時是否輸入東西就是參數) hanshu1()

在同一個縮進內的才是函數內容
我是一個函數

函數的參數和返回值
?參數:負責給函數傳遞一些必要的數據或者信息?形參(形式參數):在函數定義的時候用到的參數,沒有具體值,只是一個占位符好
?實參(實際參數):在調用函數的時候輸入的值

?返回值; 調用函數的時候的一個執行結果?使用 return 返回結果
?如果沒有值需要返回,推薦使用 return None 表示函數結束
?函數一旦執行return,則函數立即結束
?如果函數沒有return 關鍵字,則返回默認的None

# 形參和實參 #參數una只是一個符號 #調用得時候用另一個 def hanshu2 (una):print ("{},你在干嘛啊?".format(una))print ("{},我很想你。".format(una))u = "雨" #調用函數,需要把u作為實參傳入hanshu2(u)

雨,你在干嘛啊?
雨,我很想你。

a = "雨雨" hanshu2(a)

雨雨,你在干嘛啊?
雨雨,我很想你。

#返回 def hello (una):print ("{0},你在干嘛啊?".format(una))print ("{},我很想你。".format(una))return Noneu = "雨雨" #調用函數,需要把u作為實參傳入 hello(u)

雨雨,你在干嘛啊?
雨雨,我很想你。

u = hello("小雨") print (u)

小雨,你在干嘛啊?
小雨,我很想你。
None

# help 負責隨時為你提供幫助 help (print)

Help on built-in function print in module builtins:

print(…)
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. #使用函數打印九九乘法表 def jiujiu():for o in range (1,10):#控制外循環,從1到9for i in range (1,o + 1):#內循環,每次從第一個數字開始,打印到跟行數相同的數量print (o * i,end=" ") #行是o 列是iprint ()return None jiujiu() jiujiu()

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

#函數嵌套使用 def printline(line_num):'''line_num:代表行號'''for i in range(1, line_num + 1):print (line_num * i,end = " ")print ()def jiujiu():for o in range (1,10):printline(o)return None jiujiu()

1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81

參數詳解
?參數分類
?普通參數/位置參數
?默認參數
?關鍵字參數
?收集參數

# 普通參數案例 def a(A,B,C,D):print (A + C)return None a(1,2,3,4) #----------------------------------def a(A,B,C,D):print (A + C)return None a2(1,2,3,)#普通參數也叫位置參數因下面參數和上面未對應上所以報錯

4


NameError Traceback (most recent call last)
in
9 print (A + C)
10 return None
—> 11 a2(1,2,3,)#普通參數也叫位置參數因下面參數和上面未對應上所以報錯
12

NameError: name ‘a2’ is not defined

# 默認參數案例 def default_para(A,B,C=100):print (A + B)print (C)#c就是默認參數return None default_para(100,200)

300
100

# 關鍵字參數案例 def keys_para(A,B,C):print (A + B)print (C)return None keys_para(A=1,B=2,C=10) keys_para(C=10,B=2,A=1)#調用參數沒有順序的影響

3
10
3
10

STR字符串
?str
?轉義字符
?格式化
?內建函數

字符串
?表示文字信息
?用單引號,雙引號,三引號括起來

s = "i love una" print (s)

i love una

轉義字符
?用一個特色的方法表示出一系列不方便寫出的內容,比如回車鍵,換行符,退格鍵等
?借助反斜杠字符,一旦字符串中出現反斜杠,則反斜杠后面一個或者幾個字符表示已經不是原來的意思了,進行了轉義
?在字符串中,一旦出現反斜杠就要加倍小心,可能有轉義字符出現
?不同系統對 換行操作有不同的表示
?windows: \n
?linux: \r\n

#轉義字符案例1 #想表達 Let's Go #使用轉義字符 a = 'Let\'s Go' print (a)# 使用單雙引號嵌套 b = "Let's Go" print (b)#表示斜杠\ #比如 表示: C:\etc\mnt c = "C:\\etc\\mnt" print (c)#回車換行 #效果如下: # I # love # una d = "\n I \n love \n una" print (d) #windows下 \r\n效果一樣 d = "I \r\nlove\r\nuna" print (d)

Let’s Go
Let’s Go
C:\etc\mnt

I
love
una
I
love
una

?轉義字符:\ (反斜杠-可以打印出一個反斜杠)

?轉義字符:’ (單引號-可以打印出一個單引號)

?轉義字符:" (雙引號-可以打印出一個雙引號)

?轉義字符:\a (響鈴-用于觸發系統蜂鳴器)

?轉義字符:\n (換行符-將光標移動到下一行的開頭)

?轉義字符:\t (水平制表符-將光標向右移動一個制表符位)

格式化
?把字符串按照一定格式打印出來或者填充
?格式化分類?傳統格式化
?format

# 填充 a = "i love una" print (a) a = "i love yangyu" print (a) a = "i love yuyu" print (a)

i love una
i love yangyu
i love yuyu

字符串的傳統格式化方法
?使用%進行格式化
?%(百分號)也叫占位符?%s:字符串?%r :字符串,但是是使用repr而不是str
?%c : 整數轉換為單個字符
?%d : 十進制整數
?%u : 無符號整數
?%o : 表示八進制
?%x : 十六進制,字母為小寫(x為小寫)
?%X : 十六進制,字母為小寫(X為小寫)
?%e : 浮點數(e為小寫),例如2.87e+12
?%E : 浮點數(E為小寫),例如2.87E+12
?%f,%F : 浮點數十進制形式
?%g,%G : 十進制形式浮點數或者指數浮點數自動轉換
?格式符前邊出現"-“表示左對齊
?格式符前邊出現”+"表示右對齊
?0位數不足用”0“補齊
?width表示寬度
?pricision 精度

# %s 表示簡單得字符串 # 占位符可以單獨使用 s = "i love %s" print (s)s = "i love %s" print (s%"una")#想用某個東西替換占位符 print (s%"小雨")

i love %s
i love una
i love 小雨

print("i love %s"%"雨雨") #占位符一般只能被同類型替換,或者替換類型能被轉換成占位符的類型 print("i love %s"%520)

i love 雨雨
i love 520

a = "gemoumou同學現在%d斤了,感覺瘦了不少" print (a%120) #以下打印會出錯 print (a%"120")

gemoumou同學現在120斤了,感覺瘦了不少


TypeError Traceback (most recent call last)
in
2 print (a%120)
3 #以下打印會出錯
----> 4 print (a%“120”)

TypeError: %d format: a number is required, not str

b = "i am %fKG weight,%fM height" print (b) #如果需要格式化的信息多個,則用括號括起來 print (b%(60,175))#實際需要進行格式化的信息數量必須與百分號后面的出的數據量匹配,否則報錯 # 如下面例子,實際需要格式化的為4個地方,但是給出的數據為三個,則報錯 b = "i am %.2fKG weight,%.2fM height" #%.2的意思就是小數點后面幾位的意思 print (b%(60,175))

i am %fKG weight,%fM height
i am 60.000000KG weight,175.000000M height
i am 60.00KG weight,175.00M height

format格式化
?使用函數形式進行格式化,代替以前的百分號

#不用指定位置,按順序讀取 #方式1 s = "{} {}!" print (s.format("hello","una")) #方式2 s = "{} {}!".format("hello","una") print (s) #設置指定位置 s = "{0} {1}".format("hello","una") print (s)s = "{1} {1}".format("hello","una") print (s)s = "i love {1} and {0} i love me".format("雨雨","una") print (s)#使用命名參數 s = "我是{name1},我最喜歡{name2}" s = s.format(name1 = "gpc",name2 = "una") print (s)

hello una!
hello una!
hello una
una una
i love una and 雨雨 i love me
我是gpc,我最喜歡una

#通過字典設置參數,需要解包 s = "我是{a1},我最喜歡{a2},我們要{a3}" s_zidian = {"a1":"gpc",\"a2":"una",\"a3":"幸福一輩子"} s = s.format(**s_zidian) print (s)

我是gpc,我最喜歡una,我們要幸福一輩子

#對數字的格式化需要用到 s = "gpc is {:.2f}m heigh,{:.2f}kg weight" print (s.format(1.73, 60.00)) #使用大括號{}來轉移大括號 s = "format 函數是使用{}來進行占位" print (s)

gpc is 1.73m heigh,60.00kg weight
format 函數是使用{}來進行占位

str 內置函數
?很多語言字符串使用 string表示,但是python中用str表示字符串
?字符串查找類, find index,islower
?find :查找字符串中是否包含一個子串
?index : 跟find的唯一區別是index如果找不到會異常報錯
?rfind ,lfind : 從左開始查找或者從右開始查找

help (str.find)

Help on method_descriptor:

find(…)
S.find(sub[, start[, end]]) -> int

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. Optional arguments start and end are interpreted as in slice notation.Return -1 on failure. a = "ge peng cheng love yang yu" # 返回第一次發現這個字符串的位置 s1 = "yang yu" s.find (s1) #返回-1表示沒找到 s2 = "una" s.find (s2)

-1

s.index (s1)

19

#index 會報錯或者引發異常 s.index (s2)

ValueError Traceback (most recent call last)
in
----> 1 s.index (s2)

ValueError: substring not found

#使用的時候可以使用區間 a = "ge peng cheng love yang yu and yu yu" s1 = "yu" #從下表20開始查找,看能否找到 a.find (s1,24)

24
判斷類函數

?此類函數的特點一般使用is開頭,比如 islower

?isalpha:判斷是否是字母,需要注意兩點:
?此函數默認的前提是字符串至少包含一個字符,如果沒有,同樣返回false
?漢字被認為是 alpha,所以此函數不能作為區分英語字母還是漢字表示,區分中英文請使用unicode碼
?注意使用區別,防止被坑

?isdigit,isnumeric,isdecimal 三個判斷數字的函數
?此類函數不建議使用,在后期爬蟲中,判斷是否是數字采用正則表達式的方式

# 以下三個都不是,因為有除了字母以外的空格等 s1 = "我對著天空發誓,gpc深深愛著yy" s2 = "bengboerba is friend of baboerbeng" s3 = "www.gpc.com is the 1.txt" print (s1.isalpha()) print (s2.isalpha()) print (s3.isalpha())

False
False
False

aa = "一二三四" print (aa.isdigit()) print (aa.isnumeric()) print (aa.isdecimal())

False
True
False

內容判斷類
?startswith/endswith : 是否以xxx開頭或者結尾
?檢測某個字符串是否以某個子串開頭,常用三個參數
?suffix:被檢查的字符串,必須有
?start : 檢查范圍的開始
?end : 檢查范圍的結尾

?isupper/slower:判斷字符串是否是大寫或者小寫

gpc = "ge peng cheng" yy = "yang yu" l = "ge peng cheng love yang yu"print (gpc.startswith(gpc)) print (yy.endswith(yy))

True
True

#判斷下列字符中是否全是小寫 # s1 s2 包含空格,但空格不影響結果 s1 = "ge peng cheng love yang yu" s2 = "Ge Peng Cheng love Yang Yu" s3 = "gepengchengloveyangyu" s4 = "葛愛楊" print (s1.islower()) print (s2.islower()) print (s3.islower()) #漢字字符串中無大小寫區分 print (s4.islower()) print (s4.isupper())

True
False
True
False
False

操作類函數
?format : 格式化用的
?strip : 用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。?lstrip rstrip

?join : 對字符串進行拼接(是吧可迭代的字符串拼接在一起,中間使用調用字符串作為分隔符)

l = " ge peng cheng love yang yu " # strip 刪除末尾空格或者換行符 print (l.strip()) print (l) #join案例 s1 = "!!!!!" s2 = "________" s3 = " " ss= ["ge pengcheng","yangyu","una","gpc"] print (s1.join(ss)) print (s2.join(ss)) print (s3.join(ss))

ge pengcheng!!!yangyu!!!una!!!gpc
ge pengcheng________yangyu________una________gpc
ge pengcheng yangyu una gpc

總結

以上是生活随笔為你收集整理的python学习笔记三一 函数学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品一区免费观看 | 在线人成 | 超碰综合在线 | fc2成人免费视频 | 人人澡人人澡人人 | 操色网| 中文字幕一区二区久久人妻网站 | 国产情侣自拍av | 男人的天堂在线视频 | 欧美日韩激情在线一区二区三区 | 国产成人视屏 | 亚洲伊人网站 | 午夜免费| 天天干天天做天天操 | 亚洲午夜伦理 | 外国黄色录像 | 午夜天堂影院 | 番号动态图 | 亚洲综合成人亚洲 | 成人在线不卡视频 | 久久久久亚洲av片无码 | 成年人av网站 | 91在线观看免费高清完整版在线观看 | 超碰个人在线 | 激情五月婷婷久久 | 成人精品福利 | 成人午夜精品福利免费 | 成人免费网站www网站高清 | 高潮一区二区 | www.亚洲 | 欧美黄大片 | 日韩a在线播放 | 伊人91在线| 女人18毛片水真多 | 日韩一区二区三区中文字幕 | 一区二区美女 | 欧美日韩一区二区三区在线电影 | 97超碰伊人 | 久久精品一二区 | 亚洲无码精品在线观看 | 日韩精品第三页 | 亚洲精品国产一区二区 | 特黄特色大片免费播放器使用方法 | 久久久精品一区 | 精东影业一区二区三区 | 欧美亚洲少妇 | 久久综合激的五月天 | 天天摸夜夜 | 日韩va在线观看 | 特级黄色片 | 国产精品婷婷午夜在线观看 | 成年人视频在线免费观看 | 国产乱国产乱老熟 | 成人音影| 精品人妻一区二区三区四区久久 | 狠狠爱天天干 | 黄色美女片 | 国产高潮视频在线观看 | 欧美毛片基地 | 69av视频在线观看 | 越南黄色一级片 | 激情av在线 | 人操人| 日韩欧美在线免费 | 中文字幕影院 | 欧美少妇精品 | 欧美日本不卡 | 亚洲激情视频小说 | 久草国产在线观看 | 久免费一级suv好看的国产 | 成人在线视频一区二区三区 | 少妇无码av无码专区在线观看 | 国内视频精品 | 久久无码人妻一区二区三区 | 中文字幕欧美人妻精品一区蜜臀 | 青在线视频 | 极品色av | 耳光调教vk | 国产麻豆电影在线观看 | 黄色av网站在线播放 | 色噜| 国产亚洲视频在线观看 | 国产视频首页 | av网站在线观看免费 | 五月天婷婷爱 | 亚洲成人福利视频 | 91操视频 | 操白虎逼 | 亚洲欧美一区二区三区情侣bbw | 熟女俱乐部五十路六十路av | 日韩一区二区三区av | 中文字幕综合 | 夜晚福利视频 | 黑人黄色大片 | 在线观看免费黄色小视频 | 日本成人久久 | 在线免费观看一区二区三区 | 亚洲高清色图 | 中文字幕人妻色偷偷久久 |