零基础学python之数据类型

文章目录

  • 1、数据类型
      • 1.1 编程规范
        • 注释
        • 标识符命名规则
          • 命名规则
          • python命名规则
          • 关于代码规范
          • 编程习惯的重要性
        • 输入输出与变量
          • 输出
          • 输入
          • 变量
      • 1.2 数值类型
        • int(整型)
        • 浮点型(float)
        • 类型转化
      • 1.3 字符串
        • 字符串创建
        • 字符串格式化
          • **format**
          • %s
          • **f**
        • 案例:猫眼top100网址
      • 1.4 字符串常用方法
        • 查找和替换
        • 提问:如何改变字符串
        • 转义字符
        • 原始字符串
      • 1.5 布尔类型(bool)
      • 1.6 运算符
        • 算数运算符
        • 赋值运算符
        • 比较运算符
        • 逻辑运算符
        • 运算符优先级
        • 案例:运算符优先级
      • 1.7 总结
      • 1.8 拓展知识
        • 常见错误类型
        • 成员运算符
        • 身份运算符
        • 字符串格式化

1、数据类型

1.1 编程规范

注释

python注释也有自己的规范,在文章中会介绍到。注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,为了让别人能更容易理解代码的通途,使用注释是非常有效的。

在说规范之前我们有必要先看以下Python的注释有哪些 ?

  • 单行注释
  • 多行注释

单行注释

# 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用

示例代码如下:

# 这是第一个单行注释
print("hello python")

为了保证代码的可读性,# 后面建议先添加一个空格,然后再编写相应的说明文字

多行注释(块注释)

如果注释信息很多,一行无法显示,就可以使用多行注释

要在 Python 程序中使用多行注释,可以用一对连续的 三个 引号(单引号和双引号都可以)

示例代码如下:

"""
这是一个多行注释在多行注释之间,可以写很多很多的内容……
""" 
print("hello python")

注释不是越多越好,对于一目了然的代码,不需要添加注释

标识符命名规则

开发人员在程序中自定义的一些符号和名称。标识符是自己定义的, 如变量名 、函数名等

标识符由字母、下划线和数字组成,且数字不能开头

python中的标识符是区分大小写的

命名规则

1、下滑线命名法

用下划线“_”来连接所有的单词,比如 hello_world

  1. 见名知意

  2. 起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性) 比如: 名字 就定义为 name , 定义学生 用 student

2、驼峰命名法

大驼峰式命名法(upper camel case):

  • 每一个单字的首字母都采用大写字母,

    例如:FirstName、HelloWorld

小驼峰式命名法(lower camel case):

  • 第一个单词以小写字母开始;

  • 第二个单词的首字母大写,

    例如:helloWorld、firstName

注意

所有的变量名、函数名 都是用下划线命名法

类名使用大驼峰命名法

python命名规则
  • python中的标识符是区分大小写的

  • 变量、函数名全部用小写与下划线

  • 常量(配置文件变量、不修改的变量)全部用大写

  • 类名用大驼峰命名法

案例: 命名规范查看

# 类名用大驼峰 类与其他内容用两个换行隔开
class Student(object):# 变量名之间用空格隔开def __init__(self, hello):self.hello = hello# 函数与函数之间加换行def print_hello_world(self):"""函数名用下划线命名法尽量满足见名知意"""print(f"hello.jpg {self.hello} !")def PrintHelloWorld(self):"""大驼峰命名法提示有问题"""print(f"hello.jpg {self.hello} !")def printHelloWorld(self):"""小驼峰命名法提示有问题"""print(f"hello.jpg {self.hello} !")def printhelloworld(self):"""直接写很难读懂"""print(f"hello.jpg {self.hello} !")def PRINTHELLOWORLD(self):"""直接写很难读懂"""print(f"hello.jpg {self.hello} !")"""团队规范"""
# 变量名使用下划线命名法
# 尽量满足见名知意
# 对象也是变量
student = Student("world")
student.print_hello_world()
关于代码规范
  • Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档
  • 其中第 8 篇文档专门针对 Python 的代码格式 给出了建议,也就是俗称的 PEP 8
  • 文档地址:https://www.python.org/dev/peps/pep-0008/
  • 谷歌有对应的中文文档:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步

