当前位置: 首页 > news >正文

Python编程进阶 关于变量引用这点事

文章目录

    • 一、变量的引用
      • 1、 引用的概念
      • 2、变量引用的示例
      • 3、函数的参数和返回值的传递
    • 二、可变和不可变类型
      • 1、分类
      • 2、不可变类型
      • 3、可变类型
      • 4、哈希 hash
    • 三、局部变量和全局变量
      • 1、 局部变量
        • (1)局部变量的作用
        • (2)局部变量的生命周期
      • 2、 全局变量
        • (1)函数不能直接修改 `全局变量的引用`
        • (2)在函数内部修改全局变量的值
        • (3)全局变量定义的位置
        • (4)全局变量命名的建议

一、变量的引用

  • 变量 和 数据 都是保存在 内存 中的
  • Python函数 的 参数传递 以及 返回值 都是靠 引用 传递的

1、 引用的概念

Python

  • 变量数据 是分开存储的
  • 数据 保存在内存中的一个位置
  • 变量 中保存着数据在内存中的地址
  • 变量记录数据的地址,就叫做 引用
  • 使用 id() 函数可以查看变量中保存数据所在的 内存地址

注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用

  • 变量 不再 对之前的数据引用
  • 变量 改为 对新赋值的数据引用

2、变量引用的示例

首先我们来证明一下,对于变量的赋值实际上是修改了数据的引用这个描述:
在这里插入图片描述

由此可知,在 Python 中,变量的名字类似于 便签纸 贴在 数据

  • 定义一个整数变量 a,并且赋值为 1
代码图示
a = 1在这里插入图片描述
  • 将变量 a 赋值为 2
代码图示
a = 2[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jVL2OcL4-1629707290122)(media/14982751015713/006_ab2tag.png)]在这里插入图片描述
  • 定义一个整数变量 b,并且将变量 a 的值赋值给 b
代码图示
b = a在这里插入图片描述

变量 b 是第 2 个贴在数字 2 上的标签

3、函数的参数和返回值的传递

Python 中,函数的 实参/返回值 都是是靠 引用 来传递来的

(注:%x为转成无符号十六进制数、id函数返回的结果是该参数对应的内存地址)

def test(num):print("-" * 50)print("%d 在函数内的内存地址是 %x" % (num, id(num)))result = 100print("返回值 %d 在内存中的地址是 %x" % (result, id(result)))print("-" * 50)return  resulta = 10
print("调用函数前 内存地址是 %x" % id(a))r = test(a)print("调用函数后 实参内存地址是 %x" % id(a))
print("调用函数后 返回值内存地址是 %x" % id(r))

结果

10 在函数内的内存地址是 7fee4217220
返回值 100 在内存中的地址是 7fee4217d60
--------------------------------------------------
调用函数后 实参内存地址是 7fee4217220
调用函数后 返回值内存地址是 7fee4217d60

二、可变和不可变类型

1、分类

  • 不可变类型,内存中的数据不允许被修改:

    • 数字类型 int, bool, float, complex, long(2.x)
    • 字符串 str
    • 元组 tuple
  • 可变类型,内存中的数据可以被修改:

    • 列表 list
    • 字典 dict

2、不可变类型

a = 1
a = "hello"
a = [1, 2, 3]
a = [3, 2, 1]

3、可变类型

demo_list = [1, 2, 3]print("定义列表后的内存地址 %d" % id(demo_list))demo_list.append(999)
demo_list.pop(0)
demo_list.remove(2)
demo_list[0] = 10print("修改数据后的内存地址 %d" % id(demo_list))
print("修改后列表内元素为", demo_list)
demo_dict = {"name": "小明"}print("定义字典后的内存地址 %d" % id(demo_dict))demo_dict["age"] = 18
demo_dict.pop("name")
demo_dict["name"] = "老王"print("修改数据后的内存地址 %d" % id(demo_dict))
print("修改后字典内元素为", demo_dict)

