#!Python 3.8.12
#Mu Editor软件
##json.loads()
##用于将给定的 JSON 字符串解析为 Python 对象。
'''
json.loads(s[, encoding[, cls[,
object_hook[, parse_float[, parse_int[,
parse_constant[, object_pairs_hook[, **kw]]]]]]]])
'''
import json
jsonStr = '{"a": 1, "c": 3, "一种": 2, "e": 5, "d": 4}'
# 使用json.loads()解析JSON字符串,设置可选参数
data = json.loads(
jsonStr,
cls=None, # 类参数,用于指定JSON解析器要使用的类,默认为None
object_hook=None, # 对象钩子参数,用于在JSON对象被转换为Python对象时自定义转换逻辑,默认为None
parse_float=None, # 浮点数解析参数,用于将JSON中的浮点数转换为Python浮点数,默认为None
parse_int=None, # 整数解析参数,用于将JSON中的整数转换为Python整数,默认为None
parse_constant=None, # 常量解析参数,用于将JSON中的特殊常量(如NaN, Infinity)转换为Python常量,默认为None
object_pairs_hook=None, # 对象对钩子参数,用于在JSON对象的键值对被转换为Python对象时自定义转换逻辑,默认为None
)
print(data) #{'a': 1, 'c': 3, '一种': 2, 'e': 5, 'd': 4}
##jieba.analyse.extract_tags()
##函数是结巴分词中用于关键词提取的功能之一。
##它用于从文本中提取关键词,并根据其重要性进行排序和返回。以下是该函数的参数和说明:
'''
jieba.analyse.extract_tags(sentence,
topK=None,withWeight=False,
allowPOS=(),withFlag=False)
sentence: 待提取关键词的文本字符串。
topK=None: 返回关键词的数量,默认为 20,表示返回频率最高的前 20 个关键词。
withWeight=False: 是否返回关键词的权重,默认为 False,表示只返回关键词列表,不包括权重信息。
allowPOS=():仅包括指定词性的词,默认为空,表示不限制词性。
'''
import jieba.analyse
text = "中国是个国家,中国人都是龙的传人,中国有万里长城"
#提取关键词,topK=None,默认返回前20个关键词,默认为 20,表示返回频率最高的前 20 个关键词。
keywords = jieba.analyse.extract_tags(text)
print("默认提取的关键词:", keywords) # 默认提取的关键词: ['龙的传人', '万里长城', '中国', '国家']
keywords = jieba.analyse.extract_tags(text)
print("默认提取的关键词:", keywords) # 默认提取的关键词: ['龙的传人', '万里长城', '中国', '国家']
#提取关键词,返回带权重的关键词
#withFlag=False: 返回的关键词是否附带词性,默认为 False,表示只返回关键词,不包括词性信息。
keywords_with_weight = jieba.analyse.extract_tags(text, withWeight=True)
print("带权重的关键词:", keywords_with_weight) # 结果
##带权重的关键词: [('龙的传人', 2.3167796086666668),
#('万里长城', 1.664775774425), ('中国', 1.51366034333),
#('国家', 0.6667408986933333)]
#withWeight=False,默认False,可忽略不写
keywords_with_weight = jieba.analyse.extract_tags(text, withWeight=False)
print("带权重的关键词:", keywords_with_weight) # 结果
# 带权重的关键词: ['龙的传人', '万里长城', '中国', '国家']
# withWeight=False: 是否返回关键词的权重,默认为 False,表示只返回关键词列表,不包括权重信息。
#topK=5,返回关键词前5;withWeight=False,不包括权重信息。
top_keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=False)
print("指定数量的关键词:", top_keywords) # 指定数量的关键词: ['龙的传人', '万里长城', '中国', '国家']
##topK=5,返回关键词前5;withWeight=False,包括权重信息。
top_keywords_with_weight = jieba.analyse.extract_tags(text, topK=5, withWeight=True)
print("指定数量的带权重的关键词:", top_keywords_with_weight) # 指定数量的带权重的关键词: [('龙的传人', 2.3167796086666668),
# ('万里长城', 1.664775774425), ('中国', 1.51366034333),
# ('国家', 0.6667408986933333)]
##random.shuffle(seq)
##将序列重新排列,一般与seed同用,以便结果固定
import random
random.seed(10)
seqL=['m','fs','4','5','pp']
random.shuffle(seqL)
print(seqL) #['5', '4', 'fs', 'm', 'pp']
为了偷懒方便,写了代码方便知道除开注释写了多少条代码。
不是很准确,暂时没想到怎么改正,希望集思广益有个准确代码。
def count_valid_code_lines(file_path: str) -> int:
'''
统计代码条数
'''
with open(file_path, 'r', encoding='UTF-8') as f:
lines = f.readlines()
valid_line_count = 0
for line in lines:
line = line.strip()
if len(line) > 0 and not line.startswith('#') and not line.startswith("'''") and not line.startswith('"""'):
valid_line_count += 1
return valid_line_count
file_path = 'C:\\Users\\x\\202400330.py'
valid_code_lines = count_valid_code_lines(file_path)
print(f'有效代码行数:{valid_code_lines}')
如果你真的想当程序员那么就先写一万条代码。……《向上生长》
30号写下31条代码
目标:10000条
剩余:9503条
总结:
最近懒了,看了文件时间差了好多天都没有打开代码学习。不能输给自己的惰性呀。