1、函数的定义
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数对是程序逻辑进行架构化或者过程化的一种编程方法,可复用性强,可以调高代码的重复利用率。
2、定义一个函数
定义一个自己想要功能的函数,需要以下规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。 - return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3、函数的参数
- 形式参数
在定义函数时,函数名后面括号中的变量名称叫做“形式参数”或称为“形参”。
- 实际参数
在调用函数时,函数名后面括号中的变量名称叫做“实际参数”或称为“实参”
def fun (x, y): #这里的x,y就是“形参”
# print (x+y)
# fun (1,2) #这里传输的参数只能是两个,不能多也不能少;1,2就是“实参”
if x > y :
print x
if y > x:
print y
fun (7, 5)
函数的默认参数
缺省参数或称默认参数
def fun(x, y=100): #这里是y=100,即是函数默认参数;默认参数的只能放在最右边开始
print (x,y)
fun(1, 2) #这里传入两个实参,会自动替换默认参数
fun(1) #这里传入的参数,只有一个的时候;就会从最左边的开始。
1. 设计一个函数,统计任意一串字符串中数字字符的个数
例如:
“adfdfjv1jl;2jlk1j2” 数字个数为4个
import string
def getNumberCount(s):
number = 0
for i in xrange(0, len(s)): #遍历字符串
if s[i] in string.digits:
number += 1
print("number is {0}".format(number))
while True:
tmp = raw_input("please input a string:")
if tmp !="quit":
getNumberCount(tmp)
else:
break
2. 设计函数,统计任意一串字符串中每个字母的个数,不区分大小写
例如:
“aaabbbcccaae111”
a 5个
b 3个
c 3个
e 1个
import string
def getLettersCount(text):
text = text.upper() # 转换成大写
dict1 = dict() # 创建空字典
for i in string.ascii_uppercase:
dict1.setdefault(i, 0) # 将26个字母当做key增加到字典中,value为0
for i in xrange(0, len(text)): # 遍历字符串
if text[i] in string.ascii_uppercase: # 如果在26个字母中
dict1[text[i]] += 1 # value加1
for k in dict1:
if dict1[k] != 0: # 不为0的字母,打印出来
print("{0} {1}".format(k, dict1[k]))
while True:
tmp = raw_input("please input a string:")
if tmp != "quit!":
getLettersCount(tmp)
else:
break