python基础学习-day8,函数

'''
概念:
    函数: 用于封装一些操作, 通过调取函数名,直接返回结果
    定义关键字 ,函数名 函数体
'''

# def foo1():
#     print("hello world!!!")
#
# foo1()

# # 函数嵌套
# def foo2():
#     print("no 2")
#     foo1()
# def foo1():
#     print("no1")
# foo2()


# 带参数类
def my_add(a,b):  # 形参
    print("和为",a-b)
# my_add(3,9)    # 在设定时,有几个形参 设定,调取时,就需要传递几个值

# 调用函数 使用的实参
# my_add(b=10,a=20)
# my_add(10,20)
# my_add(10,b=20)
# my_add(10,a=20)  # 如果只是传递一个,且为第二个固定值,按照顺序固定值
# my_add(a=10,20)  # 在使用实参进行指定值时,如果第一个指定,后续的所有都需要指定


# 创建函数, 通过输入一串字符,输出 这段字符 中最后一个单词的长度
# def foo_len(a):
#     print(len(a.split()[-1]))
# foo_len("my name is hanmeimei")  # 调用时,传入 值

# 定义函数, 输入3个整数 ,判断是否能组成一个三角形,如果特殊情况等边,等腰,直角 并进行打印出来
# def is_triangle(a,b,c):
#     if a>0 and b>0 and c>0 and a+b>c and b+c>a and a+c>b:
#         print("能构成三角形")
#         if a == b != c  or a == c != b or b == c != a :
#             print("构成等腰三角形")
#         elif a == b == c :
#             print("等边三角形")
#         elif a**2 + b**2 == c**2  or a**2 + c**2 == b**2  or c**2 + b**2 == a**2 :
#             print("直角三角形")
#         else:
#             print("仅仅是普通版的")
#     else:
#         print("无法构成三角形")
# is_triangle(-3,5,5)


# 定义一个函数,传入一个字符串  判断 这个字符串是否是 回文联(abcba ; 1234321)  对称的
# def ishui(a):
#     if a.strip() == a.strip()[::-1]:
#         print("是回文联")
#     else:
#         print("不是回文")
# ishui(" 12343211")

# 定义一个函数,通过传入用户名  ,校验 用户名是否 合规, 要求: 只能是纯字母, 长度为 6-10位

# def checkname(a):
#     if a.encode().isalpha() and len(a) in range(6,11):
#         print("合格")
#     else:
#         print("不合格")
# checkname(" zhangsansan ")
#
# # 定义一个函数,统计2到指定数字的 素数 ,以列表形式输出
# # 素数 只能被1 和 本身 整除
# def su(a):
#     list1 = []
#     for i in range(2,a):
#         # i 除以 2,i-1 的所有值,只要要余数为0 都不满足
#         for j in range(2,i):
#             if i % j == 0 :
#                 break
#         else:
#             list1.append(i)
#     print(list1)
# su(50)


'''
局部变量: 作用于函数内(当前函数内)
全局变量:外层
    外层的变量函数里层可以用,不能重名赋值,赋值后变成局部
'''

# num = 10 # 全局
# def foo1():
#     num = 1
#     print(num)
# foo1()  # 值1
# print(num)  # 值为10

# # 要通过函数内部 改 全局的值   global  ; 先 global  在 赋值
# num = 10 # 全局
# num2 = 20
# def foo1():
#     global num,num2
#     num = 1
#     num2 = 2
#     print(num)
# foo1()  # 值1
# print(num,num2)  # 值为1  # 函数的num为全局变量 已经修改num值


'''
函数的缺省参数(默认参数)
在定义函数的时候,给传参定义一个默认值
调用时,可以少传入 一些 参数

'''

# def printnum(a,b=9):
#     num = a + b
#     print(num)
# printnum(1)

# def foo1(b,a=8,c=9):  # 设置缺省参数时,只要一开始有默认值,后续都要传,如果不想设置,放前边
#     num = a + b +c
#     print(a,b,c)
# foo1(1,2)   # 传入的实参 要 >= 没有 缺省 形参个数

def foo2(a,b=10,c=9):
    print(a,b,c)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值