python3

python数据类型基本操作增删改查(全)

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-17 11:30:57
python 基本数据类型 数字 字符串 元组 列表 集合 字典 Number数字类型 python Number数字类型有以下几种: 整数(int): 长整数(long):python3已取消这个 浮点数 (float) : 复数(complex): 增: 直接赋值:a=1 删 删除对象 del a 操作 1.支持类型操作符比如 ‘>=’ 2.支持算术运算符,比如‘+’ 3.支持位操作符。比如‘与或’ 4.支持数据之间类型的转换 int() float() 查 直接读取变量 String字符串数据类型 Python中的字符串用单引号(’)或双引号(")括起来,同时使用反斜杠‘\’转义特殊字符。 增: 直接赋值:a=‘bb’ 删 整块删除,直接删除对象 del a 如果是删除某个字符,只能是重新赋值 改 字符串不可变,只能重新赋值。以下操作都算重新赋值 1.字符串拼接‘+’ 2.字符串重复操作‘*’ (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数 #!/usr/bin/python3 str = 'Runoob' print (str * 2) # 输出字符串两次 print (str + "TEST") # 连接字符串 执行以上程序会输出如下结果: RunoobRunoob RunoobTEST 3.去除字符 默认空格 >>> a='

Python3标准库:textwrap文本自动换行与填充

十年热恋 提交于 2020-02-16 11:36:03
1. textwrap文本自动换行与填充 textwrap模块提供了一些快捷函数,以及可以完成所有工作的类TextWrapper。如果你只是要对一两个文本字符串进行自动或填充,快捷函数应该就够用了;否则的话,你应该使用TextWrapper的实例来提高效率。 1.1 填充段落 textwrap.fill(text,width=70,**kwargs)   对text中的单独段落自动换行,并返回一个包含被自动换行段落的单独字符串。fill()以下语句的快捷方式。 "\n".join(wrap(text, ...)) 特别要说明的是,fill()接受与wrap()完全相同的关键字参数。 import textwrap sample_text = ''' The textwrap module can be used to format text for output in situations where pretty-printing is desired. It offers programmatic functionality similar to the paragraph wrapping or filling features found in many text editors. ''' print(textwrap.fill(sample_text, width=50)

python3字符串编码转换

人盡茶涼 提交于 2020-02-16 00:07:08
编码转换: 1、将文本已以二进制方式读取出来; 2、将读取的二进制文本已改文本的编码方式进行解码成Unicode 3、然后将解码后的Unicode编码成要转换的编码格式。 例:将utf-8转换成gbk模式 流程图:(例) utf-8------>unicode------>gbk 代码(例) f = open("oldFile.txt", "rb") # 以二进制方式打开 s = f.read() # 读取打开的文本 f.close() s_unicode = s.decode("utf-8") # 转换成Unicode s_gbk = s_unicode.encode("gbk") # Unicode转换成gbk模式 f = open("oldFile.txt", "wb") #以二进制方式创建 f.write(s_gbk) # 写入 f.close() 来源: https://www.cnblogs.com/lanlao/p/12315375.html

Python中的参数注解和类型注解

霸气de小男生 提交于 2020-02-15 02:19:27
函数定义的弊端: python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端 难发现:由于不做任何类型检查,直到运行期问题才显现出来,或者线上运行时才能暴露出问 题 难使用:函数的使用者看到函数的时候,并不知道你的函数的设计,并不知道应该传入什么类 型的数据 如何解决这种动态语言的弊端? 函数注解: python3.5引入, 对函数的参数进行类型注解 ,对函数的返回值进行类型注解 ,只对函数参数做一个辅助的说明,并不对函数参数进行类型检查 , 提供给第三方工具,做代码分析,发现隐藏的bug ,函数注解的信息,保存在__annotations__属性中 函数参数类型检查: 函数参数的检查一定是在函数外,函数应该作为参数,传入到检查函数中,检查函数拿到函数传入的实际参数,与形参声明对比,__annotations__属性是一个字典,其中包括返回值类型的声明。假设要做位置参数的判断,无 法和字典中的声明对应。使用inspect模块 ,该模块提供获取对象信息的函数,可以检查函数和类,类型检查。 inspect模块 signature(callable),获取签名(函数签名包含了一个函数的信息,包括函数名、它的参数类型、它 所在的类和名称空间及其他信息) inspect.isfunction(add),是否是函数 inspect.ismethod

Python3正则去掉HTML标签

China☆狼群 提交于 2020-02-14 18:04:11
Python3正则去掉HTML标签 1.引用一段代码 import re html = '<pre class="line mt-10 q-content" accuse="qContent">\ 目的是通过第一次soup.find按class粗略筛选并通过soup.find_all筛选出列表中的a标签并读入href和title属性<br><br>\ 但是由于目标链接可能有图片链接,而这是我不想要的.请问如何去除?<br></pre>' reg = re.compile('<[^>]*>') print(reg.sub('',html)) 2.重点 reg = re.compile('<[^>]*>') print(reg.sub('',html)) 3.实例 开始 import requests import re from bs4 import BeautifulSoup retxt=open('test.log','r') for x in range(250,999): #rurl=rurl.strip('\n') url='http://ananas.mooc1.mti100.com/tologin?fid={0}'.format(x) #print(url) try: response=requests.get(url,timeout=1).text #print

nginx 配置来部署python的项目, 动静分离项目 与 不分离的项目

风格不统一 提交于 2020-02-14 03:45:55
nginx 的作用 1. 做静态页展示的web服务 2.nginx做负载均衡   四层   七层 3. 反向代理 二. 源码安装nginx 1)解压nginx [root@db01 ~]# tar xf nginx-1.10.3.tar.gz 2)进入nginx目录,并查看 [root@db01 ~]# cd nginx-1.10.3 [root@db01 nginx-1.10.3]# ll total 672 drwxr-xr-x. 6 1001 1001 4096 May 13 09:04 auto -rw-r--r--. 1 1001 1001 265299 Jan 31 2017 CHANGES -rw-r--r--. 1 1001 1001 404694 Jan 31 2017 CHANGES.ru drwxr-xr-x. 2 1001 1001 168 May 13 09:04 conf -rwxr-xr-x. 1 1001 1001 2481 Jan 31 2017 configure drwxr-xr-x. 4 1001 1001 72 May 13 09:04 contrib drwxr-xr-x. 2 1001 1001 40 May 13 09:04 html -rw-r--r--. 1 1001 1001 1397 Jan 31 2017 LICENSE

python3进阶之推导式3之字典(dict)推导式(comprehensions)

青春壹個敷衍的年華 提交于 2020-02-14 02:47:25
1.前言 可以对比列表推导式的思路,与字典推导式的进行对比,训练自己的学习迁移能力。2.表达式{ key_expr: value_expr for value in collection if condition } 3.实例例1: # 用字典推导式以字符串以及其索引位置建字典# 代码如下:strings = ['import','is','with','if','file','exception','liuhu']d = {key: val for val,key in enumerate(strings)}# 用字典推导式以字符串以及其长度位置建字典s = {strings[i]: len(strings[i]) for i in range(len(strings))}k = {k:len(k)for k in strings} #相比上一个写法简单很多 print(d)# {'import': 0, 'is': 1, 'with': 2, 'if': 3, 'file': 4, 'exception': 5, 'liuhu': 6}print(s)# {'import': 6, 'is': 2, 'with': 4, 'if': 2, 'file': 4, 'exception': 9, 'liuhu': 5}print(k)# {'import': 6, 'is': 2,

CentOS7上安装升级Vim8

徘徊边缘 提交于 2020-02-14 01:27:07
基本步骤 1、卸载旧版vim yum remove vim* -y 2、 到Vim官方Github仓库下载目前最新的Vim Release版本 git clone https://github.com/vim/vim.git 3、编译安装 ./configure --with-features=huge --enable-multibyte --prefix=/usr/local/vimmake && make install 列举一些 ./configure 后面的配置选项 需要啥自己添加 --with-features=huge:支持最大特性 --enable-multibyte:打开多字节支持,可以在Vim中输入中文 --enable-rubyinterp:打开对ruby编写的插件的支持 --enable-pythoninterp:打开对python编写的插件的支持 --with-python-config-dir=/usr/lib64/python2.7/config 指定python路径(此处是腾讯云CentOS7.4的python2路径) --enable-python3interp:打开对python3编写的插件的支持 --with-python-config-dir=/usr/local/python3.7/lib/python3.7/config-3.7m-x86

python3 迭代器与生成器.py

允我心安 提交于 2020-02-13 22:04:57
""" 模块:python3 迭代器与生成器.py 参考:https://www.runoob.com/python3/python3-iterator-generator.html 知识点: 1.迭代器 迭代器是一个可以记住 遍历位置 的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。这区别于可迭代对象。 字符串,列表或元组对象都可用于创建迭代器。 2.生成器。 """ # 一、迭代器 # 1.用列表创建迭代器和迭代。 list1 = [1, 2, 3, 4] it = iter(list1) # 创建迭代器对象 # print("it:", it) # it: <list_iterator object at 0x0000021F28120C70> print(next(it)) # 输出迭代器的下一个元素 # 1 print(next(it)) # 2 # 1.2.迭代器对象可以使用常规for语句进行遍历。 print("1.2:") list1 = [1, 2, 3, 4] it = iter(list1) # 创建迭代器对象 for x in it: print(x, end=" ") # 1 2 3 4 print() # 也可以使用 next() 函数。

Python3(十二) Pythonic与Python杂记

隐身守侯 提交于 2020-02-13 20:10:03
一.用字典映射代替switch case语句 if/else可以代替switch但是非常不合适。 用字典代替switch: day = 5 switcher = { 0:'Sunday', 1:'Monday', 2:'Tuesday' } day_name = switcher.get(day,'Unknow') print(day_name) 利用get()完整模拟。 在字典中模拟带函数的switch: day = 6 def get_sunday(): return 'Sunday' def get_monday(): return 'Monday' def get_tuesday(): return 'Tuesday' def get_default(): return 'Unknow' switcher = { 0:get_sunday, 1:get_monday, 2:get_tuesday } day_name = switcher.get(day,get_default)() print(day_name) 二.列表推导式 根据已经存在的列表创建新的列表: a = [1,2,3,4,5,6,7,8] b = [i * i for i in a] print(b) #[1, 4, 9, 16, 25, 36, 49, 64] 或者i**2也事代表i的平方。 条件筛选