函数分类:
内置函数
系统自己定义的方法
自定义函数
开发者自己写的能完成某一个功能的代码块
导入模块(第三方模块)
在系统和开发者之外别人完成的能实现某一功能的代码块
示例脚本:
<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>: <module </code><code>'__builtin__'</code> <code>(built</code><code>-</code><code>in</code><code>)>, </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__:<module </code><code>'__builtin__'</code> <code>(built</code><code>-</code><code>in</code><code>)></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>>设计页面分页用该函数,求出商和余数,判断是否加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>>幂运算</code>
##################
<code>len</code><code>() </code><code>-</code><code>-</code><code>-</code><code>>求序列长度</code>
<code>all</code><code>() </code><code>-</code><code>-</code><code>-</code><code>>接收一个序列,判断,如果的值都是真的,那么</code><code>all</code><code>()返回真,否则返回假,可用于判断用户输入是否为空</code>
<code>any</code><code>() </code><code>-</code><code>-</code><code>-</code><code>>跟</code><code>all</code><code>()类似,区别是只要接收的内容中有一个为真,则返回真,否则返回假</code>
#编码转换
<code>chr()----->接收一个字符,根据字符求出该字符在ascii码中的数字表示</code>
<code>ord()----->接收一个数字,根据数字求出该数字在ascii码中表示的字母</code>
#进制转换
<code>hex</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>>十六进制</code>
<code>oct</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>>八进制</code>
<code>bin</code><code>() </code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>>二进制</code>
<code>>>> </code><code>hex</code><code>(</code><code>12</code><code>)</code>
<code>'0xc'</code>
<code>>>> </code><code>oct</code><code>(</code><code>12</code><code>)</code>
<code>'014'</code>
<code>>>> </code><code>bin</code><code>(</code><code>12</code><code>)</code>
<code>'0b1100'</code>
<code>>>></code>
enumerate()------->将传入的列表可以组成字典
<code>>>> 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>>>> </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>>>> </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,如需转载请自行联系原作者