编程习惯的重要性
  1. 可以方便排查错误
  2. 方便自己看的代码
  3. 便于别人看懂你的代码(团队协作)

良好的编程习惯的养成不能靠说,要靠多练,要在大量的编程中将其融入骨髓中。

一套系统应该具有统一的编程风格,任何编程风格都不可能是完美,应该从可维护性、可读性方面继续保持一种编程风格,而不要将多种编程风格混合在一套系统中,对于新手,难以理解如此多种风格的编码。

ctrl + alt + l 快速格式化代码

输入输出与变量
输出

print() 方法用于打印输出,最常见的一个函数。

以下是 print() 方法的语法:

print(*objects, sep=' ', end='\n', file=sys.stdout)

参数

  • objects – 复数,表示可以一次输出多个对象。输出多个对象时,用分隔符分割。
  • sep – 用来间隔多个对象,默认值是一个空格。
  • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
  • file – 要写入的文件对象。
输入

input() 函数接受一个标准输入数据,返回为 string 类型。

>>>a = input("input:")
input:123                  # 输入整数
>>> type(a)
<class 'str'>              # 字符串
变量

程序就是用来处理数据的,而变量就是用来存储数据的

  • 在 Python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
  • 等号(=)用来给变量赋值
    • = 左边是一个变量名
    • = 右边是存储在变量中的值
  • 直接使用之前已经定义的变量
  • 变量名只有在 第一次出现 才是 定义变量
  • 变量名再次出现,不是定义变量,而是直接使用之前定义过的变量
  • 在程序开发中,可以修改之前定义变量中保存的值吗?
    • 可以
    • 变量中存储的值,就是可以
变量名 =

变量定义之后,后续就可以直接使用了

1.2 数值类型

int(整型)

Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)

型,也被称之为整数。整数就是数学中的数字。

整型在Python中不受长度限制大小范围

使用 type 函数可以查看一个变量的类型

In [1]: 1
Out[1]: 1In [2]: type(1)
Out[2]: int
浮点型(float)

小数类型

小数

In [1]: 1.0
Out[1]: 1.0In [2]: type(1.0)
Out[2]: float

运算、运算符优先级与整型是一样。

类型转化

浮点数转化为整型(显示转化)

In [3]: int(1.0)
Out[3]: 1In [4]: float(1)
Out[4]: 1.0

隐式转化,系统背后默认进行转换

In [5]: 1/2
Out[5]: 0.5

1.3 字符串

字符串是一种不可变的序列类型

字符串创建

