《笨办法学Python》 第18课手记

《笨办法学Python》 第18课手记

本节课将创建函数,跟C语言里面的的定义函数差不多。

作者在每个函数开头都加了解释该函数功能的英文注释。为了方便理解,我将在原代码后直接解释涉及到知识点的部分代码。这里说的定义函数,就是作者所说的创建函数的意思。

经过部分修改的原代码如下:

# this one is like your scripts with argv 第一个创建的函数类似上一节的argv
def print_two(*args):  *不是指针的意思,类似SQL语言中所有的意思。args是一个列表变量,其中不止一个值。
   arg1, arg2 = args
   print "arg1: %r, arg2: %r" % (arg1, arg2)

# ok, that *args is actually pointless, we can just do this  表示argv无意义,可以跳过直接操作
def print_two_again(arg1,arg2): 括号里的变量使用逗号隔开
   print "arg1: %r, arg2: %r" % (arg1,arg2)

# this just takes one argument 也可以定义只有一个参数的函数
def print_one (arg1):
    print "arg1: %r" % arg1

# this one takes no argumengts 也可以定义没有参数的函数
def print_none(): 其实定义函数不一定非要有下划线。但不能以数字开始,由数字字母下划线组成,这点类似C。
    print "I got nothin'."

print_two("Steve","Wang")
print_two_again("Steve","Wang")
print_one("First!")
print_none()

结果如下:

本节课涉及的内容

请按作者所说,故意输错代码,查看错误信息,我反正一气呵成,哈哈[doge]。

加分习题很简单,请尝试弄懂每一个问题。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

Java Map集合面试题汇总

1、 你都知道哪些常用的Map集合2、Collection集合接口和Map接口有什么关系? 3、HashMap是线程安全的吗?线程安全的Map都有哪些?性能最好...

43660
来自专栏用户2442861的专栏

STL源码剖析-hashtable

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

34140
来自专栏企鹅号快讯

Python进阶系列连载(5)——生成器(上)

作者:王大伟 Python爱好者社区唯一小编 博客:https://ask.hellobi.com/blog/wangdawei 生成器 还记得在迭代器里我们...

403100
来自专栏逆向技术

逆向知识第六讲,取摸优化的几种方式

        逆向知识第六讲,取摸优化的几种方式 除法讲完之后,直接开始讲 % 运算符在汇编中表现形式 首先C的高级代码贴上来. 高级代码: // Tedy....

214100
来自专栏北京马哥教育

Python 3 那些非常规的技巧

对新学习Python的小伙伴来说,既感受到了短代码的开心,也更愿意用到一些简短的Python写法,下面是我使用Python过程总收集的一些技巧,希望对你有所帮...

37670
来自专栏大闲人柴毛毛

Java8新特性——StreamAPI(一)

1. 流的基本概念 1.1 什么是流? 流是Java8引入的全新概念,它用来处理集合中的数据,暂且可以把它理解为一种高级集合。 众所周知,集合操作非常麻烦,若...

37090
来自专栏hbbliyong

c++ list, vector, map, set 区别与用法比较

List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实...

1.9K90
来自专栏CDA数据分析师

Python3 大作战之 encode 与 decode 讲解

原文链接http://blog.csdn.net/qq_29053519/article/details/79170519 大家好,很久没更新了,也是年底了最近...

31350
来自专栏风口上的猪的文章

.NET面试题系列[10] - IEnumerable的派生类

IEnumerable分为两个版本:泛型的和非泛型的。IEnumerable只有一个方法GetEnumerator。如果你只需要数据而不打算修改它,不打算为集合...

13720
来自专栏Modeng的专栏

Javascript数组系列三之你不了解的迭代2

今天我们来继续 Javascript 数组系列的文章,上文 《Javascript数组系列二之迭代方法1》 我们说到一些数组的迭代方法,我们在开发项目实战的过程...

15330

扫码关注云+社区

领取腾讯云代金券