结果

定义列表后的内存地址 3887688
修改数据后的内存地址 3887688
修改后列表内元素为 [10, 999]
定义字典后的内存地址 31217928
修改数据后的内存地址 31217928
修改后字典内元素为 {'age': 18, 'name': '老王'}

注意:字典的 key 只能使用不可变类型的数据

注意

  1. 可变类型的数据变化,是通过 方法 来实现的
  2. 如果给一个可变类型的变量,赋值了一个新的数据,引用会修改
    • 变量 不再 对之前的数据引用
    • 变量 改为 对新赋值的数据引用

4、哈希 hash

  • Python 中内置有一个名字叫做 hash(o) 的函数
    • 接收一个 不可变类型 的数据作为 参数
    • 返回 结果是一个 整数
  • 哈希 是一种 算法,其作用就是提取数据的 特征码(指纹)
    • 相同的内容 得到 相同的结果
    • 不同的内容 得到 不同的结果
  • Python 中,设置字典的 键值对 时,会首先对 key 进行 hash 已决定如何在内存中保存字典的数据,以方便 后续 对字典的操作:增、删、改、查
    • 键值对的 key 必须是不可变类型数据
    • 键值对的 value 可以是任意类型的数据

三、局部变量和全局变量

局部变量 是在 函数内部 定义的变量,只能在函数内部使用

全局变量 是在 函数外部定义 的变量(没有定义在某一个函数内),所有函数 内部 都可以使用这个变量

提示:在其他的开发语言中,大多 不推荐使用全局变量 —— 可变范围太大,导致程序不好维护!

1、 局部变量

  • 局部变量 是在 函数内部 定义的变量,只能在函数内部使用
  • 函数执行结束后,函数内部的局部变量,会被系统回收
  • 不同的函数,可以定义相同的名字的局部变量,但是 彼此之间 不会产生影响

(1)局部变量的作用

  • 在函数内部使用,临时 保存 函数内部需要使用的数据
def demo1():num = 10print(num)num = 20print("修改后 %d" % num)def demo2():num = 100print(num)demo1()
demo2()
print("over")

结果

10
修改后 20
100
over

(2)局部变量的生命周期

  • 所谓 生命周期 就是变量从 被创建被系统回收 的过程
  • 局部变量函数执行时 才会被创建
  • 函数执行结束后 局部变量 被系统回收
  • 局部变量在生命周期 内,可以用来存储 函数内部临时使用到的数据

2、 全局变量

  • 全局变量 是在 函数外部定义 的变量,所有函数内部都可以使用这个变量
# 定义一个全局变量
num = 10def demo1():print(num)def demo2():print(num)demo1()
demo2()print("over")

注意:函数执行时,需要处理变量时 会:

  1. 首先 查找 函数内部 是否存在 指定名称 的局部变量如果有,直接使用
  2. 如果没有,查找 函数外部 是否存在 指定名称 的全局变量如果有,直接使用
  3. 如果还没有,程序报错!

(1)函数不能直接修改 全局变量的引用

  • 全局变量 是在 函数外部定义 的变量(没有定义在某一个函数内),所有函数 内部 都可以使用这个变量

提示:在其他的开发语言中,大多 不推荐使用全局变量 —— 可变范围太大,导致程序不好维护!

  • 在函数内部,可以 通过全局变量的引用获取对应的数据
  • 但是,不允许直接修改全局变量的引用 —— 使用赋值语句修改全局变量的值
num = 10def demo1():print("demo1" + "-" * 50)# 只是定义了一个局部变量,不会修改到全局变量,只是变量名相同而已num = 100print(num)def demo2():print("demo2" + "-" * 50)print(num)demo1()
demo2()print("over")

注意:只是在函数内部定义了一个局部变量而已,只是变量名相同 —— 在函数内部不能直接修改全局变量的值

(2)在函数内部修改全局变量的值

  • 如果在函数中需要修改全局变量,需要使用 global 进行声明