字符串是 Python 中最常用的数据类型。我们可以使用引号( " )来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。

单引号和双引号

Python 中我们都知道单引号和双引号都可以用来表示一个字符串,比如

print("What's your name?")结果:
"What's your name?"print('"python"是一门优秀的语言')结果:
"python"是一门优秀的语言一个单引号并不是单引号,它是字符串创建的格式

总体来说没有任何区别,只在单引号当普通字符时容易区分:如 var = “let’s go”

三引号创建块字符串 长字符串

# 三引号实现块注释
""" 文档注释
三引号实现块注释
"""
''''''
字符串格式化

把不是字符类型的 转变成字符串

在 Python 中可以使用 print 函数将信息输出到控制台

如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符

format

此函数可以快速的处理各种字符串,增强了字符串格式化的功能。基本语法是使用{}和:来替代%。format函数可以接受不限各参数,位置可以不按照顺序

name = '张三'
age = 18
nickname = '法外狂徒'# format 用 {} 占位
print('姓名:{},年龄{},外号:{} '.format(name, age, nickname))
print('hello {} 你今年已经{}岁了'.format(name, age))
# 保留小数点后两位
In [1]: '{:.2f}'.format(12.333)
Out[1]: '12.33'In [2]: '{a:.2f}'.format(a=12.333)
Out[2]: '12.33'In [3]: '{a:6.2f}'.format(a=12.333)
Out[3]: ' 12.33'
%s

% 被称为 格式化操作符,专门用于处理字符串中的格式

  • 包含 % 的字符串,被称为 格式化字符串
  • % 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符
格式化字符含义
%s字符串
%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f浮点数,%.2f 表示小数点后只显示两位
%%输出 %

语法格式如下:

print("格式化字符串 %s" % 变量1)print("格式化字符串" % (变量1, 变量2...))
name = '张三'
age = 18
nickname = '法外狂徒'name2 = '李四'
age2 = 19
nickname2 = '帮凶'# %s 用 %s 占位
print('姓名:%s' % name)
# 多个参数
print('%s,%s 哦嗨呦' % (name, name2))
格式化字符含义
%s字符串
%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f浮点数,%.2f 表示小数点后只显示两位
%%输出 %
%c%ASCII字符
%o%8进制
%x%16进制
%e%科学计数法
f

f’{}'形式,并不是真正的字符串常量,而是一个运算求值表达式,可以很方便的用于字符串拼接、路径拼接等

name = '张三'# f 在字符串中嵌入变量
print(f'hello {name} !')
案例:猫眼top100网址

猫眼top100的网址有以下特点:

第一页:https://maoyan.com/board/4?offset=0第二页:https://maoyan.com/board/4?offset=10第三页:https://maoyan.com/board/4?offset=20....第十页:https://maoyan.com/board/4?offset=90

请分别使用三种字符串构建的方法创建所有的请求地址

1.4 字符串常用方法

字符串是不可变数据类型,所有的操作都是返回新的一个列表,不会修改原有列表

字符串 能够使用的 方法 如下:

In [1]: hello_str.
hello_str.capitalize    hello_str.isidentifier  hello_str.rindex
hello_str.casefold      hello_str.islower       hello_str.rjust
hello_str.center        hello_str.isnumeric     hello_str.rpartition
hello_str.count         hello_str.isprintable   hello_str.rsplit
hello_str.encode        hello_str.isspace       hello_str.rstrip
hello_str.endswith      hello_str.istitle       hello_str.split
hello_str.expandtabs    hello_str.isupper       hello_str.splitlines
hello_str.find          hello_str.join          hello_str.startswith
hello_str.format        hello_str.ljust         hello_str.strip
hello_str.format_map    hello_str.lower         hello_str.swapcase
hello_str.index         hello_str.lstrip        hello_str.title
hello_str.isalnum       hello_str.maketrans     hello_str.translate
hello_str.isalpha       hello_str.partition     hello_str.upper
hello_str.isdecimal     hello_str.replace       hello_str.zfill
hello_str.isdigit       hello_str.rfind

提示:正是因为 python 内置提供的方法足够多,才使得在开发时,能够针对字符串进行更加灵活的操作!应对更多的开发需求!

查找和替换
方法用法
string.strip()默认去掉 string 左右两边的空白字符
string.replace(old_str, new_str)把 string 中的 old_str 替换成 new_str
string.split()默认以空白字符进行分割
string.join(seq)将 seq 中所有的元素(字符串类型)合并为一个新的字符串
提问:如何改变字符串

将下面的字符串中 world 改成 Python

hello = "hello world !"print(hello.replace('world', 'Python'))print(hello)

字符串是一种不可变的数据类型。所有操作字符的方法都是返回一个新的字符串。可以用返回的新的字符串覆盖掉之前的字符串。

转义字符

在需要在字符中使用特殊字符时,python 用反斜杠转义字符。如下表:

转义字符描述
\(在行尾时)续行符
\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出
原始字符串

由于字符串中的反斜线都有特殊的作用,因此当字符串中包含反斜线时,就需要使用转义字符 \ 对字符串中包含的每个 ‘’ 进行转义。

比如说,我们要写一个关于 Windows 路径 G:\publish\codes\02\2.4 这样的字符串,如果在 Python 程序中直接这样写肯定是不行的,需要使用 \ 转义字符,对字符串中每个 ‘’ 进行转义,即写成 G:\publish\codes\02\2.4 这种形式才行。

有没有觉得这种写法很啰嗦,有没有更好的解决办法呢?答案是肯定的,借助于原始字符串可以很好地解决这个问题。

原始字符串以“r”开头,它不会把反斜线当成特殊字符。因此,上面的 Windows 路径可直接写成如下这种形式:

# 原始字符串包含的引号,同样需要转义
s2 = r'"Let\'s go", said Charlie'
print(s2)

1.5 布尔类型(bool)

python 中布尔值使用常量 True 和 False来表示;注意大小写

boolint 的子类(继承 int ),故 True == 1 False == 0 是会返回 Ture

bool 类型只有两种状态真或假

In [17]: bool(-1)
Out[17]: TrueIn [18]: bool(0)
Out[18]: FalseIn [19]: bool(None)
Out[19]: FalseIn [20]: bool("")
Out[20]: FalseIn [21]: bool(" ")
Out[21]: TrueIn [22]: def a():...:     pass...:...: bool(a)
Out[22]: True

总结

True 对 False 错

布尔类型只有两种状态,True or Flase 。数字除了零之外,其余均为 True ,字符串除了空字符串之外都为True,对象除了空对象之外,其余均为 True

默认情况下,所有类型都可以转化为布尔类型

1.6 运算符

算数运算符

因为是整数,所以也可以进行数学中的基本运算。

  • 算数运算符是 运算符的一种
  • 是完成基本的算术运算使用的符号,用来处理四则运算
运算符描述实例
+10 + 20 = 30
-10 - 20 = 10
*10 * 20 = 200
/10 / 20 = 0.5
//取整除返回除法的整数部分(商) 9 // 2 输出结果 4
%取余数返回除法的余数 9 % 2 = 1
**又称次方、乘方,2 ** 3 = 8
# 取余
In [16]: 9 % 4
Out[16]: 1In [17]: 9 % 3
Out[17]: 0In [18]: 2 ** 3
Out[18]: 8

除此之外,“+”还可以作为字符串(包括后续要介绍的序列)的连接运算符。

s1 = 'Hello, '
s2 = 'Charlie'
# 使用+连接两个字符串
print(s1 + s2)

算数运算符的优先级

和数学中的运算符的优先级一致,在 Python 中进行数学计算时,同样也是:

  • 先乘除后加减
  • 同级运算符是 从左至右 计算
  • 可以使用 () 调整计算的优先级

以下表格的算数优先级由高到最低顺序排列

运算符描述
**幂 (最高优先级)
* / % //乘、除、取余数、取整除
+ -加法、减法

例如:

  • 2 + 3 * 5 = 17
  • (2 + 3) * 5 = 25
  • 2 * 3 + 5 = 11
  • 2 * (3 + 5) = 16
赋值运算符

以下假设变量a为10,变量b为20:

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a
//=取整除赋值运算符c //= a 等效于 c = c // a
比较运算符
比较运算符功能
>大于,如果运算符前面的值大于后面的值,则返回 True;否则返回 False
>=大于或等于,如果运算符前面的值大于或等于后面的值,则返回 True;否则返回 False
<小于,如果运算符前面的值小于后面的值,则返回 True;否则返回 False
<=小于或等于,如果运算符前面的值小于或等于后面的值,则返回 True;否则返回 False
==等于,如果运算符前面的值等于后面的值,则返回 True;否则返回 False
!=不等于,如果运算符前面的值不等于后面的值,则返回 True;否则返回 False
逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" ,两个条件都满足(a and b) 返回 20。
orx or y布尔"或",两个条件中满足一个(a or b) 返回 10。
notnot x布尔"非" ,否定之前的结果not(a and b) 返回 False

逻辑运算符案例:

x = 1
y = 0print(x and y)
print(x or y)
print(not x)
print(not y)# 案例升级
x = 3 > 4
y = 5 > 4
运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符描述
**指数 (最高优先级)
* / % //乘,除,取模和取整除
&位 ‘AND’
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符
案例:运算符优先级
r = 4 > 2 ** 4 or True is 1 and '4' in "345"
if r:print('猜猜我的结果', r)
else:print('猜猜我的结果', r)

1.7 总结

1、在演练中,一共有几种数据类型?

  • 4 种
  • str —— 字符串
  • bool —— 布尔(真假)
  • int —— 整数
  • float —— 浮点数(小数)

2、在 Python 中定义变量时需要指定类型吗?

  • 不需要
  • Python 可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型
  1. 字符串是一种什么结构?它能不能被修改?
    • 字符串是一种序列类型
    • 字符串不能被修改

1.8 拓展知识

常见错误类型
SyntaxError: unexpected EOF while parsing 
语法错误,多了无法解析的符号,检查一下是否多了或者少了括号SyntaxError: invalid character in identifier 
语法错误有无效标识符,检查一下中文符号IndexError: list index out of range 
索引错误,超出索引范围,检查一下列表是否为空TypeError: must be str, not int
数据类型错误,该数据不是正确的数据类型,比如字符串和数字直接拼接,检查一下数据类型IndentationError: expected an indented block
缩进错误,检查一下代码的缩进是否正确KeyError: 'fond'
键错误,字典中没有该的key对应的值,检查一下键名或者字典数据是否正确ValueError: substring not found
值错误,输入的数据类型跟要求的不符合NameError: name 'a' is not defined
未初始化对象,变量没有被定义AttributeError: 'tuple' object has no attribute 'remove'
属性错误,该对象没有这个属性、方法,检查一下数据类型SystemExit   
解释器请求退出,出现在exit()函数后IOError 
输入/输出操作失败ImportError 
导入模块/对象失败,检查一下模块是否能够正常使用UnicodeDecodeError/UnicodeEncodeError/UnicodeTranslateError
Unicode 解码/编码/转换/时的错误
成员运算符

innot in 被称为 成员运算符

成员运算符用于 测试 序列中是否包含指定的 成员

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False3 in '123' 返回 True
not in如果在指定的序列中没有找到值返回 True,否则返回 False3 not in '123' 返回 False
身份运算符

is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比较是不是同一片叶子(即比较的id是否相同,这id类似于人的身份证标识)。

身份运算符用于比较两个对象的存储单元

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

id() 函数用于获取对象内存地址。

身份运算符案例:

# %% 身份运算符
one = 1
o = 1
print(o is one)  # 变量驻存在内存中a1 = [1]
a2 = [1]print(a1 is a2)print(id(o), id(one))
print(id(a1), id(a2))# is 与 ==print(a1 is a2)
print(a1 == a2)
字符串格式化
# 保留小数点后两位
In [1]: '{:.2f}'.format(12.333)
Out[1]: '12.33'In [2]: '{a:.2f}'.format(a=12.333)
Out[2]: '12.33'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/101849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始:深入理解Kubernetes架构及安装过程

K8s环境搭建 文章目录 K8s环境搭建集群类型安装方式环境规划克隆三台虚拟机系统环境配置集群搭建初始化集群&#xff08;仅在master节点&#xff09;配置环境变量&#xff08;仅在master节点&#xff09;工作节点加入集群&#xff08;knode1节点及knode2节点&#xff09;安装ca…

1806_emacs_org-mode归档的时候修改归档文件名称

全部学习汇总&#xff1a;GreyZhang/g_org: my learning trip for org-mode (github.com) 前面已经基本了解了org-mode的归档的规则或者方法&#xff0c;但是还有一点跟我现在的工作流有点不相符。我自己的工作流中会每月做一次工作的整理总结&#xff0c;因此归档的文件是按照…

KubeVela可持续测试应用部署之Mock基础设施

Mock接口是我们常用的功能测试方案,有时候依赖的接口未开发完成或者依赖的第三方接口不提供测试环境等,只有Mock才能跑通流程。 我们基于KubeVela开发的云原生应用交付平台,提供如初始化基础设施导入、中间件部署共用基础设施等相关能力的测试,需要依赖基础设施。虽然terr…

C++ PCL点云局部颜色变换

程序示例精选 C PCL点云局部颜色变换 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《C PCL点云局部颜色变换》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学习与应用…

基于SpringBoot的大学城水电管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员模块的实现 领用设备管理 消耗设备管理 设备申请管理 状态汇报管理 用户模块的实现 设备申请 状态汇报 用户反馈 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛…

Mysql 日常命令记录

索引操作 加联合组件&#xff1a; ALTER TABLE dws_stock_age_material_transactions_total_pri_rpt_update ADD INDEX index_sio (organization_id(16),item_code,subinventory_code); 查看索引&#xff1a; SHOW INDEX FROM dws_stock_age_material_transactions_detail_…

ETX 高性能远程桌面访问方案在医疗保健保健行业的应用案例

飞利浦医疗存在的挑战 1、对集成解决方案的多个系统进行远程访问连接&#xff1b; 2、医疗保健专业人员需要高质量的图形应用程序显示&#xff1b; 3、安全的远程访问&#xff0c;能够保护敏感数据和关键患者数据。 取得的成果 1、连接多个系统&#xff0c;以增强肿瘤治疗的交…

【SMOKE-CMAQ实践技术】10天,从小白-精通一站式技能提升

大气污染物排放是空气污染的源头&#xff0c;气象因素是影响污染程度的重要因素&#xff0c;因此空气质量模式要求气象资料和污染物排放清单作为输入&#xff0c;其中由于大气污染源复杂性、数据滞后性、动态变化、规律性不明显等特点&#xff0c;使得大气污染源排放清单输入准…

深度学习简述

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

点击劫持:X-Frame-Options 未配置

前言 X-Frame-Options作为HTTP头的一部分&#xff0c;是一种用于保护网站免受点击劫持攻击的安全措施。网站可以通过设置X-Frame-Options或csp报头来控制网站本身是否可以被嵌套到iframe中。 漏洞描述 Clickjacking&#xff08;点击劫持&#xff09;是一种安全漏洞&#xff…

Android 项目增加 res配置

main.res.srcDirs "src/main/res_test" build->android->sourceSets

简要归纳UE5 Lumen全局光照原理

一、Jim kajiya老爷子的渲染方程&#xff1a; 求全局光照就是求解渲染方程&#xff0c;我们将两边都有未知数的渲染方程变换成离散形式&#xff1a; 更形象的描述这个离散的渲染方程&#xff1a; 要给每个三角形着色就得先判断光线有没有和它相交&#xff0c;以下是求光线和三…

用Python实现数据透视表、音频文件格式转换

用Python实现数据透视表、音频文件格式转换 1.用Python实现数据透视表 import pandas as pdif __name__ __main__:# df pd.read_excel(广告-资源位变现效率监测看板-1.xlsx, sheet_name各业务在该资源位的明细数据)df pd.read_excel(填充率分析-Q3.xlsx, sheet_name库存底…

hive数据表创建

目录 分隔符 分区表 二级分区 分桶表 外部表 分隔符 CREATE TABLE emp( userid bigint, emp_name array<string>, emp_date map<string,date>, other_info struct<deptname:string, gender:string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t COL…

CTF网络安全题目个人导航【持续更新】

CTF-WEB导航 WEBSQLRCE反序列化文件上传SSTIXXE综合WEB SQL [SWPUCTF 2021 新生赛]sql - 联合注入 [SWPUCTF 2021 新生赛]easy_sql - 联合注入||报错注入||sqlmap [NSSRound#1 Basic]sql_by_sql - 二次注入+布尔盲注||sqlmap [NISACTF 2022]join-us - 报错注入&无列名注入…

openmp 通用核心 学习 1

目录 函数&#xff1a; 编译指令&#xff1a; 子句&#xff1a; #pragma omp parallel 函数&#xff1a; int omp_get_thread_num() //获取线程ID int omp_get_num_threads() //获取线程数量&#xff08;只能在并行区域内使用&#xff0c;在并行区域外使用只能得到1&…

【NUMA平衡】浅入介绍NUMA平衡技术及调度方式

在云计算方案设计或项目问题处理的时候&#xff0c;经常会遇到NUMA平衡的问题&#xff0c;进行让人不清楚NUMA到底有何用&#xff0c;如何发挥作用&#xff0c;本文就NUMA技术原理和调度进行简要整理&#xff0c;方便后续需要时候查阅学习。 一.背景 一般的对称多处理器中&am…

【Java学习之道】异常的处理方式

引言 今天我们将聚焦于异常处理&#xff0c;这是每一个Java程序员都应该掌握的核心技能之一。通过学习这些内容&#xff0c;你将能够更好地应对程序中的意外情况&#xff0c;提高程序的健壮性和可靠性。 一、异常的处理方式 在Java中&#xff0c;异常处理主要通过使用try-ca…

竞赛选题 深度学习 大数据 股票预测系统 - python lstm

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天…

信创办公–基于WPS的EXCEL最佳实践系列 (单元格与行列)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;单元格与行列&#xff09; 目录 应用背景操作步骤1、插入和删除行和列2、合并单元格3、调整行高与列宽4、隐藏行与列5、修改单元格对齐和缩进6、更改字体7、使用格式刷8、设置单元格内的文本自动换行9、应用单元格样式10、插…