python中函數的運用(1)

2020-12-03 騰訊網

世界一切皆函數!

提到函數,定義我們就不說了。

大白話就是提供某個功能的黑盒子。

你提供一個數值,或者一個字符串,或者提供一個功能,或者子函數,然後函數輸出一個變量或者其他應該輸出的內容

我們先從最簡單的開始,就先計算加,減,乘,除中的一個。

我們先來計算加法。

比如我們計算1.5+2。

那麼我們就先定義a =1.5 和 b=2。

有的人說,為何每次都是a,b,或者x,y行不行,也都可以,你定義一個xx 和yy都是可以的。

其實我們就是先定義一個加法計算的通用公式,比如a+b,這就是加法描述的一般形式,然後,這裡面需要2個未知數,

那麼我們傳入2個數據就可以了。

本質都是變量 = 數值。

這個變量的話,只要符合python的變量定義規則就可以了。

好了,我們現在寫出代碼

就是

a = 1.5

b = 2

a+b

直接執行就可以了。

但是我們能不能簡化呢

就是打包成一個函數。

那就是

def add(x,y):

return(x+y)

在這裡就牽扯了幾個問題,

第一個是如何定義?

第二個是如何使用?

我們剛才已經解決了定義問題,

現在就來解決使用問題。

我們在命令提示符後面直接輸入。

add(1.5,2)

然後回車,

***********************

>>> def add(x,y):

... return(x+y)

...

>>> add(1.5,2)

3.5

>>>

*********************

那麼能不能把這個加法存成一個文件,然後需要的時候給我們調用呢?

答案是可以的。

首先把加法功能寫在一個文件裡面,

def add(x,y):

return(x+y)

寫好存成add.py

然後我們再建立另一個新文件,名字叫做cal.py裡面,需要導入上面製作的內部有加法功能的文件。

import add

add.add(1.5,2)

執行一下,

這裡面容易犯的錯誤是:

函數定義錯誤

第一個的代碼和第二個沒有配合好

我們在做這些的時候,如果第一個函數沒有定義好,比如第一行後面沒有冒號,那麼在第二個文件裡面執行的時候,是不能成功的。

還有,如果第一個文件中是return(x+y)

然後第二個文件中輸出的代碼是 add.add(1.5,2)

執行的時候,也是沒有直接結果的。其實系統已經計算好了結果,只是我們沒有print

所以,我們第2個裡面需要寫print(add.add(1.5,2))

如果第一個文件文件中寫成print(x+y)

然後第二個文件中就可以寫成add.add(x+y)

學到這裡,我們需要學習一下如何交換兩個數據的函數。

我這裡給出第二個文件,大家可以嘗試寫出第一個文件。

這裡是直接執行了2個數據的加法。

如果加上動態鍵盤輸入。

那就完美了。

我們修改下代碼,把固定的數值改為動態輸入就可以了

動態輸入命令是input,然後如果不加限定,輸入的將是字符串,如果我們需要計算整數,那麼int(input()).如果需要計算浮點數,那麼float.

我們使用float(input())

import add

add.add(float(input(),float(input())))

然後如果你想更人性化一些,就是輸入的時候程序有提示,

那就改為

print(add.add((float(input('please enter your first number '))),float(input('please enter your second number'))))

看起來好複雜,頭大。

執行以下,輸入1.5後回車,然後繼續輸入2.5後回車。

其實最簡單的就是

a = float(input())

b= float(input())

add.add(a,b)

其實這樣看起來最清晰。

然後需要加入提示的話,就是'請輸入第一個數據,比如2或者3.5或者-1.5這樣'

場面就越搞越大,軟體迭代的思想也會慢慢的理解,沒有最複雜,只有更複雜。所以。要學會最基本的,這樣你才可能舉一反三。真正的把這把劍舞起來。

