num % 10 是取最后一位
num // = 10也就是 num = num // 10,是 num 整除 10,也就是把最后一位去掉,这样倒数第二位成为了最后一位
这样不断处理,sum 就可以把所有位都加起来了。
def getSameChatroomInfo(chatroom_friends, friend_overlap):
#% 相同的群数
def countSameChatroomInfo(username, chatroom_friends):
cnt = 0
cname = []
for k in chatroom_friends.keys():
if username in chatroom_friends[k]['friends']:
cnt += 1
cname.append(k)
cname = '|'.join(cname)
return cnt, cname
tmp = friend_overlap.index.map(lambda x:countSameChatroomInfo(x, chatroom_friends))
friend_overlap['sameChatroomNum'] = [x[0] for x in tmp]
friend_overlap['sameChatroomName'] = [x[1] for x in tmp]
friend_overlap = friend_overlap[['NickName', 'sameChatroomNum', 'sameChatroomName']]
return friend_overlap
解释Python代码中标记的意义:
import win32con import win32api import win32gui import time import xlrd import xlwt import win32clipboard
这些语句用于导入模块,其中6个模块分别是win32con、win32api、win32gui、time、xlrd、xlwt和win32clipboard。可以使用它们提供的函数和变量等来实现特定的功能。
def key(key): win32api.keybd_event(key,0,0,0)
time.sleep(0.02) win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)
def ctrlA(): win32api.keybd_event(17,0,0,0) win32api.keybd_event(65,0,0,0) win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0) win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0) time.sleep(1)
def ctrlC(): win32api.keybd_event(17,0,0,0) win32api.keybd_event(67,0,0,0) win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0) win32api.keybd_event(67, 0, win32con.KEYEVENTF_KEYUP, 0) time.sleep(1)
def ctrlV(): win32api.keybd_event(17,0,0,0) win32api.keybd_event(86,0,0,0)
win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0) win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0) time.sleep(1)
这些语句定义了4个函数,分别是key、ctrlA、ctrlC和ctrlV。这些函数可以用来操作键盘(模拟按键)、复制和粘贴文本等功能。
这部分代码没有明显的定义变量或常量的语句。
if name == 'main': ... else: ...
这部分使用了if-else语句,根据__name__变量的值来判断是直接运行py文件还是被其他文件引用。如果是直接运行py文件,则执行后面的代码;如果被其他文件引用,则不执行后面的代码。
for col in cols: ...
这部分使用了for循环语句,循环遍历cols列表中的每个元素(在该代码中是一个手机号)。
setPaste(str(int(col))) move(821,436) leftClick() ctrlV()
这些语句用于调用我们之前定义的函数,从而将文本内容读取到win10的paste缓冲区、移动鼠标、鼠标左点击和粘贴文本等操作。
其中的一些语句是表达式语句,例如cols=read_excel(src),它将函数read_excel(src)返回的结果赋值给变量cols。
还有一些语句是辅助功能的,例如time.sleep(1)会使程序等待1秒钟,win32clipboard用于操作剪贴板等。