num = 10def demo1():print("demo1" + "-" * 50)# global 关键字,告诉 Python 解释器 num 是一个全局变量global num# 只是定义了一个局部变量,不会修改到全局变量,只是变量名相同而已num = 100print(num)def demo2():print("demo2" + "-" * 50)print(num)demo1()
demo2()print("over")

(3)全局变量定义的位置

  • 为了保证所有的函数都能够正确使用到全局变量,应该 将全局变量定义在其他函数的上方
a = 10def demo():print("%d" % a)print("%d" % b)print("%d" % c)b = 20
demo()
c = 30

注意

  • 由于全局变量 c,是在调用函数之后,才定义的,在执行函数时,变量还没有定义,所以程序会报错!

代码结构示意图如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5AoROj8-1629702944037)(media/14982751015713/001_%E4%BB%A3%E7%A0%81%E7%BB%93%E6%9E%84%E7%A4%BA%E6%84%8F%E5%9B%BE.png)]

(4)全局变量命名的建议

  • 为了避免局部变量和全局变量出现混淆,在定义全局变量时,有些公司会有一些开发要求,例如:
  • 全局变量名前应该增加 g_ 或者 gl_ 的前缀

提示:具体的要求格式,各公司要求可能会有些差异

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

MATLAB基础语法之拟合算法

