首页
登录
搜索
登录
搜索
emer
累计撰写
197
篇文章
累计收到
496
条评论
首页
栏目
首页
登录
作者 【1】 的文章
2019-9-21
Python学习笔记之字符串操作2
# 字符串相关操作 # split 见名知意 strvar = 'zhang yu tong blog good' res = strvar.split() print(res) # ['zhang', 'yu', 'tong', 'blog', 'good'] strvar = 'zhang|yu|tong|前沿技术博客' res = strvar.split('|') print(res) # ['zhang', 'yu', 'tong', '前沿技术博客'] # join 见名知意 listvar = ['zhang', 'yu', 'tong', '前沿技术博客'] res = ''.join(listvar) print(res) # zhangyutong前沿技术博客 # splitlines 按换行切分(\n) strvar = """ 春眠不觉晓 处处闻啼鸟 夜来风雨声 花落知多少 """ print(strvar.splitlines()) # ['', '春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少'] # zfill 填充字符串(默认填充0, 原字符串右对齐) strvar = '张宇童 - 前沿技术博客' res = strvar.zfill(20) print(res) # 00000000张宇童 - 前沿技术博客 # center 填充字符串原字符串居中 strvar = '春晓' res = strvar.center(20, '-') print(res) # ---------春晓--------- # ljust 原字符串居左,在右侧填充 strvar = '博客很好' res = strvar.ljust(20,'!') print(res) # 博客很好!!!!!!!!!!!!!!!! # rjust 原字符串居右,在左侧填充 strvar = 'hello world' res = strvar.rjust(20,'%') print(res) # %%%%%%%%%hello world # strip 默认去掉左右两端空格 strvar = ' 张宇童 - 前沿技术博客 ' print(strvar) # 张宇童 - 前沿技术博客 print(strvar.strip()) # 张宇童 - 前沿技术博客 # rstrip 去掉右侧指定字符 strvar = '???张宇童 - 前沿技术博客!!!' res = strvar.rstrip('!') print(res) # ???张宇童 - 前沿技术博客 # lstrip 去掉左侧指定字符 res = strvar.lstrip('?') print(res) # 张宇童 - 前沿技术博客!!! ''' maketrans() 功能: 制作映射表 格式: 字符串.maketrans('查找字符','替换字符') 两个字符必须长度相等 返回值: 字典 translate() 功能: 进行字符串替换操作 格式: 字符串.translate(映射表) 返回值: 替换后的字符串 ''' strvar = 'hello world' res = strvar.maketrans('hwd','张宇童') res = strvar.translate(res) print(res) # 张ello 宇orl童 ''' replace() 功能: 替换字符串 格式: 字符串.replace(被替换字符,替换字符,次数) 返回值: 替换后的字符 ''' strvar = '张宇童 - 温馨技术博客' res = strvar.replace('温馨','前沿') print(res) # 张宇童 - 前沿技术博客
2019年-9月-21日
76 阅读
0 评论
未分类
2019-9-21
Python学习笔记之字符串操作
# 字符串的相关操作 # 字符串的拼接 strvar = '张宇童博客' strvar1 = ' - ' strvar2 = '前沿技术博客' res = strvar + strvar1 + strvar2 print(res) # 张宇童博客 - 前沿技术博客 res = '重要的事情说三遍: ' + (res+',')*3 print(res) # 重要的事情说三遍: 张宇童博客 - 前沿技术博客,张宇童博客 - 前沿技术博客,张宇童博客 - 前沿技术博客, # 字符串的索引 [start, end, step] print(res[0]) # 重 print(res[-1]) # , # 字符串的切片(截取) print(res[10:24]) # 张宇童博客 - 前沿技术博客 print(res[10::3]) # [:] 截取所有字符串 [::] print(res[:]) # 重要的事情说三遍: 张宇童博客 - 前沿技术博客,张宇童博客 - 前沿技术博客,张宇童博客 - 前沿技术博客, print(res[::]) # 字符串的格式化 str.format() # 1、顺序传参 {}占位符 strvar = '{} - {}博客 URL:{}' res = strvar.format('张宇童','前沿技术','http://www.zyt8.cn') print(res) # 张宇童 - 前沿技术博客 URL:http://www.zyt8.cn # 2、索引传参 strvar = '{2} - {0}博客 URL:{1}' res = strvar.format('前沿技术','http://www.zyt8.cn','张宇童') print(res) # 张宇童 - 前沿技术博客 URL:http://www.zyt8.cn # 3、关键字传参 strvar = '{title} - {desc}博客 URL:{url}' res = strvar.format(title = '张宇童', desc = '前沿技术', url = 'http://www.zyt8.cn') print(res) # 张宇童 - 前沿技术博客 URL:http://www.zyt8.cn # 4、容器类型数据传参 strvar = '{0[0]} - {0[1]}博客 URL:{0[2]}' res = strvar.format(['张宇童','前沿技术','http://www.zyt8.cn']) print(res) # 张宇童 - 前沿技术博客 URL:http://www.zyt8.cn strvar = '{0[0]} - {0[1]}博客 URL:{0[2]}' res = strvar.format(('张宇童','前沿技术', 'http://www.zyt8.cn')) print(res) # 张宇童 - 前沿技术博客 URL:http://www.zyt8.cn # format填充符号的使用 # < 文字居左 > 文字居右 ^ 文字居中 # 语法:{关键字:要填充的字符 符号 次数} ''' {title: 张宇童<10} title: 关键字 张宇童: 填充的关键字 符 号: 文字居左 10 : title所指代一个字符上填充的符号一共十个 ''' strvar = '大家都在{title:*^10}提高了编程水平' res = strvar.format(title = '张宇童blog') print(res) # 大家都在*张宇童blog**提高了编程水平 strvar = '我的手机号是:{phoneFirst:*<5}{phoneLast:*>6}' res = strvar.format(phoneFirst = '139', phoneLast = '8888') print(res) # 139****8888 # 进制转换的符号使用 # :d :f :s :, strvar = '{}是第{:d}次来到本blog' res = strvar.format('小明',9999) print(res) # 小明是第9999次来到本blog strvar = '{}每一次来到本博客都打赏{:.2f}元人民币' res = strvar.format('小红',100) print(res) # 小红每一次来到本博客都打赏100.00元人民币 strvar = '{}每一次来都不由自主的{:s}赞叹' res = strvar.format('小蓝','啧啧') print(res) # 小蓝每一次来都不由自主的啧啧赞叹 strvar = '{}在马路边捡到了{:,}元交给了本博主' res = strvar.format('小花',3999999999) print(res) # 小花在马路边捡到了3,999,999,999元交给了本博主 # capitalize 字符串首字母转大写 其余 转小写 strvar = 'this is zhang yutong blog' res = strvar.capitalize() print(res) # This is zhang yutong blog # title 每个单词首字符大写 strvar = 'THIS IS ZHANG YUTONG BLOG' res = strvar.title() print(res) # This Is Zhang Yutong Blog # lower 将所有字母转小写 res = strvar.lower() print(res) # this is zhang yutong blog # upper 将所有字母转大写 strvar = 'this is zhang yutong blog' res = strvar.upper() print(res) # THIS IS ZHANG YUTONG BLOG # swapcase 大小写互相转化 print(strvar.swapcase()) # THIS IS ZHANG YUTONG BLOG print(strvar.swapcase().swapcase()) # this is zhang yutong blog # 计算字符的长度 print(len(strvar)) # 25 # count 统计字符串里面指定字符出现的数量(区分大小写) print(strvar.count('t')) # 2 # find 查找指定字符串第一次出现的索引(区分大小写) ''' find( findStr, start, end) ''' print(strvar.find('i')) # 2 # index 和 find 类似 ''' find: 找不到返回-1 index: 找不到报错 ''' # startwith 判断以指定字符开头的(区分大小写) ''' startswith(findStr, start, end) ''' res = strvar.startswith('t') print(res) # True # endswith 判断是否以指定字符结尾 res = strvar.endswith('og') print(res) # True # isupper 判断是否全是大写 strvar = 'ABCDEFG' print(strvar.isupper()) # True strvar = 'ABCDEFg' print(strvar.isupper()) # False # islower 判断是否全是小写 strvar = 'abcdefg' print(strvar.islower()) # True strvar = 'abcdefG' print(strvar.islower()) # False # istitle 判断是否每个字符首字母都是大写 strvar = 'Abcdefg' print(strvar.istitle()) # True strvar = 'abcDefg' print(strvar.istitle()) # False # isalnum 判断字符是否由字母、数字、汉字组成 strvar = '汉字$' print(strvar.isalnum()) # False strvar = 'hanzi' print(strvar.isalnum()) # True # isalpha 判断字符是否由字母和文字组成 strvar = '张宇童blog' print(strvar.isalpha()) # True strvar = '张宇童blog666' print(strvar.isalpha()) # False # isdigit 检测字符串是否由数字组成 接受二进制字节流 ''' 二进制字节流是用于终端间的数据传输 把字符转化成二进制之后传输 b"12345678" // 表示一个字节流 b开头后面加上一个字符串就是二进制字节流的表达形式 ''' # isnumeric 判断是否是数字 包含 中文 '一二三四五' strvar = '万亿千贰壹百万342陆' print(strvar.isnumeric()) # True # isdecimal 检测一个字符串是否是纯数字 strvar = '123' print(strvar.isdecimal()) # True # isspace 判断字符串是否由空白符组成 \n \r \t strvar = '\n\t\r' print(strvar.isspace()) # True
2019年-9月-21日
77 阅读
0 评论
未分类
2019-9-21
Python学习笔记之尾递归
# 尾递归函数 # 自己调用自己的函数,且非表达式的递归函数,只开辟一个栈帧空间 # 尾递归的值是在参数重做运算的 # example factorial function def factorial(n, x = 1): if n <= 1: return x return factorial(n - 1, n * x) res = factorial(3) print(res) # 6
2019年-9月-21日
71 阅读
0 评论
未分类
2019-9-21
Python学习笔记之内置函数
# 内置函数 # abs() 绝对值函数 res = abs(-99 ) print(res) # round 四舍五入 n.5的情况下 奇进偶不进 # 3.5 ===》 4 # 4.5 ===〉 4 res = round(8.5) print(res)# 8 # sum 计算一个列表中的和 listvar = [1,2,3] res = sum(listvar) print(res) # 6 setvar = (1,2,3) res = sum(setvar) print(res) # 6 # max 获取一个列表中最大数 listvar = [1,2,33,4,5] res = max(listvar) print(res) # 33 # min 获取一个列表最小数 listvar = [33,44,11,22,33] res = min(listvar) print(res) # 11 # pow 计算某个数值的x次幂 res = pow(2,3) # 计算2的3次幂 print(res) # 8 # 如果加上第三个参数,意味把前两个数的值和第三个取模 res = pow(2,3,6) # 计算流程 2**3%6 print(res) # range 产生指定范围的可迭代对象 # range(start, [ end, [ step]]) # bin 将是进制数字转换为2进制 res = bin(3) print(res) # 0b11 # oct 将十进制转换为8进制 res = oct(8) print(res) # 0o10 # hex 将十进制转换为16进制 res = hex(16) print(res) # 0x10 # chr 将ASCII码转为数字 res = chr(64) print(res) # @ # ord 将字符转换为ASCII码 res = ord('1') print(res) # 49 # eval 将字符串转为python代码执行 eval('print("我是字符串")') # error : eval('a = 6') # exec 将字符串转为python 能够实现更多复杂操作 res = exec('a = 5') print(a) strvar = ''' listvar = [1,2,3,4,5,6,7,88] for i in listvar: print(i, end='') print() ''' exec(strvar) # 123456788 # repr 不转义字符,转义成解释器读取的形式 strvar = 'hello world' print(repr(strvar)) # 'hello world' # input 接受输入字符串 res = input('张宇童博客好不好') # 线程阻塞 无论输入什么都是字符串类型 print(res) print('end')
2019年-9月-21日
98 阅读
0 评论
未分类
2019-9-20
Python学习笔记之高阶函数
# 高阶函数 # 内置 map reduce sorted filter # ## map ''' map(func, iterable) 功能:把 iterable 中的 一个一个的拿到 func 函数中 如果符合条件就存在迭代器中 参数: func: 内置函数 或者 自定义函数 iterable: 可迭代性数据 容器类型数据,range(),迭代器 返回值: ''' # example 获取给定列表的整数型 listvar = ['1','2','3'] print(listvar) # 常规写法 N = 0 for i in listvar: listvar[N] = int(i) N += 1 # append(可以向list中添加元素) # listvar.append(66) print(listvar, '<===>') # 将list 转为iter接口类型 listvar = [1,2,3,4,5] from collections.abc import Iterable, Iterator tempInt = map(int, listvar) print(isinstance(tempInt, Iterable)) print(isinstance(tempInt, Iterator)) print(tempInt) # 计算给定列表的2次幂 listtemp = [1,2,3,4,5] listtemp2 = [] def cimi (x) : return x**2 listtemp2 = map(cimi,listtemp) for i in listtemp2: print(i) # reduce 函数 ''' reduce(func, iterable) 功 能: 把可迭代数据的前前个值放到func中进行运算,计算的结果在和iterable中的第三个值进行运算, 以此类推不停的拿结果和iterable中的下一个数据进行运算,知道结束 参 数: func 内置或自定义函数,iterable 可迭代数据 (容器类型数据,迭代器,range对象) 返回值: 最后的结果 ''' # 将 listvar 转为 整数。12345 # 普通写法 listvar = [1,2,3,4,5] strvar = '' for i in listvar: strvar += str(i) print(strvar, type(int(strvar))) # 12345 <class 'int'> # reduce 写法 # 引入reduce from functools import reduce def func (a, b) : return a*10+b res = reduce(func, listvar) print(res, type(res)) # 12345 <class 'int'> # 在不使用int的情况下把 '987' (str) 变为 987 (int) listvar = '987' # sorted ''' sorted(iterable, reverse = False, key = 函数) 功能:sorted对序列进行排序 参数: iterable:可迭代数据(容器类型数据,迭代器,range) reverse:是否反转 key:内置或自定义的函数 返回值: 返回排序后的结果 ''' # example tuplevar = (1,3,-5,-2,4) res = sorted(tuplevar) # [1, 2, 3, 4, 5] 默认# 高阶函数 # 内置 map reduce sorted filter # ## map ''' map(func, iterable) 功能:把 iterable 中的 一个一个的拿到 func 函数中 如果符合条件就存在迭代器中 参数: func: 内置函数 或者 自定义函数 iterable: 可迭代性数据 容器类型数据,range(),迭代器 返回值: ''' # example 获取给定列表的整数型 listvar = ['1','2','3'] print(listvar) # 常规写法 N = 0 for i in listvar: listvar[N] = int(i) N += 1 # append(可以向list中添加元素) # listvar.append(66) print(listvar, '<===>') # 将list 转为iter接口类型 listvar = [1,2,3,4,5] from collections.abc import Iterable, Iterator tempInt = map(int, listvar) print(isinstance(tempInt, Iterable)) print(isinstance(tempInt, Iterator)) print(tempInt) # 计算给定列表的2次幂 listtemp = [1,2,3,4,5] listtemp2 = [] def cimi (x) : return x**2 listtemp2 = map(cimi,listtemp) for i in listtemp2: print(i) # reduce 函数 ''' reduce(func, iterable) 功 能: 把可迭代数据的前前个值放到func中进行运算,计算的结果在和iterable中的第三个值进行运算, 以此类推不停的拿结果和iterable中的下一个数据进行运算,知道结束 参 数: func 内置或自定义函数,iterable 可迭代数据 (容器类型数据,迭代器,range对象) 返回值: 最后的结果 ''' # 将 listvar 转为 整数。12345 # 普通写法 listvar = [1,2,3,4,5] strvar = '' for i in listvar: strvar += str(i) print(strvar, type(int(strvar))) # 12345 <class 'int'> # reduce 写法 # 引入reduce from functools import reduce def func (a, b) : return a*10+b res = reduce(func, listvar) print(res, type(res)) # 12345 <class 'int'> # 在不使用int的情况下把 '987' (str) 变为 987 (int) listvar = '987' # sorted ''' sorted(iterable, reverse = False, key = 函数) 功能:sorted对序列进行排序 参数: iterable:可迭代数据(容器类型数据,迭代器,range) reverse:是否反转 key:内置或自定义的函数 返回值: 返回排序后的结果 ''' # example tuplevar = (1,3,-5,-2,4) res = sorted(tuplevar) # [1, 2, 3, 4, 5] 默认从小到大升序排列 print(res) res = sorted(tuplevar, reverse = True) print(res) # [5, 4, 3, 2, 1] 对序列进行倒序排列 # 使用内置函数排序 res = sorted(tuplevar, key = abs) # [1, -2, 3, 4, -5] print(res)从小到大升序排列 print(res) res = sorted(tuplevar, reverse = True) print(res) # [5, 4, 3, 2, 1] 对序列进行倒序排列 # 使用内置函数排序 res = sorted(tuplevar, key = abs) # [1, -2, 3, 4, -5] print(res) # filter ''' filter(func, iterable) 功能: 过滤数据 return False 舍弃数据 return True 保留数据 参数: func: 自定义函数 iterable: 可迭代数据(容器类型数据,range,迭代器) 返回值: 迭代器 ''' from collections.abc import Iterable, Iterator listvar = [1,2,3,4,5,6,7,8] def oushu(n): return True if n % 2 != 1 else False res = filter(oushu, listvar) print(isinstance(res, Iterator)) # True print(list(res)) # [2, 4, 6, 8] # 改写上述案例 print(list(filter(lambda n: True if n % 2 != 1 else False, listvar))) # [2, 4, 6, 8] # 内置函数
2019年-9月-20日
69 阅读
0 评论
未分类
2019-9-20
Python学习笔记之迭代器
# 迭代器 # 能被next()调用,并不断的返回下一个值,叫迭代器 # 判断容器类型的迭代性 listvar = [1,3,3,5,6,7,8] from collections.abc import Iterable,Iterator # Iterable 迭代性 | Iterator 迭代器 for i in listvar: print(i) res = isinstance(listvar, Iterable) print(res) res = isinstance(listvar, Iterator) print(res) # 判断range对象的迭代性 for i in range(6): print(i) res = isinstance(range(6), Iterable) res1 = isinstance(range(6), Iterator) print(res, res1) # True 表示有迭代性 | False 表示不是迭代器 # 把容器类型数据变为迭代器 listvar = [1,2,3] listvarIterator = iter(listvar) res = isinstance(listvarIterator, Iterator) print(res) # True 表示是迭代器 # 使用next() 对迭代器进行调用 res = next(listvarIterator) print(res) # 1 res = next(listvarIterator) print(res) # 2 res = next(listvarIterator) print(res) # 3 print('<-<-<-<-<-<-<-<-<<<-华丽分割线->>>->->->->->->->->') for i in listvarIterator: print(i) # range 迭代器 rangevar = iter(range(5)) print(isinstance(rangevar, Iterable)) # True print(isinstance(rangevar, Iterator)) # True print(next(rangevar)) # 0
2019年-9月-20日
76 阅读
0 评论
未分类
2019-9-20
Python学习笔记之lambda
# 匿名函数 # lambda 函数 # example 不带参数 func = lambda: 'hello world' res = func() print(res) # example 带参数 func = lambda n : print('欢迎来到%s博客' % (n)) func('张宇童') # 欢迎来到张宇童博客 # 类似于三元运算符 # True if Expression else False titleName = '张宇童博客' res = '是的' if '张宇童' in titleName else '不是' print(res) # 是的 func = lambda n : '奇数' if n % 2 else '偶数' print(func(4))
2019年-9月-20日
62 阅读
0 评论
未分类
2019-9-20
Python学习笔记之闭包
# 内部函数 # 函数本身是可以互相嵌套的 # example def whyBlogName(): def thisIsName(): print('张宇童博客') whyBlogName() # nonlocal 用来修饰局部变量 # nonlocal 寻找当前作用域的上一级作用域的变量 # name = '123' def blogName() : name = '张宇童blog' def sayTitle(): nonlocal name name = 'www.zyt8.cn' sayTitle() print(name) blogName() def listvarset(): a = 1 listvar = [a, 2, 3] def setlist(): listvar[0] = 10 setlist() print(a) listvarset() # 闭包函数 ''' 定义:内函数使用外函数的局部变量,并且外函数将内函数返回出来的方法 而里面的内函数叫闭包 ''' # example def zhangyutong_blog(): name = '原创' def url(): print('张宇童说过一句话,%s才是最好的经验' % (name)) return url res = zhangyutong_blog() res() # 递归 def digui(a): if a <= 0: return 0 return digui(a-1) + a res = digui(3) print(res) # example2 def blog_function(): name = '张宇童' title = '%s - 前沿技术博客' % (name) url = 'http://www.zyt8.cn' pv = 1000 ip = 500 blog_number = 60 def writeBlog(new_blog_number): nonlocal pv,ip,blog_number blog_number += new_blog_number pv += new_blog_number*300 ip += new_blog_number*100 def delBlog(del_blog_number): nonlocal pv,ip,blog_number blog_number -= del_blog_number pv -= del_blog_number*200 ip -= del_blog_number*50 def moodGood(number): writeBlog(number) print('%s今天心情不错,写了%d篇博文,现在一共%d篇博文啦,pv增加到%d,ip增加到%d' % (name, number, blog_number, pv, ip)) def moodBad(number): delBlog(number) print('%s今天心情很糟糕,删除了%d篇博文,当前还剩%d篇博文,pv减少到了%d,ip减少到了%d' % (name, number, blog_number, pv, ip)) def behavior(): return (moodGood, moodBad) return behavior res = blog_function() func = res() func[0](3) func[1](1) blog_function()()[0](1)
2019年-9月-20日
70 阅读
0 评论
未分类
2019-9-20
Linux下使用PHP给视频加水印
效果图 1、首先升级yum sudo yum install epel-release -y sudo yum update -y 2、安装Nux Dextop Yum 源 sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm 3、安装FFmpeg 和 FFmpeg开发包 sudo yum install ffmpeg ffmpeg-devel -y 4、测试 ffmpeg 最后没报错说明安装成功 5、执行 # 该命令执行的效果:在 01.mp4 文件上添加 01.png 水印 并将新生成的视频文件保存为 02.mp4 ffmpeg -i 01.mp4 -i 01.png -filter_complex overlay 02.mp4 6、php 控制 Linux 命令 $cmd = 'ffmpeg -i 01.mp4 -i 01.png -filter_complex overlay 03.mp4'; exec($cmd); 7、相关ffmpeg命令 1.实现每隔10秒交替出现logo ffmpeg -y -t 60 -i input.mp4 -i logo1.png -i logo2.png -filter_complex "overlay=x=if(lt(mod(t\,20)\,10)\,10\,NAN ):y=10,overlay=x=if(gt(mod(t\,20)\,10)\,W-w-10\,NAN ) :y=10" output.mp4 60 编辑视频时长,如果填写只会处理并输出前60秒的视频,不填写会处理整个视频 x 水印的左上角的x坐标 y 水印的左上角的y坐标 input.mp4 输入的视频文件(需要处理的) output.mp4 输出的视频文件(已经处理完成的) if(gt(mod(t,20),10),W-w-10,NAN )中第二个10说logo出现的时长,即是说水印会显示10秒 2.实现跑马灯 ffmpeg -i input1 -i input2 -vcodec libx264 -an -filter_complex "overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0" -s 320x240 output.mp4 input1 放在底部的视频 input2 放在上面的视频 320x240 输出视频的宽高 3.实现2秒后logo从左到右移动 ffmpeg -i input.mp4 -vf "movie=logo.png[logo];[in][logo]overlay=x='if(gte(t\,2)\,((t-2)*80)-w\,NAN)'" output.mp4 80 移动的距离,单位像素 4.实现gif格式的logo循环命令 ffmpeg -i video.mpg -ignore_loop 0 -i loop.gif -filter_complex "[0:v][1:v]overlay=10:10:shortest=1" -vcodec mpeg2video out.mpg 5.实现视频添加字幕 ffmpeg -i input -vf drawtext=fontfile=arial.ttf:text=welcome output 6.实现周期显示输入的文字水印 ffmpeg -i input.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf:text='testtest':x=w-100:y=100:enable=lt(mod(t\,3)\,1):fontsize=24:fontcolor=yellow@0.5:shadowy=2" output.mp4 7.编写代码遇到错误 Cannot create buffer sink ret = -12 修改 AVFilter *buffersrc = avfilter_get_by_name("buffer"); AVFilter *buffersink = avfilter_get_by_name("buffersink");
2019年-9月-20日
70 阅读
0 评论
未分类
2019-9-19
Python学习笔记之全局变量与局部变量
# 局部变量在函数内部定义的变量是局部变量 # 全局变量在函数外部定义的变量 或 在函数内部global定义的变量为全局变量 # 作用域: # 局部变量在函数的内部 # 全局变量的作用域横跨整个文件 ''' example 全局变量 ''' url = 'http://www.zyt8.cn' def funcGlobal () : # 在函数内部修改全局变量 需使用global函数 global url print('张宇童的博客地址是%s' % (url)) url = 'http://blog.ecuuu.com' funcGlobal () # 张宇童的博客地址是http://www.zyt8.cn print(url) # http://blog.ecuuu.com ''' example 局部变量 ''' def funcPart (): name = '张宇童博客' print(name) funcPart() # print(name) # NameError: name 'name' is not defined # 如果函数外没有global声明的变量将声明一个全局变量 # 如果函数外部有global声明的变量将可以直接修改 被global声明的变量 # locals 和 globals # locals 当前作用域里面的所有变量 # 获取当前作用域范围内的所有变量 a = '张宇童' b = 'http://www.zyt8.cn' res = locals() print(res) def localsExample(): a = '张宇童' res = locals() print(res) localsExample()
2019年-9月-19日
60 阅读
0 评论
未分类
9
10
11
12
13