函数是啥
函数就是实现特定功能的一坨代码
数值类型: 保存一个数据 序列类型: 保存多个数据 函数: 保存的是多段代码
优点::
就是存储一段具有特定功能的代码,方便去重复的使用
函数的命名规范和变量是一样的
1.由数字,字母,下划线组成 2.不能数字开头,不能有其他特殊符号,区分大消息 3.不能用关键字 4.见名知意
函数的使用就两步
一步定义
def 函数名():
print("代码内容")
第二步调用
函数名()
扩展:
定义函数假如没想好怎么写可以占位,暂时先写个pass
def func():
pass
有参数的函数
def fun(a,b):
b.extend(a)
print(b)
fun("李白", [3, 5])
有返回值的函数
def fun_1(a,b,c):
"""
:param a:字典
:param b: 集合
:param c: 列表
:return: 列表
"""
print(a.values())
b.update(c)
c=set(c)
c=list(c)
return b,c
print(fun_1({"身高": 135}, {23, 56, 78}, ["hello", 3, 2.4]))
import win32clipboard
import win32con
import win32gui
def fun(a,b,c):
"""
:param a: 发送次数
:param b: 窗口名
:param c: 发送的消息
:return:
"""
#把窗口句柄实例化
qq_window = win32gui.FindWindow(None, b)
#窗口前台化
win32gui.SetForegroundWindow(qq_window)
#打开剪贴板
win32clipboard.OpenClipboard()
#清空剪切板
win32clipboard.EmptyClipboard()
#粘贴消息进入剪贴板
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT,c)
#关闭剪贴板
win32clipboard.CloseClipboard()
for i in range(a):
win32gui.SendMessage(qq_window, win32con.WM_PASTE, 0)
win32gui.SendMessage(qq_window, win32con.WM_KEYDOWN, win32con.VK_RETURN,1)
win32gui.SendMessage(qq_window, win32con.WM_KEYUP, win32con.VK_RETURN,1)
if __name__ == '__main__':
fun(1000,"c羽y", "月亮")
默认参数
import win32clipboard
import win32con
import win32gui
def fun(a=100,b="c羽y",c="月亮"):
"""
:param a: 发送次数
:param b: 窗口名
:param c: 发送的消息
:return:
"""
#把窗口句柄实例化
qq_window = win32gui.FindWindow(None, b)
#窗口前台化
win32gui.SetForegroundWindow(qq_window)
#打开剪贴板
win32clipboard.OpenClipboard()
#清空剪切板
win32clipboard.EmptyClipboard()
#粘贴消息进入剪贴板
win32clipboard.SetClipboardData(win32con.CF_UNICODETEXT,c)
#关闭剪贴板
win32clipboard.CloseClipboard()
for i in range(a):
win32gui.SendMessage(qq_window, win32con.WM_PASTE, 0)
win32gui.SendMessage(qq_window, win32con.WM_KEYDOWN, win32con.VK_RETURN,1)
win32gui.SendMessage(qq_window, win32con.WM_KEYUP, win32con.VK_RETURN,1)
if __name__ == '__main__':
fun(1000,"c羽y", "月亮")
位置参数要在默认参数的前面,然后定义的时候,有几个位置参数,调用的时候,就要传几个实际参数
def fun(a,c,b=["李白","杜甫"]):
print(a,b,c)
fun({"姓名":"李四"},"hello")
不定长参数* 就是传元组
def fun(*a):
# *可以理解成一个元组,我传入多个参数,就是把这些参数放在这个元组里面, 然后通过下标去使用这些参数
print(a[0])
a[1].extend(a[0])
print(a)
fun("你好",[1,3,5,7])
**就是传字典
def fun_1(**b):
"""
** 就可以理解成把传入的参数当做字典给了b,然后通过键就可以使用对应的值,也就是具体的参数了
:param b:
:return:
"""
b["set_0"].update(b["str_1"])
print(b)
fun_1(set_0={1,2,34}, str_1="娃哈哈")
文档字符串就是函数的注释
def fun_1(**b):
"""
** 就可以理解成把传入的参数当做字典给了b,然后通过键就可以使用对应的值,也就是具体的参数了
:param b:
:return:
"""
b["set_0"].update(b["str_1"])
print(b)
fun_1(set_0={1,2,34}, str_1="娃哈哈")
#打印文档字符串
print(fun_1.__doc__) #打印函数注释
常用的内置函数介绍一下
import statistics
print("hello world")
a=input("请输入你的名字:")
print(a)
print(type(a))
b=[1,2,3]
print(len(b),max(b),min(b),sum(b),statistics.mean(b))