%data1.mat数据如下 %导入data1的数据 load data1%以x为自变量,y为因变量,o为点的形状作散点图 plot(x,y,o)% 给x和y轴加上标签 xlabel(x的值)ylabel(y的值)%返回data1数据行数n 19 n size(x,1); %最小二乘法求解拟合曲线参数 k (n*su…...

SpringBoot集成支付宝支付(沙箱环境)

项目结构&#xff1a; 项目依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boo…...

Golang高并发:生产者消费者模型

Golang高并发&#xff1a;生产者消费者模型 我们本篇博文主要通过几个例子来介绍生产者消费者模型。 案例1 下面看看第一个例子中的生产者协程。 //生产者协程go func() {for {product : strconv.Itoa(time.Now().Nanosecond())chanShop <- "商品" productf…...

反射动态修改注解属性值

注解Two中有two属性表&#xff0c;在TestTwoAnno这个类初始化结束后&#xff0c;修改Two注解的two属性。 import com.enterprise.support.rocketmq.annotation.Two; import org.springframework.beans.factory.InitializingBean; import org.springframework.stereotype.Compo…...

(Java)获取视频中的每一帧图像

代码 /*** 根据读取到的视频文件&#xff0c;获取视频中的每一帧图片* param video 视频文件* http://192.168.0.107:9087/datago/detectsysfiles/204/createFile/frameFile/001/frameFile001.mp4* param picPath 图片的保存路径* E:/detectsysfiles/204/createFil…...

Java工作资料!同花顺java开发怎么样

前言 昨天&#xff0c;有个女孩子问我提高数据库查询性能有什么立竿见影的好方法&#xff1f; 这简直是一道送分题&#xff0c;我自豪且略带鄙夷的说&#xff0c;当然是加「索引」了。 她又不紧不慢的问&#xff0c;索引为什么就能提高查询性能。 这还用问&#xff0c;索引…...

js/python 抓取网页数据,导出execl

文章目录前言操作代码前言 js的方式&#xff1a;直接使用post获取所有的数据&#xff0c;因为是分页数据有total显示所有的数据&#xff0c;在请求的时候&#xff0c;就可以直接把每页的数据显示为total的值。没有太大的技术含量 python方式&#xff1a;直接遍历页码获取数据&…...

SpringCloud Alibaba实战(7:nacos注册中心管理微服务)

源码地址&#xff1a;https://gitee.com/fighter3/eshop-project.git 持续更新中…… 在上一节我们已经完成了Nacos Server的本地部署&#xff0c;这一节我们学习如何将Nacos作为注册中心&#xff0c;管理微服务。 1、注册中心简介 1.1、什么是注册中心 在微服务的体系里&am…...

xboot大神的libonnx环境搭建

1.get代码 git clone gitgitee.com:xboot/libonnx.git 2.安装依赖&#xff1a; sudo apt-get install libsdl2-dev sudo apt-get install libsdl2-gfx-dev 3.编译 4.结果 5.验证 进入examples/mnist&#xff0c;执行mnist. 结束&#xff01;...

Visual Studio

Visual Studio 2019 Enterprise&#xff08;企业版&#xff09;&#xff1a;BF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2019 Professional&#xff08;专业版&#xff09;&#xff1a;NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y...

数据结构与算法常用总结

数据结构1.常用数据结构及其原理1.1 数组1.2 链表1.3 队列1.4 栈1.5 哈希表1.6 二叉树2.常见数据结构面试题2.1数组和链表的区别2.2 排序算法2.3 栈结构与队列的区别1.常用数据结构及其原理 1.1 数组 每一个数组元素的位置由数字编号&#xff0c;称为下标或者索引(index)。大根…...

Linux中文件的分类

在Linux中&#xff0c;一切皆文件&#xff0c;Linux系统中文件的分类如下&#xff1a; 1、文本文件。文件组成主要是ASCII字符&#xff0c;文件作用是记录普通文件&#xff0c;如shell脚本文件、源文件、TXT文件等。 2、二进制文件。文件由二进制0、1组成&#xff0c;文件作用是…...

你花了多久弄明白架构设计?多个java应用同时访问数据库

01 分布式限流&#xff1a;NginxZooKeeper 1.1 分布式限流之Nginx 请解释一下什么是 Nginx? 请列举 x Nginx 的一些特性。 请列举 x Nginx 和 和 Apache 之间的不同点 请解释 x Nginx 如何处理 P HTTP 请求。 在 x Nginx 中&#xff0c;如何使用未定义的服务器名称来阻止…...

易-----

易 本人00后&#xff0c;近期在学子平、八字命理、易经玄学方面&#xff0c;如也是玄学爱好者&#xff0c;可以加联系方式一起讨论、学习&#xff0c;年龄相仿更好。 微信&#xff1a;1783176946 事实上还有两种《易经》&#xff0c;一种叫《连山易》&#xff0c;一种叫《归藏…...

5852. 最小化目标值与所选元素的差 记忆化dfs,关键在于你怎么定义变量

目录解题思路代码解题思路 当时是个周赛题&#xff0c;试图利用爆搜解决的。。。。 显然不行&#xff0c;然后又听有人说是个背包QAQ dl都欺负我(╥╯^╰╥)嘤嘤嘤 不过了解了二维数组第一维放行数第二维放和&#xff0c;&#xff0c;&#xff0c;瞬间感觉记忆化搜索又可以…...

Spring面试题复习(一)

Spring面试题复习&#xff08;一&#xff09; 一、Spring是什么&#xff1f; Spring是一个轻量级的开发框架&#xff0c;常说的Spring框架&#xff0c;就是指Spring Framework&#xff0c;它是很多模块的集合&#xff0c;这些模块可以帮助我们开发人员简化开发&#xff0c;这…...

_____

sel,1SELECT * FROM table sel,2SELECT * FROM table WHERE name 强哥 sel,3SELECT * FROM table ORDER BY updateTime DESC hui,1会 paiban,1排班 beifen,1备份 gaihao,1改好 dai,1待 tu,1图 dangran,1当然 minxian,1明显 mingxian,1明显 suji,1苏稽 shizhan,1适展 gaihaole…...

Python函数参数(必选、默认、可变、关键字)

Python函数参数&#xff08;必选、默认、可变、关键字&#xff09; 【参考】&#xff1a;https://blog.csdn.net/pql925/article/details/80999086 1. 必选参数 必选参数&#xff0c;即使用普通变量标识符标识形参&#xff0c;没有默认赋值或*星号。 def power2(x):return x*…...

如何快速打好Java基础 初学者常用哪些工具

如何快速打好Java基础&#xff0c;初学者常用哪些工具&#xff1f;从来不认为学好技术能和快速划上等号&#xff0c;对于技术而言&#xff0c;快速掌握的只是大体的技术框架&#xff0c;想要深入学习&#xff0c;还是需要时间的沉淀和技术经验的积累。 对于初学者而言&#xff…...

Android常见控件

设置进度条&#xff0c;加载 设置通知 权重分配的是剩余的空间...

Python已编辑好的文件问什么文件?

Python已经编译好的文件为后缀 .py文件...

04_set容器_查找和统计

#include<iostream> #include<string> #include<set> using namespace std;//查找 void test01() {set<int>s1;s1.insert(10);s1.insert(30);s1.insert(20);s1.insert(40);set<int>:: iterator pos s1.find(30);if (pos ! s1.end()){cout <&…...

js常见问题总结-DOM节点增删改查

DOM节点的增删改查 文章目录DOM节点的增删改查1.查找节点2.增加节点2.1 创建节点createElement()&#xff1a;创建一个dom节点2.2 父节点插入子节点2.3 同级插入节点3.修改节点3.1 替换节点3.2 clone节点4.删除节点4.1删除节点5.常见操作实现问题综合案例1.查找节点 getElemen…...

高瓴张磊:从学渣到投资大佬,也曾多次犯错

当年差点考不上初中的他&#xff0c;如今管理着超过5000亿元的资金。 来 源 | 财经新知&#xff08;ID&#xff1a;caijingxinzhi&#xff09; 作 者 | 端木清树 编 辑 | 伊页 1972年&#xff0c;河南省驻马店市的一对夫妻诞下一个男孩&#xff0c;并给他取了一个在当年绝对烂…...

UDP和TCP的特点和区别

1、UDP 和 TCP 的特点与区别 用户数据报协议 UDP&#xff08;User Datagram Protocol&#xff09; 是无连接的&#xff0c;尽最大可能交付&#xff0c;没有拥塞控制&#xff0c;面向报文&#xff08;对于应用程序传下来的报文不合并也不拆分&#xff0c;只是添加 UDP 首部&…...

Centos7启动Eclipse Ditto项目

Centos7启动Eclipse Ditto项目1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录2.安装Docker3.Eclipse Ditto1.安装Oracle VM VirtualBox虚拟机&#xff0c;并安装centos7详细安装记录 详见win10安装oracle vm virtualbox&#xff0c;并安装centos7详细…...

webui自动化测试框架(2)——对基本操作进行封装common

接上篇&#xff1a;webui自动化测试框架&#xff08;1&#xff09;——框架介绍 封装driver.py: driver的初始化&#xff0c;查找元素&#xff0c;点击元素&#xff0c;输入内容&#xff0c;切换iframe&#xff0c;切换Windows等 1.类&#xff0c;构造函数init里面适配浏览器…...

vue——父子组件的数据传递

父子组件的数据传递 1、 父>子&#xff08;通过属性的形式&#xff09;&#xff1a; &#xff08;1&#xff09;在子组件的标签里设置属性【如 :count“0” 】。给属性前面加上冒号&#xff0c;参数‘0’会变成数字格式&#xff08;变为一个js表达式&#xff09;&#xff…...

spring-boot-starter-redis和spring-boot-starter-data-redis的依赖的区别

spring-boot-starter-redis 1.4.1.RELEASE版本 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId><version>1.4.1.RELEASE</version></dependency> 具体引入的依…...

elementui 自定义表头 renderHeader的写法 给增加el-tooltip的提示

<el-table-column prop"status" :render-header"renderHeader" ><template slot-scope"scope">{{scope.row.status}}</template> </el-table-column> renderHeader(h, { column}) {return [column.property,h(el-toolt...

Android 5.0 以上将图片延伸到状态栏的方法

小米 9.0 亲测有效 首先附上效果&#xff1a; 实现方式&#xff1a; 在 styles.xml 中设置相应 Activity的主题&#xff1a; <style name"AppTheme" parent"Theme.AppCompat.Light.DarkActionBar"><!-- 其他设置 --><!-- 隐藏标题栏和设置…...

Android 如何更改状态栏颜色

然后在我们的Activity的onCreate方法中使用以上代码就可以了。 问题及解决方法 但是在使用之后&#xff0c;我们会发现&#xff0c;我们Activity的布局内容顶到了状态栏上去了&#xff0c;被状态栏及ActionBar所覆盖。解决方法很简单&#xff0c;只需要在我们的布局文件的根元…...

Android 最新状态栏处理

Android 中状态栏的处理无非两种&#xff0c;一种是显示隐藏状态栏&#xff0c;另外一种是状态栏字体颜色的修改&#xff0c;之前的写法都已经废弃了&#xff0c;来看看最新的版本中应该如何处理吧。 显示隐藏状态栏 先来看下之前的写法吧&#xff1a; /*** 设置透明状态栏*…...

dialog沉浸式状态栏android,Dialog全屏,去掉状态栏的方式

dialog即使设置全屏了&#xff0c;但还是有状态栏占用高度这&#xff1b;直接将下面这行代码放到你的dialog中即可overrideprotected void onstart() {super.onstart();int uioptions view.system_ui_flag_hide_navigation| view.system_ui_flag_layout_stable| view.system_u…...

android应用去掉状态栏_Android 显示、隐藏状态栏和导航栏

Android 显示、隐藏状态栏和导航栏控制状态栏显示&#xff0c;Activity的主题中配置全屏属性true控制状态栏显示&#xff0c;在setContentView之前设置全屏的flaggetWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREE…...

Android 状态栏背景颜色修改与状态栏字体颜色修改

public class StatusBarUtils {/*** 修改状态栏为沉浸式&#xff0c;并修改背景颜色与字体颜色** param activity*/TargetApi(19)public static void transparencyBar(Activity activity,int color) {if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {Window wi…...

艾美捷细胞失巢凋亡检测试剂盒测定原理化验方案

对细胞外基质&#xff08;ECM&#xff09;的粘附对于许多粘附细胞的生存和繁殖至关重要细胞。细胞与ECM的粘附丧失或不当粘附导致的细胞凋亡定义为“anoikis”。Anoikis&#xff0c;来自希腊语无家可归的意思&#xff0c;与生理学有关组织更新和细胞稳态的过程。 癌症发展和生长…...

fqrouter2 android apk,手机中继_fqrouter2_2.4.9.apk 0% Software antivirus(0/32) encontró infección - VirS

动态列表行为行为描述:访问网络详情信息:host:127.0.0.1 port:8318host:8.8.8.8 port:53host:208.67.222.222 port:443host:208.67.222.222 port:53host:208.67.220.220 port:443host:208.67.220.220 port:53host:199.91.73.222 port:3389host:199.91.73.222 port:53host:87.11…...

嵌入式openwrt平台(mt7688)上使用讯飞语音服务

还记得第一次接触嵌入式开发&#xff0c;boss拿着一块widora的mt7688板子让我去开发openwrt环境下的使用讯飞语音技术的应用。我的天啊&#xff0c;我第一次接触&#xff0c;这是什么东西。因此&#xff0c;我这个新手走了不少弯路&#xff0c;但是最后成功使程序跑起来了&…...

使用Svox实现中文转语音TextToSpeech(TTS)

小米测试通过&#xff01;Android默认没有安装TTS数据包&#xff0c;无法文字转语音&#xff0c;而在设置里推荐的语音包是Pico TTS,并不支持中文&#xff0c;如果需要读中文&#xff0c;需要下载另外的第三方语音包&#xff0c;如&#xff1a;eSpeak&#xff0c;Svox&#xff…...

Android中文语音合成(TTS)各家引擎对比

Android中文语音合成&#xff08;TTS&#xff09;各家引擎对比 Yao.GUET 2012-02-03,转载请注明出处&#xff1a;http://blog.csdn.net/Yao_GUET Android系统从1.6版本开始就支持TTS&#xff08;Text-To-Speech&#xff09;&#xff0c;也就是我们所说的语音合成&#xff0c;不…...

android7.1 修改TTS文字转语音选项的首选引擎默认项

进入framework/base/core/java/android/speech/tts/TextToSpeech.java这个文件&#xff0c; 发现有个参数 puclic static final String DEFAULT_ENGINE “com.svox.pico”; 这个附值应该就是谷歌默认引擎PicoTts的包名。 想要修改为其他引擎&#xff0c;比如讯飞语音的TTS(我这…...

[附源码]Python计算机毕业设计SSM流浪宠物申领信息平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…...

android直播sdk+美颜,直播中有没有美颜SDK有何区别?

原标题&#xff1a;直播中有没有美颜SDK有何区别&#xff1f;美颜的存在为直播、短视频这些社交平台带来了新体验&#xff0c;也促进了平台更好的发展。我们不难看到&#xff0c;现在的短视频和直播里面都有美颜SDK&#xff0c;玩法也是多种多样&#xff0c;美颜功能不断更新迭…...

android opengl美颜功能,Android OpenGL+Camera2渲染(4) —— 美颜功能实现

Android OpenGLCamera2渲染(1) —— OpenGL简单介绍Android OpenGLCamera2渲染(2) —— OpenGL实现Camera2图像预览Android OpenGLCamera2渲染(3) —— 大眼&#xff0c;贴纸功能实现Android OpenGLCamera2渲染(4) —— 美颜功能实现Android OpenGLCamera2渲染(5) —— 录制视频…...

android camera2美颜,Nano Camera(多功能美颜相机)V2.1 安卓版

Nano Camera(多功能美颜相机)是一款强大全面无死角美颜的相机应用客户端。软件拥有强大的瘦身P图效果&#xff0c;可以一键处理&#xff0c;并且Nano相机还有各种美妆功能。,各种效果都很真实, Nano Camera你值得拥有&#xff01;基本简介Nano Camera是一款非常出色的美颜相机…...

Android美颜第三方,Android短视频中如何实现720P磨皮美颜录制?

视频中磨皮、美颜功能已成为刚需&#xff0c;那么如何在Android短视频中实现720P磨皮美颜录制&#xff1f;本篇文章中&#xff0c;网易云信资深开发工程师将向大家介绍具体的操作方法。相关阅读推荐在Android上要实现一个录制功能&#xff0c;需要有几个方面的知识储备&#xf…...

android opengl美颜功能,Android短视频中如何实现720P磨皮美颜录制

在Android上要实现一个录制功能&#xff0c;需要有几个方面的知识储备&#xff1a;自定义相机的开发、视频数据格式的了解、编码相关知识以及视频合成技术&#xff0c;同时如果需要美颜、磨皮等滤镜操作还需要一定的openGL的知识。如果有需要深入音视频方面开发的同学建议先了解…...

android 视频美颜,Android短视频中如何实现720P磨皮美颜录制?

视频中磨皮、美颜功能已成为刚需&#xff0c;那么如何在Android短视频中实现720P磨皮美颜录制&#xff1f;本篇文章中&#xff0c;网易云信资深开发工程师将向大家介绍具体的操作方法。相关阅读推荐在Android上要实现一个录制功能&#xff0c;需要有几个方面的知识储备&#xf…...

编译原理第三版课后答案

编译原理第三版课后答案&#xff1a; https://wenku.baidu.com/aggs/7c792566f5335a8102d22053?index3&wkts1669819610140...