天天看点

第八节:python函数

python个人笔记,方便查询,与侵权无关。

<code>函数的定义:</code>

<code>def</code> <code>test():</code>

<code>    </code><code>print</code> <code>"hello world!"</code>

<code>test()     </code><code>#调用上面的test函数</code>

<code> </code> 

<code>定义一个参数为name的函数:</code>

<code>def</code> <code>mingzi(name):</code>

<code>    </code><code>print</code> <code>"hello %s,how old are you?"</code><code>%</code><code>name</code>

<code>mingzi(</code><code>'darren'</code><code>)         </code><code>#调用定义的函数</code>

<code>定义两个参数的函数:</code>

<code>def</code> <code>info(name,age):</code>

<code>    </code><code>print</code> <code>"%s,%s"</code><code>%</code><code>(name,age)</code>

<code>info(</code><code>'darren'</code><code>,</code><code>'23'</code><code>)         </code><code>#调用两个参数的函数</code>

<code>给函数添加一个帮助文档:</code>

<code>    </code><code>'this is a help doc!'</code>

<code>n</code><code>=</code><code>"darren"</code>

<code>mingzi(n)     </code><code>#也可以先赋值再调用函数</code>

<code>&gt;&gt;&gt;</code><code>import</code> <code>tab</code>

<code>&gt;&gt;&gt;</code><code>import</code> <code>three</code>

<code>&gt;&gt;&gt;</code><code>help</code><code>(three.mingzi)     </code><code>#查看自己编写的帮助文档 </code>

<code>局部变量和全局变量:</code>

<code>局部变量:函数执行结束以后会失去作用。</code>

<code>def</code> <code>info (name):</code>

<code>    </code><code>age</code><code>=</code><code>22</code>

<code>    </code><code>print</code> <code>'your name is %s,you old is %s'</code><code>%</code><code>(name,age)</code>

<code>info(</code><code>'darren'</code><code>) </code>

<code>全局变量:在函数之外,全局生效。</code>

<code>age</code><code>=</code><code>26</code>

<code>声明把全局变量变为局部变量(不建议使用):</code>

<code>    </code><code>global</code> <code>age           </code><code>#声明</code>

<code>info(</code><code>'darren'</code><code>)  </code>

<code>print</code> <code>'age:'</code><code>,age         </code><code>#此处第一个age:是显示age:并不是变量,后面的才是变量,这是让一个print生成两段内容的用法。</code>

<code>函数的默认参数: </code>

<code>def</code> <code>users(username,group</code><code>=</code><code>'iphone'</code><code>):          </code><code>#group='iphone'这里也是一个赋值变量,只不过如果不赋值,默认是iphone。</code>

<code>    </code><code>list</code><code>=</code><code>{}        </code><code>#定义一个字典</code>

<code>    </code><code>list</code><code>[username]</code><code>=</code><code>group        </code><code>#定义username为key,group为value,意思就是修改key的值为变量group</code>

<code>    </code><code>return</code> <code>list</code>

<code>print</code> <code>users(</code><code>'wang'</code><code>)</code>

<code>print</code> <code>users(</code><code>'wangjia'</code><code>,</code><code>"dongge"</code><code>)</code>

<code> </code><code>多默认值变量:</code>

<code>def</code> <code>info (name,age,internation</code><code>=</code><code>'zhongguo'</code><code>,provice</code><code>=</code><code>'shandong'</code><code>):</code>

<code>    </code><code>print</code> <code>internation,provice</code>

<code>info(</code><code>'darren'</code><code>,</code><code>'age'</code><code>,provice</code><code>=</code><code>'beijing'</code><code>,internation</code><code>=</code><code>'meiguo'</code><code>)    </code><code>#默认赋值的变量可以没有顺序,但是无默认值的变量必须在有默认值得变量的前面。</code>

<code>函数的关键参数:</code>

<code>def</code> <code>fun(a,b</code><code>=</code><code>5</code><code>,c</code><code>=</code><code>10</code><code>):</code>

<code>    </code><code>print</code> <code>a,b,c</code>

<code>fun(</code><code>3</code><code>,</code><code>7</code><code>)</code>

<code>fun(</code><code>25</code><code>,c</code><code>=</code><code>24</code><code>)</code>

<code>fun(c</code><code>=</code><code>50</code><code>,a</code><code>=</code><code>100</code><code>)  </code>

<code>#重点:函数增加一个特殊参数,可以任意赋多个值。</code>

<code>def</code> <code>test(</code><code>*</code><code>.args):</code>

<code>    </code><code>print</code> <code>args</code>

<code>test(</code><code>'darren'</code><code>,</code><code>'wang'</code><code>,</code><code>'29'</code><code>)</code>

<code>#把一个字典赋值给函数,字典key对应的值就是变量。</code>

<code>def</code> <code>testa (</code><code>*</code><code>*</code><code>kargs):</code>

<code>    </code><code>print</code> <code>kargs</code>

<code>name_list</code><code>=</code><code>{</code>

<code>'name'</code><code>=</code><code>'wang'</code><code>,</code>

<code>'age'</code><code>=</code><code>'22'</code><code>,</code>

<code>'iphone'</code><code>=</code><code>'pingguo'</code>

<code>}</code>

<code>testa(name</code><code>=</code><code>'darren'</code><code>,age</code><code>=</code><code>'18'</code><code>,iphone</code><code>=</code><code>'sanxing'</code><code>)</code>

<code>#有时候我们希望能把函数执行的结果保存下来,这时候就需要return参数:</code>

<code>def</code> <code>users(username,group</code><code>=</code><code>'iphone'</code><code>):  </code>

<code>    </code><code>list</code><code>=</code><code>{}     </code>

<code>    </code><code>list</code><code>[username]</code><code>=</code><code>group    </code>

<code>yonghu</code><code>=</code><code>users(</code><code>'wang'</code><code>,</code><code>'group='</code><code>linux')</code>

<code>print</code> <code>yonghu </code>

<code>lambda</code><code>匿名函数:</code>

<code>&gt;&gt;&gt; a</code><code>=</code><code>lambda</code> <code>x:x</code><code>+</code><code>2</code>

<code>&gt;&gt;&gt; a(</code><code>2</code><code>)</code>

<code>4</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>a</code><code>=</code><code>range</code><code>(</code><code>10</code><code>)</code>

<code>map</code><code>(</code><code>lambda</code> <code>x:x</code><code>*</code><code>*</code><code>2</code><code>,a)</code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

<code>def</code> <code>f(x):</code>

<code>        </code><code>return</code> <code>x</code><code>*</code><code>*</code><code>2</code>

<code>print</code> <code>f(</code><code>4</code><code>)</code>

<code>普通函数和下面</code><code>lambda</code><code>函数相同</code>

<code>g</code><code>=</code><code>lambda</code> <code>x:x</code><code>*</code><code>*</code><code>2</code>

<code>print</code> <code>g(</code><code>4</code><code>) </code>

<code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code><code>-</code>

本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1877781