溫馨提示×

溫馨提示×

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

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

詳解python while 函數(shù)及while和for的區(qū)別

發(fā)布時間:2020-09-16 09:26:43 來源:腳本之家 閱讀:225 作者:安徒生日記 欄目:開發(fā)技術(shù)

1.while循環(huán)(只有在條件表達式成立的時候才會進入while循環(huán))

while 條件表達式:
  pass

while 條件表達式:
  pass
else:
  pass

不知道循環(huán)次數(shù),但確定循環(huán)條件的時候用while

# 如果說年利率是6%,存入1000到第幾年本錢翻倍 
 money = 10000
 year = 0
 while money < 20000:
   money = money*(1+0.06)
   year += 1
 print('第 {0} 年本錢翻倍了,總共有 {1} 元'.format(year,money))

1.函數(shù) :一個函數(shù)實現(xiàn)一個功能

規(guī)則:def  函數(shù)名([形參]):
          pass
命名規(guī)則:注意不要使用大駝峰,默認小駝峰,大駝峰命名只用于類的命名

  1.函數(shù)的參數(shù)與返回值        返回值:函數(shù)執(zhí)行的結(jié)果1.函數(shù)參數(shù)的定義與使用

def hello(name):
  print("你好嗎,{}".format(name))
  return "函數(shù)中止執(zhí)行,后面不管有多少句代碼都不會被執(zhí)行"
  print("這句話不會被執(zhí)行")
person = 'Tom'
hello(person)
rst = hello("John") #函數(shù)也可以這么調(diào)用,如果有返回值會將返回值賦值給變量

函數(shù)的返回值

  表示函數(shù)執(zhí)行的結(jié)果,如果函數(shù)中沒有return系統(tǒng)自動返回None,函數(shù)一旦執(zhí)行return語句,則無條件返回,意味著return下面的語句將不再執(zhí)行,只要遇到return,函數(shù)自動中止執(zhí)行。
參數(shù)詳解:普通參數(shù) 默認參數(shù) 收集參數(shù) 關(guān)鍵字參數(shù)
  - 普通參數(shù):定義的時候直接定義變量名,平時用的最多的參數(shù)
                  def 函數(shù)名(參數(shù)1, 參數(shù)2, ....):
              調(diào)用: 函數(shù)名(參數(shù)1, 參數(shù)2, ...)
  - 默認參數(shù): 函數(shù)中默認給定義好的參數(shù),參數(shù)有默認值
                  def 函數(shù)名(value1, canshu = value2):  其中的canshu = value2 就是默認參數(shù),典型的例子就是 print(value1, value2, ...,sep=" ", end= '\n',..)

   調(diào)用的時候,如果沒有特殊要求 ,默認參數(shù)可以不用進行傳值

def hello(name, gender = 'boy'):
  if gender = 'boy':
    print("welcome,{0},you are a good {1}".format(name, gender))
  else:
    print("welcome,{0},you are a good {1}".format(name, gender))
hello('Tom')
hello('Siri', 'girl')

 - 關(guān)鍵字參數(shù):注意與默認參數(shù)區(qū)分,好處就是實參與形參位置可以不用一一對應(yīng)
        def fun(p1=v1, p2=v2, ...):
            pass
       fun(p1=value1, p2=value2, ....)

def student(name=None, age=None, gender=None):
  print("我是一個學生,我的名字是 {0}, 我今年 {1} 歲, 我是個 {3}生")
name = 'Tom'
age = 12
gender = '男'
student(age=age, gender=gender, name=name)

           - 收集參數(shù):
               把沒有位置,不能和定義時的參數(shù)位置相對應(yīng)的參數(shù),放入一個特定的數(shù)據(jù)結(jié)構(gòu)中
               def fun(*args):
                 pass
              調(diào)用:fun(p1, p2, p3, ...)
            參數(shù)名可以不用 args,但推薦這么用,約定俗成. 注意前面的 " * " 不能省略, 調(diào)用的時候可以不傳入?yún)?shù)值
            收集參數(shù)傳參的時候不能直接傳入關(guān)鍵字參數(shù),例如 fun(name='Tom'Z)
def stu( *args ):
  print("大家好, 簡單自我介紹一下:")
  for i in args:
    print(i, end='=>')
stu("小明", 18, "山東省")
stu('小紅')

        - 收集參數(shù)之關(guān)鍵字收集參數(shù)
            把關(guān)鍵字參數(shù)以字典的形式放入收集參數(shù), 訪問kwargs需要用訪問字典的方式
                def fun( **kwargs ):
                  pass
             #調(diào)用
              fun(p1=v1, p2=v2, ....)          

2.各種類型參數(shù)混合使用的順序問題:

 使用的規(guī)則一般是:普通參數(shù) 關(guān)鍵字參數(shù)優(yōu)先 

定義的時候一般找普通參數(shù) , 收集參數(shù)(args),關(guān)鍵字參數(shù), 收集參數(shù)(kwargs)

def stu(name, age, *args, hobby='沒有', **kwargs):
  print('大家好')
  print("我叫 {0}, 我今年 {1} 大了.".format(name, age))
  if hobby == '沒有':
    print('我沒有愛好')
  else:
    print("我的愛好是{0}".format(hobby))
  for i in args:
    print(i)
  for k, v in kwargs.items():
    print(k, ' ------', v)
name = 'tom'
age = 19
stu(name, age, '王曉靜', '小紅', hobby='sing', addr='beijing', phone='123213')

def stu(**kwargs):
    print(大家好,我先自我介紹一下)
    # 對于字典的訪問,Python2 與 Python3 有區(qū)別
    for k,v in kwargs.items():
      print(k,'--------', v)
stu(name='wangxiaojjing', age=10, addr='北京')  
收集參數(shù)的解包問題(unpack)
 - 把參數(shù)放入list或者dict中,直接把list/dict中的值放入收集參數(shù)中
 def stu(*args):
   for i in args:
    print(i)
 l = list()
 l.append('aafd') # 在列表的最后插入值
 l.append(1321)
 stu(l) # 打印的結(jié)果是['aafd', 1321] 不是理想中的結(jié)果
 stu(*l) # 解包符號 * 加上以后就是理想中的結(jié)果
對于dict類型的收集參數(shù)一樣可以解包,但是需要加兩個 *,
## 返回值
函數(shù)和過程的區(qū)別就是: 有無返回值,如果函數(shù)中沒有顯式返回值,即return value 則默認返回None
例如:
 def func1():
  print('aaa')
  return 1
def func2():
  print('a')
f1 = func1() # 結(jié)果是 1
f2 = func2() # 結(jié)果是 None
建議所有的函數(shù)不管有沒有返回值在最后都加上一個return 
# 函數(shù)文檔
 - 用來解釋函數(shù)的作用以及利用方式
- 文檔的寫法: 
 在函數(shù)內(nèi)部開始的第一行使用三引號括起來
 一般具有特定格式
 例如
   def stu(name, age):
      '''這是
       文檔
      '''
      print(name, age)
      return None
 - 查看文檔的方式: 使用help(函數(shù)名)
         使用 函數(shù)名._doc_ 

下面看下Python中while和for的區(qū)別

在c、c++、Java、C#等語言中,while和for的用法是基本一致的,但是在Python中,這兩個循環(huán)還是存在一定的差別的

當遍歷序列或數(shù)組時, 只能用for,while用來遍歷會出現(xiàn)死循環(huán)

詳解python while 函數(shù)及while和for的區(qū)別

總結(jié)

以上所述是小編給大家介紹的python while 函數(shù)及while和for的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

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

AI