day04-函数

一、函数

函数就是一个功能,一个方法,简化代码。
#一个函数只做一件事
#重复的代码就是低级的
#实现同样的功能,代码越少越好

函数必须得调用才能执行。

1、函数的简单介绍,如下

1 def say(name):# 函数,形参,形式参数,变量
2     print(name)# 函数体
3 x = 'yhx'
4 say(x)#实参,实际参数

2、函数之必填参数、位置参数

位置参数的形参与实参不一致时,以实参为准

1 def say(name,sex=''):# 函数,形参,形式参数,变量
2     # 必填参数   位置参数
3     # 默认值参数  非必填参数
4     print('%s哈哈哈%s'%(name,sex)) # 哈哈哈
5     # 函数体
6 x = 'nn'
7 say(x)
8 say(x,'') #实参,实际参数
9 # 函数必须得调用才会执行

3、函数的特点
#在函数里面的变量全都是局部变量,它只能在函数里面使用,函数执行结束那么没有这个变量
#返回值
# 如果需要用到函数的处理结果的话,那么就写return,不需要的话,那就不用写
#函数里面如果碰到return,函数立即结束

1 # 计算两个数字相乘
2 def calc(a,b):
3     res = (a*b) # res是局部变量,只在函数体内有效
4     print(res)   # 所以输入结果要写在函数体内,可输出执行结果
5 cf = calc(3,9)

使用return:

1 # 计算两个数字相乘
2 def calc(a,b):
3     res = (a*b) # res是局部变量,只在函数体内有效
4     return res# 函数体外要调用这个结果,则需要return
5 cf = calc(3,9)
6 print(cf)   # res这个变量是在函数体内的,无法在函数体外直接调用,故此处输出应写cf

 4、练习

(1)

 1 def my():
 2     for i in range(100):
 3         print(i)
 4         if i==2:
 5             return
 6 print(my())
 7 # 运行结果:
 8 # 0
 9 # 1
10 # 2
11 # None

(2)写一个校验输入的字符串是否为小数的程序

 1 #    0.12  -12.9
 2 # (1) 只有一个小数点,判断小数点个数
 3 # (2) 正小数的情况下,小数点左边和右边都是整数的话,才合法
 4 # (3) 负小数的情况下,小数点右边是整数,左边必须以‘-’开头,且只有一个负号才合法
 5 #   -5.4
 6 #   ['-5','4']
 7 #   [1:]
 8 
 9 def check_float(s):
10     s = str(s)
11     if s.count('.') == 1:
12         s_list = s.split('.')
13         # 5.3  [5,3]
14         # -98.37  [-98,37]
15         left = s_list[0]# 小数点左边‘-98’
16         right = s_list[1]# 小数点右边
17         if left.isdigit() and right.isdigit():# 这里是正小数的
18             return True
19         elif left.startswith('-') and left.count('-') == 1 and right.isdigit():
20             return True
21     return False
22 print(check_float(1.8))
23 print(check_float(-1.8))
24 print(check_float('1.8'))
25 print(check_float('-1.8s'))



def my_file(name,content=None):
    with open(name,'a+') as f:
        f.seek(0)
        if content:
            f.write(content)
        else:
            return f.read()

import json

def json_file(name,d=None):
    pass


    def seq(num):
        pass

猜你喜欢

转载自www.cnblogs.com/Noul/p/9175432.html