栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2022.07.26 学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2022.07.26 学习笔记

学习笔记 @JsonInclude

@JsonInclude(JsonInclude.Include.NON_NULL)

用法:为null的字段不会进行序列化

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Response {
    private String name;
    private String targetId;
    private String characteristic;
}

假设这个Response类是返回给前端的响应。如果字段characteristic为null,加上该注解后前端拿到的响应格式应该是这个样子(为null的characteristic字段不会显示在序列化结果里):

{
  "name": "xxx",
  "targetId": "xxx"
}
十六进制表达式
正则表达式中,可以使用 "xXX" 和 "uXXXX" 表示一个字符("X" 表示一个十六进制数)形式字符范围:
xXX    编号在 0到255 范围的字符,比如:空格可以使用 "x20" 表示。
uXXXX  任何字符可以使用 "u" 再加上其编号的4位十六进制数表示,比如:汉字可以使用“[u4e00-u9fa5]”表示。
zip打包命令
zip [选项] [参数] [文件]

# 语法
zip -r 压缩包名 待压缩的文件和目录列表
# 示例,将文件 log.txt、test.txt 和目录 test/ 压缩到 test.zip 文件中
zip -r test.zip log.txt test/ test.txt
Python
#python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 
if True:
    print ("True")
else:
    print ("False")
#Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠  来实现多行语句
total = item_one + 
        item_two + 
        item_three
#在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

python中数字有四种类型:整数、布尔型、浮点数和复数。

  • int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
  • bool (布尔), 如 True。
  • float (浮点数), 如 1.23、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2j
字符串
  • Python 中单引号 ’ 和双引号 " 使用完全相同。
  • 使用三引号(‘’’ 或 “”")可以指定一个多行字符串。
  • 转义符 。
  • 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with n" 则 n 会显示,并不是换行。
  • 按字面意义级联字符串,如 "this " "is " “string” 会被自动转换为 this is string。
  • 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • Python 中的字符串不能改变。
  • Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
#!/usr/bin/python3
str='123456789'
 
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第五个的字符
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')         # 连接字符串
 
print('------------------------------')
 
print('hellonrunoob')      # 使用反斜杠()+n转义特殊字符
print(r'hellonrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

可以在同一行中使用多条语句,语句之间使用分号 ; 分割,

import sys; x = 'runoob'; sys.stdout.write(x + 'n')

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=“”

# 不换行输出
print(x, end="")
import 与 from…import

在 python 用 import 或者 from…import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

字符串匹配
//通过正则表达式创建pattern
//这里注意可以在通过加上()来选取模式匹配要获取的内容
//比如这个整体是位于group(0) 其中的-*[0-9]*被括号()括了起来,其中的值就是group(1)
//java中使用 \( 来表示对于(的转义
Pattern pattern = Pattern.compile("new NumberInt\("(-*[0-9]*)"\)");
//matcher传入要进行匹配的字符串
Matcher matcher = pattern.matcher(""offset": new NumberInt("-0000")," +
                ""offset": new NumberInt("1110")");
String ss = "";
//在进行调用group()的时候,必须要先使用find()进行查询,此时的group(1)就是第一个匹配的模式中的-*[0-9]*
while (matcher.find()) {
      String number = matcher.group(1);
      //对于第一个匹配上的做替换后,继续进行匹配
      ss = matcher.replaceFirst(number);
      matcher = pattern.matcher(ss);
}
//最终得到的结果是"offset": -0000,"offset": 1110
//group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。
  • runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。
  • runoo*b,可以匹配 runob、runoob、runoooooob 等,***** 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
  • colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次或1次)
  • [ABC]:匹配 […] 中的所有字符
  • [^ABC]:匹配除了 […] 中字符的所有字符
  • [A-Z]:[A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母
  • .:匹配除换行符(n、r)之外的任何单个字符
  • w:匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025196.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号