天天看點

内置函數

函數分類:

内置函數

系統自己定義的方法

自定義函數

開發者自己寫的能完成某一個功能的代碼塊

導入子產品(第三方子產品)

在系統和開發者之外别人完成的能實作某一功能的代碼塊

示例腳本:

<code>#vim Built-in function.py</code>

<code>#!/usr/bin/env python</code>

<code># -*- coding:utf-8 -*-</code>

<code>"""該腳本是Python内置函數的測試腳本"""</code>

<code>li </code><code>=</code> <code>[</code><code>13</code><code>,</code><code>22</code><code>,</code><code>6</code><code>,</code><code>99</code><code>,</code><code>11</code><code>]</code>

<code>name </code><code>=</code> <code>'alex'</code>

<code>print</code> <code>vars</code><code>()</code>

#vars()是代表目前子產品的所有變量,print vars()列印所有的變量

輸出結果:

<code>{</code><code>'name'</code><code>: </code><code>'alex'</code><code>, </code><code>'__builtins__'</code><code>: &lt;module </code><code>'__builtin__'</code> <code>(built</code><code>-</code><code>in</code><code>)&gt;, </code><code>'__file__'</code><code>: </code><code>'C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py'</code><code>, </code><code>'__author__'</code><code>: </code><code>'ryan'</code><code>, </code><code>'li'</code><code>: [</code><code>13</code><code>, </code><code>22</code><code>, </code><code>6</code><code>, </code><code>99</code><code>, </code><code>11</code><code>], </code><code>'__name__'</code><code>: </code><code>'__main__'</code><code>, </code><code>'__package__'</code><code>: </code><code>None</code><code>, </code><code>'__doc__'</code><code>: </code><code>None</code><code>}</code>

從圖上可以看到輸出的是一個字典:

<code>name:alex</code>

<code>li: [</code><code>13</code><code>, </code><code>22</code><code>, </code><code>6</code><code>, </code><code>99</code><code>, </code><code>11</code><code>]</code>

是我們自己定義的兩個變量,下面的這些函數都是系統内置的函數,具體功能如下

<code>__builtins__:&lt;module </code><code>'__builtin__'</code> <code>(built</code><code>-</code><code>in</code><code>)&gt;</code>

<code>__file__:C:</code><code>/</code><code>Users</code><code>/</code><code>ryan</code><code>/</code><code>PycharmProjects</code><code>/</code><code>s11day3</code><code>/</code><code>Built</code><code>-</code><code>in</code> <code>function.py</code>

<code>__author__:ryan</code>

<code>__name__:__main__</code>

<code>__package__:</code><code>None</code>

<code>__doc__: </code><code>None</code>

從字典的鍵值對可以發現,

内置函數__file__ 其實是列印運作的腳本本身,即Built-in function.py

内置函數__doc__ 是擷取函數或者檔案解釋的内容,比如我們在檔案開始寫上注釋内容

