python程序设计员—练习笔记

server/2024/10/19 7:54:37/

目录

基础处理

  • 字符串
  • 列表
  • 字典
  • 运算符
  • 正则表达式re库
  • requests
  • Beautiful Soup
  • jieba库
  • 分词模式
  • 基于TF-IDF算法的关键词提取
  •  基于TextRank算法的关键词提取
  • pandas 打开有多个表的.xlsx文件

基础处理


字符串

  • str_ = str_.lower()
  • lower()函数:将字符中的大写字母转换成小写字母
  • str_ = str_.upper()
  • upper()函数:将字符中的小写字母转换成大写字母
  • str_ = str_.replace("要被替换的字符","替换后的字符")
  • 替换字符串
  • str_ = str_.strip()
  • 删除字符串前后的空格或字符

  • str_ = str_.count()
  • 统计某字符在字符串中的个数
  • str_ = str_.split()
  • 以指定字符分割
  • str_.isalpha()
  • 用于判断字符中是否只包含英文中文字符,如果字符串至少有一个字符且所有字符都是字母,则返回 True,否则返回 False。
  • 判断中文字符,用编码格式匹配。
  • 判断字符中所有都是中文,有一个英文都返回False。
  • num = "python炒粉,为生活添砖java"if "\u4e00" <= num <= "\u9fff":print(True)
    else:print(False)
  • 提取字符中的非中文字符

  • num = "python炒粉,为生活添砖java"jg = ""
    for i in num:if "\u4e00" <= i <= "\u9fff":#是中文就pass掉passelse:#不是中文就添加jg += i
    #返回:"python,java"
    print(jg)

列表

  • list_.remove()
  • .remove():函数可以删除列表中第一个指定的值。
  • list_ = list_[::-1]
  • 用索引反转列表
  • list_.insert(要插入的位置的索引,要插入的内容)
  • 向列表插入值
  • list_ = list_.pop()
  • 默认移除列表最后一个元素。
  • 如果提供索引,则移除指定索引的元素。

字典

  • 向字典插入值
  • 如:dict_[ "键" ] = "插入的值"

  • 提取字典的值
  • dict_.get("要提取值的键")
  • 字典的排序:sorted()函数
  • 如下:
  • my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}  
    sorted_dict_by_values = dict(sorted(my_dict.items(), key=lambda item: item[1]))  
    print(sorted_dict_by_values)  
    # 输出: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}
  • 倒叙排序:reverse=True

运算符

" // ":两数相除,向下取整,取两数相除后的整数部分。

如:3 // 2 结果为:1

       5 // 2 结果为:2

" % ":取模运算,两数相除后的余数

如:7 % 2 结果为:1

        3 % 2 结果为:1

  • pow(x,y,z)
  • 其中 x 是底数,y 是指数。这个函数返回 x 的 y 次幂
  • 其中 x 是底数,y 是指数,而 z 是模数。这个函数返回 (x**y) % z 的结果,即 x 的 y 次幂对 z 取模的结果。这种用法在计算大数的幂并对某个数取模时非常有用,因为它可以避免中间结果过大而导致的溢出问题。

正则表达式re库


  • re.search()
  • 在字符中找到第一次搜索出的正则表达式模式,若为找到则返回None。
  • re.findall("正则表达式" , 要匹配的字符串)
  • 在字符串中找到正则表达式所匹配的所有子串, 返回列表。
  • re.sub()
  • 正则表达式替换匹配的字符串

requests

发送请求

#传入url链接
url = "XXX"#向网站发送请求
#请求成功时状态为:200
resp = requests.get(url)#转换编码格式
#常用的编码格式:"utf-8","gbk"
resp.encoding = "utf-8"#将返回转换成文本
resp = resp.text

Beautiful Soup


将文本转换成Beautiful Soup的对象

soup = BeautifulSoup( 文本 ,"html.parser")


  • soup.find("标签" , 属性="xxx")
  • 匹配第一个符合条件的值。
  • ##注意匹配class属性时,要将"class"属性写成 "class_" 因为"class"时python的关键词。
  • soup.find_all("标签" , 属性="xxx")
  • 匹配所有符合条件的值。
  • 提取标签的属性
  • soup[ " title " ]

jieba库

分词模式

1.精确模式

  • 精确模式是将文本按照最大概率进行切分,效果较好。
  • 使用方法:jieba.cut(sentence),返回一个可迭代的分词结果。

2.全模式

  • 全模式将文本中所有可能的词语都切分出来,可能存在冗余。
  • 使用方法:jieba.cut(sentence, cut_all=True),返回一个可迭代的分词结果。

