1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 你也可以为源文件指定不同的字符编码。在 #! 行(首行)后插入至少一行特殊的注释行来定义源文件的编码: # -*- coding: utf-8 -*- 或 # -*- coding: cp-1252 -*-2.标识符 第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。 3.python保留字 保留字即关键字,我们不能把它们用作任...
编写Dockerfile文件使用最新的Alpine镜像并安装Python3环境,如下: 因为python高于3.4则不会默认安装pip,需要手动安装。 试了很多其他办法都没安装上,唯有下载get-pip.py进行安装。 这里说一下cherrypy版本不能高于9.0.0,负责等下import wsgiserver会出错,因为wsgiserver后面移出cherrypy了。FROM alpine RUN mkdir /install COPY get-pip.py /install RUN apk update RUN apk add bash RUN apk add python3 RUN python3 /ins...
1.访问属性 python中默认对象的属性和方法都是公开的,可直接通过点操作符(.)来进行访问; 为了实现私有的特征,在Python中只需在变量名或函数名前加上"__"(两个下划线),则该变量或者该函数变为私有的。#公有和私有 class person:name="小贾"__id="1"def setName(self,name):self.name=name p=person() print(p.name) p.setName("小吴") print(p.name) print(p.__id)运行结果:小贾 小吴 Traceback (most recent call las...
第一章 计算机基础 1.1硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 显示器 / 网卡 等组成,但只有硬件只是一个躯壳 1.2操作系统 操作系统用于协同或者控制硬件之间进行工作,实际上也是一种软件,常见的操作系统由windowslinux(开源、免费的)centos ubuntu redhat在linux中要运行python程序,需要赋予其执行的权限,则在代码的开头要加上这样的代码: #!/usr/bin/env pythonmac1.3解释器或者编译器 编程语言开发者写的一...
print(5>3<4) print(5>3<2)运行结果:True FalsePython中这个表达式相当于5>3 and 3<4 2.x=1 y=2 max=x if x>y else y print(max)运行结果:2Python中该方法用起来与Java还是有区别的,Java写法:max=x>y?x:y;3.列表操作#列表操作 list1=[1,2,3,4,5] list1.append(6)#添加元素 print(list1) list1.extend([8,9])#实际上是使用一个列表来扩充另一个列表 print(list1) list1.insert(0,-1)#插入元素,第一个参数为下标,第二个参数为值...
类属性class Human(object):taisheng = True为什么要叫类属性呢,因为这个属性是和类绑定的,并不是和实例绑定的。胎生这个属性是全人类共有的,并不是某个人特殊拥有的属性。 实例属性class Human(object):def __init__(self, name):self.name = namehuman_a = Human("alan")ruby 我们首先实例化了一个人类human_a,然后给这个人类设置了一个实例属性name,name这个属性独立于其他的人类,是和实例绑定的,所以叫实例属性。实例属...
定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 自定义一个求绝对值的my_abs函数:def my_abs(x):if x >= 0:return xelse:return -x print(my_abs(-87)) 函数体内部的语句执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。 如果没有return语句,...
排序与搜索 如何从一个数字序列中查找一个特定的目标, 是一个经典的问题. 对于无序序列, 通常只能从头遍历, 这样效率十分低下. 但是当这个序列是有序序列时, 我们可以用二分法来快速找到目标数. 二分查找 顾名思义,二分查找是从有序数列(从小到大)的中间开始,若小于目标数,则在二分的左半部继续查找,反之则在二分的右半部继续查找,直到找到目标数或者新的查找区间为空时停止。 很容易想到,可以用递归方法实现二分查找。 de...
问题: 你想定义一个函数或者方法,它的一个或多个参数是可选的并且有一个默认值。 解决方案: 定义一个有可选参数的函数是非常简单的,直接在函数定义中给参数指定一个默认值,并放到参数列表最后就行了。例如:def spam(a, b=42):print(a, b)spam(1) # Ok. a=1, b=42 spam(1, 2) # Ok. a=1, b=2如果默认参数是一个可修改的容器比如一个列表、集合或者字典,可以使用None作为默认值,就像下面这样:# Using a list as a default v...
python之绘制图形库turtle绘图窗体turtle.setup(width,height,startx,starty)使用turtle的setup函数,可以在屏幕中生成一个窗口(窗体),设置窗体的大小和位置,这个窗口就是画布的范围。 画布的最小单位是像素,屏幕的坐标系以左上角为原点(0,0)分布。setup的四个参数分别指的是width:窗体的宽度 height:窗体的高度 startx:窗体距离屏幕边缘的左边像素距离 starty:窗体距离屏幕上面边缘的像素距离 其中,后两个参数是可选项...
前言 Requests 库是一个优雅而简单的 Python HTTP 库,主要用于发送和处理 HTTP 请求。底层封装了 urllib3 库,并且提供了非常友好的 API,使用起来非常的简单方便。目前主流的接口自动化框架均基于Requests 库进行开发。当然我们主要还是用来做接口测试,接下来我会从接口测试角度来为大家讲解 requests 如何使用,并基于 unittest + ddt +BeautifulReport+jenkins 实现接口自动化持续集成。 1、构建思路 正常的接口测试流程是什么...
文本文件VS二进制文件文本文件和二进制文件都只是文件的展示方式 本质上,所有文件都是二进制形式存储 形式上,所有文件采用两种方式展示文本文件由单一特定编码组成的文件,如UTF-8编码 由于存在编码,也被看成是存储着的长字符串 比如说txt文件,py文件二进制文件直接由比特0,,组成,没有统一字符编码 比如说png文件,avi文件文件的打开模式r只读模式,默认值,如果文件不存在,返回FileNotFoundError w覆盖写模式,如果文件不存...
#表格中显示 上下文菜单ContextMenufrom PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys class QTableWidgetMenuDemo(QWidget):def __init__(self):super().__init__()self.setWindowTitle('表格中上下文菜单演示')self.resize(500,400)self.initUI()def initUI(self):layout = QVBoxLayout(self)self.tableWidget = QTableWidget()self.tableWidget.setRowCount(4)self.tableWidget....
#绘制各种图形 #弧形 #椭圆 #圆 #矩形 #多边形 #绘制图像 import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import mathclass DrawAll(QWidget):def __init__(self):super(DrawAll,self).__init__()self.initUI()def initUI(self):self.setWindowTitle('绘制各种图形')self.resize(500,800)def paintEvent(self, QPaintEvent):painter = QPainter(self)painte...
问题: 你想在迭代一个序列的同时跟踪正在被处理的元素索引。 解决方案: 内置的 enumerate() 函数可以很好的解决这个问题:>>> my_list = ["a", "b", "c"] >>> for idx, val in enumerate(my_list):print(idx, val)0 a 1 b 2 c >>> 为了按传统行号输出(行号从1开始),你可以传递一个开始参数:>>> for idx, val in enumerate(my_list, 1):print(idx, val)1 a 2 b 3 c >>> 这种情况在你遍历文件时想在错误消息中使用行号定位时候非...