编程极简入门(python)-06-方法

前言

本节继续介绍另外一个核心概念--**方法 **
学完之后,你可以将程序中重复的代码打包(封装)成方法,大大减少代码的数量

一 .计算公司员工的公积金(包含子公司)

要求 计算一家企业所有员工的公积金.

大型企业在北京,天津都有分公司,个人所交的公积金按照所在子公司的所在城市.
北京:12% ,天津11%
员工名单(为了简化,我们只选取2位员工)
|员工|工资|子公司|
|:--|:--|:--|
| 张三| 10000 | 北京分公司 |
| 李四| 10000 | 天津分公司 |

代码实现
如果我们参考<<条件判断>>最后的例子,就能马上把代码写出来.

# -*- coding:utf-8 -*-
# 计算第1个员工的公积金
staffName = u'张三'
money = 10000 #工资
city = 'beijing' #城市 

taxRate = 0  #税率
tax= 0    #税金

if city =='beijing':
   taxRate = 0.12 
elif city =='tianjing':
   taxRate = 0.11 
else:
    taxRate = 0.07 

tax = money * taxRate 
print u'员工:', staffName ,u'城市:',city,u',税率:',taxRate,u',工资:',money,u',需要缴纳的公积金:',tax 

# 计算第2个员工的公积金
staffName = u'李四'
money = 10000 #工资
city = 'tianjing' #城市 

taxRate = 0  #税率
tax= 0    #税金

if city =='beijing':
   taxRate = 0.12 
elif city =='tianjing':
   taxRate = 0.11 
else:
    taxRate = 0.07 

tax = money * taxRate 
print u'员工:', staffName ,u'城市:',city,u',税率:',taxRate,u',工资:',money,u',需要缴纳的公积金:',tax 

代码问题
尽管上述代码可以正常运行,但却有一个比较严重的问题,就是只要新增一个员工,就要增加一段非常类似一段代码. 更严重的问题是,如果计算税金的逻辑一旦发生变化, 那么就要修改每个计算税金的地方.

二 . 方法的概念

"方法"(也叫"函数")是编程语言中最重要的概念, 和数学中的"函数"概念非常相似 y=f(x) ,给定一个变量值x,返回 f(x).
便于理解:
从使用者角度来看,可以把“方法”理解为一种“服务”。
方法的组成部分

  1. 方法参数 (非必要,可多个参数)
  2. 方法业务
  3. 方法返回结果 (非必要)
 def 方法名(参数1,参数2 ...):
    方法业务
    return 返回值

二 .优化后的实例

代码实现
如果我们参考<<条件判断>>最后的例子,就能马上把代码写出来.

# -*- coding:utf-8 -*-
# 定义计算公积金方法 ,接收三个参数 员工姓名,工资,城市
def countGjj(staffName,money,city):
    taxRate = 0  
    if city =='beijing':
        taxRate = 0.12 
    elif city =='tianjing':
        taxRate = 0.11 
    else:
        taxRate = 0.07
    tax = money * taxRate
    print u'员工:', staffName ,u'城市:',city,u',税率:',taxRate,u',工资:',money,u',需要缴纳的公积金:',tax 
    return tax


# 变量方式接受参数
staffName = u'张三'
money = 10000 #工资
city = 'beijing' #城市 
countGjj(staffName,money,city)

# 值方式 接受参数
countGjj(u'李四',10000,'tianjing')

# 返回值
tax = countGjj(u'王五',10000,'shanghai')
print u'方法返回值, 税率:' , tax

代码输出

员工: 张三 城市: beijing ,税率: 0.12 ,工资: 10000 ,需要缴纳的公积金: 1200.0
员工: 李四 城市: tianjing ,税率: 0.11 ,工资: 10000 ,需要缴纳的公积金: 1100.0
员工: 王五 城市: shanghai ,税率: 0.07 ,工资: 10000 ,需要缴纳的公积金: 700.0
方法返回值, 税率: 700.0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,531评论 18 399
  • 简介 本节继续介绍另外一个核心概念--批量处理学完之后, 你可以轻松的让一个方法,或者一段代码执行千遍,万遍. 一...
    俞张平阅读 494评论 0 1
  • 一. Java基础部分.................................................
    wy_sure阅读 3,780评论 0 11
  • 再过十几天,就要拍毕业照了,一直开朗活泼的好友却闷闷不乐。 我打趣着问她,又在为哪个情人操碎了心呐? 没想到她一本...
    箫歌阅读 560评论 1 1
  • 几个例子: 小 A:小二姐,最近我工作不太顺利。傻比直属领导终于调走了。二姐:恭喜。小A:可是,来了一个更傻比的,...
    清玉的平行世界阅读 230评论 0 1