相關焦點

  • python隨機函數random分配應用,隨機分配8名老師到3個教室中
    羽憶教程最近遇到一個問題,要隨機分配8名老師到3個辦公室中,這時小編想要了python中的隨機函數random來進行分配工作,感覺小編像個月老一樣。python隨機函數python隨機函數在python中,想要生成隨機數
  • Python生成器函數概述:運用實例分解說明機制
    2001年,「PEP 255 — Simple Generators」(https://www.python.org/dev/peps/pep-0255/)介紹了生成器,提出動機是對惰性計算更加直接的表達:當一個生產函數遇到需要保持在產出值之間的狀態,面對這一難題,很多程序語言無法提供令人滿意的有效解決方案……機制Python生成器函數是一個很強大的概念
  • python高階函數:map、filter、reduce的替代品
    什麼是高階函數?高階函數是一種將函數作為參數,或者把函數作為結果返回的函數,map函數、sorted函數就是高階函數的典型例子。map函數在小編以前的文章中做過相應的知識分享。sorted函數是python的內置函數,它的可選參數key用於提供一個函數,它可以將函數應用到各個元素上進行排序。
  • python:pop函數詳解 - 二進位01
    pop函數詳解今天我為大家講解python中pop函數的使用。#簡介——pop()函數是python解釋器的內置方法,可作用於列表,字典。用法說明——在builtins.py中找到pop函數。列表:L.pop([index]) -> item -- remove and return item at index (default last).
  • python的內置函數:int()轉換成整型
    前言在Java中有強制類型轉換,我們可以利用Integer.parseInt()將一個對象轉換成int類型。在python中是利用內置函數int()來將一個對象轉換成整型。python的內置函數int的使用1.內置函數int()語法classint(x,base=10),其中x為一個字符串或數字,base來表示x是以什麼進位的數據來表示的。x數字參數可以是整數、浮點數(小數點表示和指數e表示皆可), 字符串參數僅能包含在指定進位下所涵蓋的字符,該參數可省略。
  • Python基礎教程(一) - 函數和函數式編程
    什麼是函數函數是對程序邏輯進行結構化或過程化的一種編程方法。能將整塊代碼巧妙地隔離成易於管理的小塊,把重複的代碼放在函數中而不是進行大量的copy。前面使用過很多print()來進行列印,這是python提供的內建函數,你也可以自己創建函數,這叫做用戶自定義函數。創建函數你可以定義一個由自己想要功能的函數,用def語句來創建,標題行由def關鍵字,函數的名字,以及參數的集合(如果有的話)組成。
  • python基礎課程 第5章 奇妙的內建函數
    今天我們來講講 python 的常用內建函數,以便於大家在日常編程過程中遇到類似的場景可以直接拿來使用,不用再重複自己了。python 內建函數(python自帶的函數) 數量加起來大概有70多個,今天我們主要講常用的一些,至於更多的內容可以在以後的基礎教程裡慢慢學到。
  • Excel中IF函數的多種運用
    今天為大家分享的是IF函數的多種運用IF函數中有三個參數IF(A,B,C) A:表達式,B:表達式正確返回的結果,C:表達式錯誤返回的結果)通過舉例的方式來為大家解釋這三個函數的意思。1、例如:工齡3年及3年以上的員工,補貼300元。
  • Python每天一分鐘:lambda表達式 (匿名函數)及用法詳解
    lambda表達式介紹python中有一種靈活,便捷的且具有函數功能的表達式:lambda表達式!,它可以在程序中被傳遞和調用。一個lambda表達式範例本例中使用了多種python的小技巧,包括python推導式,map函數,lambda表達式等。
  • python入門基礎之lambda匿名函數詳解
    python入門基礎之lambda匿名函數詳解剛開始學習python的時候很多人可能對於lambda函數不了解,感覺和def很混亂,下面我來介紹一下lambda函數我從一下幾個方面來介紹lambda:lambda作為一個表達式,定義了一個匿名函數,上例的代碼x,y為入口參數,x+y為函數體。在這裡lambda簡化了函數定義的書寫形式。python允許用lambda關鍵字創造匿名函數。匿名是不需要以標準的方式來聲明,比如說使用 def 語句。(除非賦值給一個局部變量,這樣的對象也不會在任何的名字空間內創建名字,上面的例子中會創建名字。)
  • python動態添加類對象成員:變量、函數
    :C++類新增成員然而在python中給類對象新增變量或者方法並不需要對原始類定義進行重新修改pythonyu'yan那麼下面就以下圖中的代碼為例,為大家演示如何給python中的類對象動態的添加變量給類對象動態添加方法/函數注意:初學者在理解以下內容之前,需清楚python類中 self 參數的含義和作用,可自行搜索查閱:Python中self的用法!
  • Python數據類型串講(中)
    1、序列1.1 序列簡介所謂序列,即元素的有序排列。序列中每個位置的元素都有其對應的唯一編號,也就是說我們可以通過元素的位置標識,去搜索到該元素。python中的內建序列有6種:列表、元祖、字符串、Unicode字符串、xrange對象、buffer對象,其中列表和元祖是最常見的序列,應重點掌握。
  • python測試函數模塊unittest
    1.測試函數在編寫完代碼後進行對代碼測試是否有錯誤2.pytho標準庫中的模塊unittest為代碼測試工具例如:name_function.py 模塊名def get_formatted_name(first, last): full_name = first + ' ' + last
  • 利用python計算函數與x軸之間的面積
    本文要實現一個簡單的功能,在直角坐標系中,求解任意一個函數與x軸之間構成的面積。方案一直接上代碼:運行的結果為:分析代碼,首先我們需要引入python的標準庫math,因為後續的圓周率pi以及函數abs和sin等都需要該模塊的支持。代碼中的n表示x坐標軸被分為了多少份,可以理解為計算結果的精度,當n越大時,計算結果越大。
  • Python學習第40課-Lambda表達式創建匿名函數
    【每天幾分鐘,從零入門python編程的世界!】之前我們學習了使用def關鍵字來創建自定義函數,這種方式創建的函數都是有函數名的,我們也可以創建沒有函數名的函數,這種函數叫做匿名函數。Python中可以使用Lambda表達式來創建匿名函數。
  • Python3中的生成器函數
    Python中對延遲提供了友好的支持:即它提供了在需要的時候才產生結果的工具,而不是立即產生結果。下面介紹的函數生成器就是這種工具之一。 # 常規函數def func1(): print('hello ') return 'ixusy88' ret = func1()print(ret) '''結果:hello ixusy88''' print("*"*30)# 生成器函數,把常規函數中的return替換為yielddef func2(): print('hello ') yield 'ixusy88
  • 寫Python 代碼不可不知的函數式編程技術
    頭等函數在 Python 中,函數是「頭等公民」(first-class)。也就是說,函數與其他數據類型(如 int)處於平等地位。因而,我們可以將函數賦值給變量,也可以將其作為參數傳入其他函數,將它們存儲在其他數據結構(如 dicts)中,並將它們作為其他函數的返回值。
  • 靈活運用python實現英制單位英寸與公制單位釐米互換
    python能實現的東西有很多,其中就有運用python來實現英制單位英寸與公制單位釐米互換,那麼具體應用怎麼換算呢?下面羽憶教程網為你提供運用python實現英制單位英寸與公制單位釐米互換的教程。已知1英寸等於2.54釐米,所以下面開始用python來完成運算。以下是python的源碼:#!
  • python教程之python數學運算
    ) #列印兩數相除有理數python中進行分數(fraction)運算分數運算是python中的一個模塊(module)。模塊是由別人寫的,並且可以被拿來直接使用的代碼程序,包括類、函數以及標籤的定義,是python標準函數庫的一部分。使用是必須先插入模塊。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    Mov 1-2在線編譯工具weblde使用之指南.mov 2-1如何在列表,字典,集合中根據條件.MOV 2-2 3 4命名 統計 字典.mov 2-5公共鍵.mov 2-6 如何讓字典保持有序.mov 2-7歷史記錄.mov 3-1 2迭代器.mov 3-3如何使用生成器函數實現迭代對象