"""

該腳本是Python内置函數的測試腳本

此時列印__doc__,則可以通過__doc__函數列印出來

C:/Users/ryan/PycharmProjects/s11day3/Built-in function.py

内置函數:__name__ 執行腳本時。腳本中的__name__的值為"__main__",導入子產品到腳本中,子產品中的__name__的值是子產品本身

還是以上面的腳本為例:

<code>import</code>  <code>coll</code>

<code>print</code> <code>coll.__name__</code>

<code>print</code> <code>"###############"</code>

<code>print</code> <code>__name__</code>

輸出結果為:

<code>coll</code>

<code>###############</code>

<code>__main__</code>

可以發現:coll中的__name__内置方法的值等于coll,Built-in function.py中的__name__

等于__main__

即導入子產品中的__name__方法值為子產品名字,被執行腳本中的__name__方法的值為__main__

在寫Python腳本時,一般在結尾會出現如下語句:

<code>if</code> <code>__name </code><code>=</code> <code>"__main__"</code><code>:</code>

<code>    </code><code>函數function()</code>

意思是當直接執行腳本的時候,才會調用該函數,如果用其他方法執行(或者導入到其他檔案中)函數都不會執行函數function()

常用的函數(方法):

#基礎類型級别

<code>help</code><code>()</code>

<code>dir</code><code>()</code>

<code>vars</code><code>()</code>

<code>type</code><code>()</code>

<code>reload</code><code>()</code>

<code>id</code><code>()</code>

<code>is</code>

#計算類别的

<code>cmp</code><code>()</code>

<code>abs</code><code>()</code>

<code>bool</code><code>()</code>

<code>divmod</code><code>()  </code><code>-</code><code>-</code><code>-</code><code>&gt;設計頁面分頁用該函數,求出商和餘數,判斷是否加N</code>

<code>max</code><code>()</code>

<code>min</code><code>()</code>

<code>sum</code><code>()</code>

<code>pow</code><code>() </code><code>-</code><code>-</code><code>-</code><code>&gt;幂運算</code>

##################

<code>len</code><code>() </code><code>-</code><code>-</code><code>-</code><code>&gt;求序列長度</code>

<code>all</code><code>() </code><code>-</code><code>-</code><code>-</code><code>&gt;接收一個序列,判斷,如果的值都是真的,那麼</code><code>all</code><code>()傳回真,否則傳回假,可用于判斷使用者輸入是否為空</code>

<code>any</code><code>() </code><code>-</code><code>-</code><code>-</code><code>&gt;跟</code><code>all</code><code>()類似,差別是隻要接收的内容中有一個為真,則傳回真,否則傳回假</code>

#編碼轉換

<code>chr()-----&gt;接收一個字元,根據字元求出該字元在ascii碼中的數字表示</code>

<code>ord()-----&gt;接收一個數字,根據數字求出該數字在ascii碼中表示的字母</code>

#進制轉換

<code>hex</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>&gt;十六進制</code>

<code>oct</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>&gt;八進制</code>

<code>bin</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>&gt;二進制</code>

<code>&gt;&gt;&gt; </code><code>hex</code><code>(</code><code>12</code><code>)</code>

<code>'0xc'</code>

<code>&gt;&gt;&gt; </code><code>oct</code><code>(</code><code>12</code><code>)</code>

<code>'014'</code>

<code>&gt;&gt;&gt; </code><code>bin</code><code>(</code><code>12</code><code>)</code>

<code>'0b1100'</code>

<code>&gt;&gt;&gt;</code>

enumerate()-------&gt;将傳入的清單可以組成字典

<code>&gt;&gt;&gt; li </code><code>=</code> <code>[</code><code>11</code><code>,</code><code>22</code><code>,</code><code>33</code><code>,</code><code>44</code><code>,</code><code>55</code><code>,</code><code>66</code><code>]</code>

<code>&gt;&gt;&gt; </code><code>for</code> <code>k,v </code><code>in</code> <code>enumerate</code><code>(li):</code>

<code>...    </code><code>print</code> <code>k,v</code>

<code>...</code>

<code>0</code> <code>11</code>

<code>1</code> <code>22</code>

<code>2</code> <code>33</code>

<code>3</code> <code>44</code>

<code>4</code> <code>55</code>

<code>5</code> <code>66</code>

指定數字的起始值,不加1,預設從0開始

<code>&gt;&gt;&gt; </code><code>for</code> <code>k,v </code><code>in</code> <code>enumerate</code><code>(li,</code><code>1</code><code>):</code>

<code>1</code> <code>11</code>

<code>2</code> <code>22</code>

<code>3</code> <code>33</code>

<code>4</code> <code>44</code>

<code>5</code> <code>55</code>

<code>6</code> <code>66</code>

常見的函數相關的方法:

<code>print</code> <code>apply</code><code>(Function,(</code><code>'aaaa'</code><code>))  </code>

<code>#執行函數</code>

<code>print</code> <code>map</code><code>(</code><code>lambda</code> <code>x:x</code><code>+</code><code>1</code><code>,[</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>,]) </code>

<code>#print filter(lambda x:x==1,[1,2,3,4])</code>

<code>#序列</code>

<code>print</code> <code>reduce</code><code>(</code><code>lambda</code> <code>x,y:x</code><code>+</code><code>y,[</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>]) </code>

<code>#累加</code>

<code>print</code> <code>zip</code><code>(x,y,z)</code>

      本文轉自027ryan  51CTO部落格,原文連結:http://blog.51cto.com/ucode/1717648,如需轉載請自行聯系原作者