2.1函数

#函数简介
#定义:具有特殊功能的一段代码
#优点;可以解决代码的重复书写
#可以将功能的实现者和使用者分开,可以提高开发效率


#分类
#库函数: print  input   type  等
#自定义: 用户自己封装的函数
#函数的使用
#函数定义格式
# def 函数名([参数列表]):
#     函数体

#函数名:
#像变量一样,只要符合标识符命名规范即可。
# [] 表示参数是可选的,参数可以有,也可以没有,有也
#是一个或多个
#定义函数:
# def print_ten_hello():
#     for i in range(10):
#         print('Hello world!')

#调用函数
# print_ten_hello()

#函数定义之后不会执行,只有调用后才会执行
#调用格式:函数名[参数]

# def print_n_hello(n):
#     for i in range(n):
#         print('Hello world !')
#
# print_n_hello(3)


# def print_n_hello(n = 3):
#     for i in range(n):
#         print('Hello world !')
#
# print_n_hello(5)

# def add(a, b):
#     return a + b
#
# print(add(4, 5))
#
# def add(c, e):
#      c + e
# print(add(2,3))

#return 返回函数的返回值,一旦执行,函数立刻结束。

#函数的参数
#形参:形式上的参数,就是写在函数定义处的参数
#实参,实际参数,就是在函数调用时的传递的参数

# def show(a, b):
#     print(a)
#     print(b)
# show(2,3)

#位置参数:函数定义时,没有默认值的参数,也叫必传参数
#调用参数时的参数与定义处的形参一一对应
#默认参数:函数定义时有默认值的参数,调用时可以不传
#默认参数必须放到最后
#关键字参数函数调用时,指定参数的名字,那么参数的位置就无所谓了
#可变长度参数:

# def var_len_args(a, b, * args,** kwargs):
#     print(a,b)
#     print(args)
#     print(kwargs)
# var_len_args(2,3,4,5,6,name = '田田',age = 18)

#*的使用 *相当于把列表中的元素展开
# def show(a,b):
#     print(a,b)

#show(2,3)
# lt = [2, 3]
# show(lt[0], lt[1])
# show(*lt)
#
# def show2(aa, bb):
#     print(aa,bb)
#
# d = {'aa':123, 'bb': 456}
# show2(aa = d['aa'],bb = d['bb'])
# show2(**d)

#函数的进阶
#函数定义的位置是随意的吗?
#不是,一定是先定义在调用,也就是调用一定要在定义之后
# def test():
#     print('for test')
#     print('for test')

#函数重名是不可以的,后者会覆盖前者

# def wai():
#     #可以定义内部函数,它可以完成很多高级功能
#     def nei():
#         print('in nei func')
#
# wai()

# if True:
#      a = 10
#变量没有块级作用
#定义在函数内部的变量叫做局部变量,拥有局部作用域

# def test():
#     name = '二狗'
#print(name)局部变量不能访问
#
# num = 20
# def show():
#     #global num
#     num = 10
#     print(num)
#全局变量:定义在函数外部的变量,拥有全局的作用域
# show()
# print(num)

#全局变量在函数内部只能使用,不能更改
#局部变量与外部变量同名,局部优先
#如果想在函数中修改全局变量,需要先声明

# def wai():
#     n = 100
#     def nei():
#         nonlocal n #声明使用非本地变量:外部函数的局部变量
#         n = 200
#         pass
#     nei()
#     print(n)
#
# wai()


#常用函数
#内置函数: 无需导入
#print:打印
#input:输入
#type:类型
#len:统计元素个数:
#range:产生连续的整数
#enumerate: 枚举可迭代对象
#ord字符转换为ASCII
#chr
# ASCII转换为字符
#id 获取变量地址:
#
# a = 10
# b = 10
# print(id(a))
# print(id(b))
# 
# a = 10
# print(id(a))
# b = a
# print(id(b))
# 
# abs(-1)
# print(abs(-1))

#类型转换  int float complex set list str dict
#tuple
#常用的函数自行测试
# max 求最大值
# print(max((1,2,3,4,5,6)))
# #min,最小值
# print(min(1,2,3,4,5,6))
# print(sum(range(101)))
# print(pow(2, 3))
# print(round(3.4))
# print(hex(5))
# print(oct(9))
# print(bin(896))

# import time
# while True:
#     print('Hello world!')
#     time.sleep(3)
#
# import math
# print(math.pi)
# print(math.e)
# print(math.ceil(3.1))
# print(math.floor(3.9))
# print(math.sqrt(4))
# print(math.radians(360))
# print(math.degrees(math.pi))

# import sys
#存放了终端运行时的所有参数的列表
# print(sys.argv)


猜你喜欢

转载自blog.csdn.net/XC_LMH/article/details/81172053
今日推荐