3.搜索引擎模式

  • 搜索引擎模式根据词语的位置进行切分,适合搜索引擎分词。
  • 使用方法:jieba.cut_for_search(sentence),返回一个可迭代的分词结果。

  • jieba.luct()
  • 这个函数回返回一个分词后的列表。

基于TF-IDF算法的关键词提取

  • jieba库提供了基于TF-IDF算法的关键词提取方法jieba.analyse.extract_tags(sentence, topK=10),用于从文本中提取关键词。
  • topK:参数指定返回的关键词数量,默认为10。

 基于TextRank算法的关键词提取

  • jieba库还提供了基于TextRank算法的关键词提取方法:
  • jieba.analyse.textrank(sentence, topK=10,withWeight=False, allowPOS=("ns", "n", "vn", "v"))
  • sentence:是要提取关键词的文本
  • topK:参数指定返回的关键词数量,默认为10。
  • withWeight:表示是否返回关键词的权重值(默认为False)
  • allowPOS:表示仅包括指定词性的词(默认为名词、动词等)

pandas 打开有多个表的.xlsx文件

  • df = pd.read_excel('path_to_excel_file.xlsx', sheet_name=None)
  • 设置sheet_name参数为None
  • 打开指定的表:df["表名"]

http://www.ppmy.cn/server/132987.html

相关文章

网络通信与并发编程(二)基于tcp的套接字、基于udp的套接字、粘包现象

基于tcp的套接字 文章目录 基于tcp的套接字一、套接字的工作流程二、基于tcp的套接字通信三、基于udp的套接字通信四、粘包现象 一、套接字的工作流程 Socket是应用层与TCP/IP协议族通信的中间软件抽象层&#xff0c;它是一组接口。在设计模式中&#xff0c;Socket其实就是一个…

重塑企业数字化未来:物联网与微服务架构的战略性深度融合

从物联网到微服务架构的战略价值解读 随着全球数字化转型的不断加速&#xff0c;企业需要重新审视其技术基础架构&#xff0c;以适应日益复杂的业务需求和市场变化。物联网&#xff08;IoT&#xff09;作为核心技术&#xff0c;已广泛应用于制造、农业、交通、医疗等各个行业&…

人工智能与生活:探索科技未来的无限可能性

随着科技的不断进步&#xff0c;人工智能已经成为了我们日常生活中不可或缺的一部分。从智能手机到智能家居&#xff0c;从自动驾驶汽车到医疗诊断&#xff0c;人工智能已经渗透到了我们的方方面面。在这篇文章中&#xff0c;我们将从不同的角度探讨人工智能与生活的联系&#…

uniapp 微信小程序分包操作

1. 在项目根目录创建一个新的目录&#xff0c;名称为分包名称 2. 打开manifest.json&#xff0c;选择源码视图&#xff0c;加入以下代码 "optimization" : {"subPackages" : true } 3. 在pages.json中&#xff0c;pages后面添加分包代码 "subPackag…

Java - 使用AOP+SpEL基于DB中的用户ID自动补全用户姓名

Java - 使用AOPSpEL基于DB中的用户ID自动补全用户姓名 文章目录 Java - 使用AOPSpEL基于DB中的用户ID自动补全用户姓名一、引言二、环境三、基本思路四、实现过程1. 确定切入点&#xff1b;2. 基于自定义注解&#xff0c;注册切入点&#xff1b;3. 在实体类上标记依赖关系&…

计算机毕业设计 | SpringBoot大型旅游网站 旅行后台管理系统(附源码)

1&#xff0c; 概述 1.1 项目背景 随着互联网技术的快速发展和普及&#xff0c;旅游行业逐渐转向线上&#xff0c;越来越多的游客选择在线预订旅游产品。传统的线下旅行社模式已不能满足市场需求&#xff0c;因此&#xff0c;开发一个高效、便捷的旅游网站成为行业的迫切需求…

查缺补漏----三次握手与四次挥手

注意事项&#xff1a; ① 如果是和FTP服务器建立连接&#xff0c;那么要建立两个TCP连接。一个是控制连接一个是数据连接。 ② SYN报文段不能携带数据。三次握手的最后一个报文段可以捎带数据&#xff0c;但是如果不携带数据&#xff0c;那么就不消耗序号。 ③ 在断开连接过程中…

jmeter在beanshell中使用props.put()方法的注意事项

在jmeter中&#xff0c;通常使用beanshell去处理一些属性的设置和获取的操作&#xff0c;而这些操作也是有一定的规则的。 1. 设置属性时&#xff0c;在属性名上要加双引号&#xff0c;这代表它不是一个需要用var去声明的变量 这种设置属性的方式才是有效可行的&#xff0c;在…