1. 绝对布局: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win.title("Thomas的窗口") # 设置大小和位置 win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 # 绝对布局 # 窗口的变换对位置没有影响 label1 = tkinter.Label(wi…
1. 表格数据显示: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win.title("Thomas的窗口") # 设置大小和位置 win.geometry("600x400+1500+100") #格式:400x400表示大小,200和0表示位置 # 表格数据 tree = ttk.Treeview(win) tree.pack() #…
1. Label控件: 说明:标签控件,可显示文本 图示1: 实例1: import tkinter # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win.title("Thomas的窗口") # 设置大小和位置 win.geometry("400x400+1500+500") #格式:400x400表示大小,200和0表示位置 # Label:标签控件,可以显示文本 # win:父窗体 # text:显示的文本内容 # width…
1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line interface,简称CLI),图形界面对于用户来说在视觉上更易于接受.然而这种界面若要通过在显示屏的特性位置,以“各种美观而不单调的视觉消息“提示用户”状态的改变”,势必比简单的消息呈现上更有优势. 2.Python支持常用的GUI工具包: Tkinter 使用Tk平台 很容易得到 半标准wxpy…
1. 事件附录: 2. 事件属性附录:…
1. 鼠标点击事件: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 win.title("Thomas的窗口") # 设置大小和位置 win.geometry("400x400+1500+100") #格式:400x400表示大小,200和0表示位置 def func(event): # 事件属性 print(event.x,event.y…
Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Python通常不是一种编译语言,你可能想知道为什么要使用Python编译器.答案当然是:运行本地编译的代码要比运行动态的.解译的代码快很多倍.Numba允许你为Python函数指定类型签名,从而在运行时启用编译(这就是“Just-in-Time”,即时,也可以说JIT编译).Numba动态编译代码的能力…
函数式编程是指用一系列函数解决问题 好处:用每个函数完成每个细小的功能,一系列函数任意组合能够解决大问题 函数仅仅接收输入并产生输出,不包含任何能影响输出的内部状态 函数之间的可重入性 当一个函数的输入实参一定,结果也必须一定的函数为可重入函数 例子: #可重入函数 def myadd(x,y): return x+y #不可重入函数 s = 0 def myadd2(x,y): global s s+= x+y return s 高阶函数 map filter sorted 什么是高阶函数 ​…
python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def test(n): print(n) test(dac) 输出结果为 函数类型function 2,把函数做为返回值,也是高阶函数 def test(x,y): return abs,x,y 输出结果为 列表,包含 函数,参数 文章来自(www.96net.com.cn)…
1.先叙述静态方法: 我们知道Python调用类的方法的时候都要进行一个实例化的处理.在面向对象中,一把存在静态类,静态方法,动态类.动态方法等乱七八糟的这么一些叫法.其实这些东西看起来抽象,但是很好理解.这里面有一个难点就是静态方法的理解,我们先叙述这个概念. 比如在C#语言中,我们一般在在一个类前面加上类似于staci这样的关键字 public 类名{ static void 方法(){ } } 一般这个时候方法可以直接用“类名.方法名”的方式直接调用类中的方法.其实这种方法叫做直接引用的方…
1. 魔法方法是什么? 魔法方法(Magic Method)是Python比较独特的应用,它可以给你的类增加特殊的方法,如果你的对象实现了(重载),这些方法中的某一个,就会被Python所调用.正如装饰器类似,是对类/函数部分的提炼(装饰器是对关键功能部分的封装).一般情况下,是对类中方法和属性一种提炼. 2. 魔法方法详细解释: 前面我们用过__init__,__repr__,__str__等魔法方法,我们在这里做一个总结,查遗补漏,由于这个位置在Python中比较松散的表示.这里做一个分别的…
1. 概述: 我们在前面用了很多的装饰器这个工具的方法.这个位置要系统的讲一下装饰器. 1.2 为什么需要装饰器. 装饰器本质是一个Python函数,它可以让其他函数在不需要任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权限校验等场景.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重要. 概括的讲,装饰器的作用就是为已经存在的函数或端详添加额外的功能. 2…
1. 匹配单个字符和数字: . --->> 匹配除换行符以外的任意字符.[0123456789] --->> []字符集合,表示匹配方括号中所包含的任意一个字符.[Thomas] --->> []字符集合,表示匹配方括号中所包含的任意一个字符.匹配'T','h'...任意一个字符.[a-z] --->> - 匹配任意小写字母[A-Z] --->> - 匹配任意大写字母[0-9] --->> 匹配任意数字,类似于[0123456789]…
1.协程的概念: 子程序或者子函数,在所有语言中都是层级调用,比如A调用B,再B执行的过程中又可以调用C,C执行完毕返回,B执行返回,最后是A执行完毕返回.是通过栈来实现的,一个线程就是执行一个自称,自称调用时一个入口,一次返回,调用的顺序是明确的. 代码: def C(): print("C--Start") print("C--end") def B(): print("B--Start") C() print("B--end&qu…
1.多任务的实现原理: 通常我们会设计Mater-Workder模式,Master负责分配任务,Worker负责执行任务,因此多任务环境下,通常是一个Master,多个Worker 2.多进程: 主进程就是Master,其他进程就是Worker 稳定性高:一个子进程崩溃了,不会影响主进程和其他子进程,当然主进程挂了,所有进程就全挂了,但是Master进程只负责分配任务,挂掉的概率低. 创建进程的代价大:在UNIX/LINUX系统下,用fork调用还可以,在Windows下创建进程开销巨大. 操作…
1. 多任务原理: 现代操作系统,像win,max os x,linux,unix等都支持多任务. * 什么叫做多任务? 操作系统可以同时运行多个任务. * 单核CPU实现多任务原理? 操作系统轮流让各个任务交替执行,比如QQ执行2us,切换到微信,再执行2us,在切换到其他应用,再执行2us... ...,如此交替往复.表面上看每个任务反复执行下去,但是CPU调度执行速度太快了,导致我们感觉就像所有任务都同时执行一样. * 多核CPU实现多任务原理? 真正的并行执行多任务只能在多核CPU上实现…
1. 元数据和反射概念: 有关程序及其类型的数据成为元数据(metadata),他保存在程序的程序集中. 反射这个词儿听起来比较陌生.程序在运行时,可以查看其它程序集或其本身的元数据.一个运行的程序查看本身的元数据的行为成为反射(reflection) 对象浏览器是显示元数据的程序的的一个示例.他可以读取程序集,然后显示所包含的类型及类型的所有特性和成员. 2.举例说明: 比如:我们现在有这样一个需求,已有三个函数fun1,fun2,fun3这三个函数,我们都找到如果我们想调用其中某个函数的时候…
1. 文档检测: 我们观察官方的函数编写的时候会在函数或者类当中有些类的备注,这些备注叫做文档.当我们在编写函数的时候,可以去显示这些文档.因此我们可以用这个文档来进行检测.另外我们还需要导入doctest的库. 实例: import doctest # doctest模块可以提取注释中的代码去执行 # doctest严格按照Python交互模式的输入提取 def mySum(x,y): ''' 求两个数的和 get The Sum from x and y :param x: firstNum…
1. map()函数: 原型:map(fn,lsd) 参数1是函数 参数2是序列 功能:将传入的函数一次作用在序列中的每一个元素.并把结果作为一个新的Iterator返回.其实map函数就是一个for循环查找.需要functools库. 图示: 实例1: # 实例1:from functools import reduce# python内置的map函数 def chr2int(str): ,,,,,,,,,}[str] # return后面哪一窜表示将单个字符转换成对应的字面量整数,按照键去取…
1. 线程概述: 在一个进程的内部,要同时干多件事情,就需要同时运行“多个子任务”,我们把进程内的这些“子任务”叫做线程.也就说线程是进程成的子任务. 线程通常叫做情景的进程.线程是通过向内侧控件的并发执行的多任务.每一个线程都共享一个进程的资源. 线程是最小的执行单元,而进程至少由一个线程组成.如何调度进程和线程,完全由操作系统决定,用户程序不能自己决定什么时候执行.执行多长时间. 线程有两个模块: _thread模块:低级模块(现在很少用了) threading模块:高级模块,是对_thre…
1.二次封装: 二次封装其实就是对一个类或者一个方法进行二次的改造增加新的功能. 2.一个类的二次封装: 我们以一个进程为例,我们把Process这个库进行二次封装,增加一些功能,在调用. thomasProcess.py为二次封装的类: from multiprocessing import Process import os,time class ThomasProcess(Process): def __init__(self,name): Process.__init__(self) s…
1. re.split 正则的字符串切割 str1 = "Thomas is a good man" print(re.split(r" +",str1)) # " +" :至少一个是空格 # ['Thomas', 'is', 'a', 'good', 'man'] 2. finditer函数: 原型:re.findinter(pattern,string,flags=0) 参数: pattern:要匹配的正则表达式 strings:要匹配的字符…
1. 从一个判断手机号的问题引入: 如果给你一个字符串,去判断是否是一个手机号码,我们通过之前的学习可以有如下代码: # 如果用普通的方式去检验一个电话号码非常麻烦. def checkPhone(str): : return False elif str[] != ": return False elif str[:] != :] != ": return False ,): ": return False return True print(checkPhone(&quo…
1. 对类进行单元检测: 第一步:首先编写一个类: # 类名Person,person.py class Person(object): def __init__(self,name,age): self.name = name self.age = age def getAge(self): return self.age 第二部分:编写单元检测类进行类检测: import unittest from person import Person class Test(unittest.TestC…
1. 对函数进行单元检测: 单元检测: 作用:用来对一个函数.一个类.一个模块进行正确性校验工作. 结果: * 单元测试通过,说明我们测试函数的功能正确. * 单元测试不通过,说明函数有BUG,要么测试条件输入有误. 第一步:首先确定想要检测目标函数: def mySum(x,y): # x += return x + y def mySub(x,y): return x - y # print(mySum(,)) 第二步:编写函数单元检测类: import unittest from 对函数进…
1. sorted函数: 常用的排序分:冒泡排序.选择排序.快速排序.插入排序.计数器排序 实例1:普通排序 # 普通排序 list1 = [,,,,] list2 = sorted(list1) # 升序排序 print(list1) print(list2) # [, , , , ] # [, , , , ] 实例2:按绝对值大小排序 # 按绝对值大小排序 list3 = [,-,,,-] # key接受函数来实现自定义排序规则,取绝对值排序后,在添加绝对值 # list4 = sorted…
1. filter函数: 原型:filter(fn,lsd) 参数1为函数 参数2为序列 功能:用于过滤序列,把传入的函数一次作用域序列每个元素,根据返回的是True还是False决定是否保留该元素. 实例1: # 实例1: # 判断是不是偶数 list1 = [,,,,,,,,] # 删选条件 def func(num): # 偶数保留 == : return True # 奇数剔除 return False l = filter(func,list1) # [func()] print(li…
1. 性能: py3.x起始比py2.x效率低,但是py3.x现有极大的优化空间,效率正在追赶. 2. 编码: py3.x原码文件默认使用的utf-8编码,使得变量名更为宽阔. 3. 语法: * 去除了<>,改为 != * 加入了as和with关键字,还有True.False.None * 整型触发返回浮点数,整除使用 // * 键入nonlocal语句 * 除去了print语句,加入了print()函数 * 除去了raw_inpu,加入了input()函数 * 新的super(),可以不在用…
原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一个全面的了解,接下来在本章中,将通过一个案例来熟悉ArcGIS for Desktop的使用,从解决问题的过程中,逐渐适应ArcGIS桌面的界面和操作方式. 本章的练习数据是一个住宅小区的简单平面示意图,需要在已有的基础上把楼房的轮廓补充完整,并加以整饰,完成一幅地图. 1.1 打开地图文档并浏览…
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!QQ群:1097524789 为了配合 Python办公自…