python基础知识四
set集合Python 中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同。感觉集合使用的非常的少
从形式上看,和字典类似,Python 集合会将所有元素放在一对大括号 {} 中,相邻元素之间用“,”分隔,如下所示:
{element1,element2,…,elementn}elementn 表示集合中的元素,个数没有限制从内容上看,同一集合中,只能存储不可变的数据类型,包括整形、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型,否则 Python 解释器会抛出 TypeError 错误并且需要注意的是,数据必须保证是唯一的,因为集合对于每种数据元素,只会保留一份。由于 Python 中的 set 集合是无序的,所以每次输出时元素的排序顺序可能都不相同。
创建set集合Python 提供了 2 种创建 set 集合的方法,分别是使用 {} 创建和使用 set() 函数将列表、元组等类型数据转换为集合。
使用 {} 创建
在 Python 中,创建 set 集合可以像列表、元素和字典一样,直接将集合赋值给变量,从而实现创建集合的目 ...
python基础知识三
tuple元组详解元组和列表(list)的不同之处在于:列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列;而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。从形式上看,元组的所有元素都放在一对小括号( )中,相邻元素之间用逗号,分隔,如下所示:(ele1, ele2, … , elen)其中 ele1~elen 表示元组中的各个元素,个数没有限制,只要是 Python 支持的数据类型就可以。并且在同一个元组中,元素的类型可以不同
创建元组Python 提供了两种创建元组的方法
使用 ( ) 直接创建通过( )创建元组后,一般使用=将它赋值给某个变量,具体格式为:tuplename = (element1, element2, …, elementn)tuplename 表示变量名,element1 ~ elementn 表示元组的元素。
123num = (7, 14, 21, 28, 35)course = ("Python教程", "http://c.biancheng.net/python/ ...
Tkinter列表框控件
Tkinter列表框和组合框控件列表框,即 Listbox。在使用 Tkinter 进行 GUI 编程的过程中,如果需要用户自己进行选择时就可以使用列表框控件。列表框中的选项可以是多个条目,也可以是单个唯一条目,但常用于多个条目
常用方法activate(index)将给定索引号对应的选项激活,即文本下方画一条下划线
bbox(index)返回给定索引号对应的选项的边框,返回值是一个以像素为单位的 4 元祖表示边框:(xoffset, yoffset, width, height), xoffset 和 yoffset 表示距离左上角的偏移位置
curselection()返回一个元组,包含被选中的选项序号(从 0 开始)
delete(first, last=None)删除参数 first 到 last 范围内(包含 first 和 last)的所有选项
get(first, last=None)返回一个元组,包含参数 first 到 last 范围内(包含 first 和 last)的所有选项的文本
index(index)返回与 index 参数相应选项的序号 ...
python基础知识二
列表(list)和元组(tuple)字典(dict)和集合(set)的数据储存列表(list)和元组(tuple)比较相似,它们都按顺序保存元素,所有的元素占用一块连续的内存,每个元素都有自己的索引,因此列表和元组的元素都可以通过索引(index)来访问。它们的区别在于:列表是可以修改的,而元组是不可修改的
字典(dict)和集合(set)存储的数据都是无序的,每份元素占用不同的内存,其中字典元素以 key-value 的形式保存。
序列类型序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。
序列切片切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列
sname[start : end : step]参数的含义分别是:sname:表示序列的名称;start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;step:表示在切 ...
python基础知识一
格式
不要在行尾添加分号,也不要用分号将两条命令放在同一行,一般书写是一条语句占一行
eg.
12height=float(input("输入身高:")) ;weight=fioat(input("输入体重:")) ;#这种是错误的
通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。
在 Python 中,标识符中的字母是严格区分大小写
Python 语言中,以下划线开头的标识符有特殊含义例如:以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from…import* 的方式导入;
以双下划线开头的标识符(如__add)表示类的私有成员;
以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。
Python 允许使用汉字作为标识符
不要使用内置函数的名字作为标识符使用(例如变量名、函数名、类名、模板名、对象名等),虽然这样做 Python 解释器不会报错,但这会导致同名的内置函数被覆盖,从而无法使用
Python 整数的取值范围是无限的不 ...
Tkinter--Text文本框控件
Tkinter Text文本框控件Text 文本控件是 Tkinter 中经常使用的控件,与 Entry 控件相比,Text 控件用于显示和编辑多行文本,而 Entry 控件则适合处理单行文本。Text 控件的有很多的适用场景,比如显示某个产品的详细信息,或者人物介绍等。
基本属性除了基本的共有属性之外,Text 控件还具备以下属性:
autoseparators默认为 True,表示执行撤销操作时是否自动插入一个“分隔符”(其作用是用于分隔操作记录)
exportselection默认值为 True,表示被选中的文本是否可以被复制到剪切板,若是 False 则表示不允许。
insertbackground设置插入光标的颜色,默认为 BLACK
insertborderwidth设置插入光标的边框宽度,默认值为 0
insertofftime该选项控制光标的闪烁频频率(灭的状态)
insertontime该选项控制光标的闪烁频频率(亮的状态)
selectbackground指定被选中文本的背景颜色,默认由系统决定
selectborderwidth指定被选中文本的背景颜色,默认值是0 ...
Pillow为图片添加水印
Pillow为图片添加水印Pillow 库提供了添加水印的方法,操作简单,易学、易用。水印是附着在原图片上一段文字信息,因此添加水印的过程中会涉及两个问题:
第一、如何使文字信息附着在图片上;
第二、如何绘制文字信息。只要解决了这两个问题就可以成功添加水印。
Pillow 提供的ImageDraw和ImageFont模块成功解决了上述问题。
ImageDrawPIL.ImageDraw 模块提供了一系列的绘图方法,通过该模块可以创建一个新的图形,或者在现有的图像上再绘制一个图形,从而起到对原图注释和修饰的作用。
draw = ImageDraw.Draw(im)
上述方法会返回一个 ImageDraw 对象参数 im 表示 Image 对象。这里我们可以把 Image 对象理解成画布,通过调用 ImageDraw 对象的一些方法,实现了在画布上绘制出新的图形目的。ImageDraw 对象的常用方法如下表所示:
表格中第一个方法 text() 需要与 ImageFont 模块一起使用
绘制矩形图的语法格式如下:
draw.rectangle(xy, fill=No ...
Pillow图像降噪处理和颜色处理
Pillow图像降噪处理由于成像设备、传输媒介等因素的影响,图像总会或多或少的存在一些不必要的干扰信息,我们将这些干扰信息统称为“噪声”
如数字图像中常见的“椒盐噪声”,指的是图像会随机出现的一些白、黑色的像素点。图像噪声既影响了图像的质量,又妨碍人们的视觉观赏。因此,噪声处理是图像处理过程中必不可少的环节之一,我们把处理图像噪声的过程称为“图像降噪”。
随着数字图像技术的不断发展,图像降噪方法也日趋成熟,通过某些算法来构造滤波器是图像降噪的主要方式。滤波器能够有效抑制噪声的产生,并且不影响被处理图像的形状、大小以及原有的拓扑结构。
Pillow 通过 ImageFilter 类达到图像降噪的目的,该类中集成了不同种类的滤波器,通过调用它们从而实现图像的平滑、锐化、边界增强等图像降噪操作。
使用 ImageFilter 类也会返回一个新对象
常见的降噪滤波器如下
模糊处理
1234from PIL import Image, ImageFilterimg = Image.open("D:\\File\\All\\web\\python\\blog\\947849.jpg ...
Tkinter库--Entry输入控件
Tkinter Entry输入控件Entry 控件是 Tkinter GUI 编程中的基础控件之一,它的作用就是允许用户输入内容,从而实现 GUI 程序与用户的交互,比如当用户登录软件时,输入用户名和密码,此时就需要使用 Entry 控件。
Entry 控件使用起来非常简单,下面对该控件做简单的介绍。基本语法格式如下:
1tk_entry = Entry( master, option, ... )
基本属性基本属性Entry 控件除了具备一些共有属性之外,还有一些自身的特殊属性,如下表所示:
exportselection默认情况下,如果在输入框中选中文本会复制到粘贴板,如果要忽略这个功能,可以设置为 exportselection=0
selectbackground选中文字时的背景颜色
selectforeground选中文字时的前景色
show指定文本框内容以何种样式的字符显示,比如密码可以将值设为 show=”*”
textvariable输入框内值,也称动态字符串,使用 StringVar() 对象来设置,而 text 为静态字符串对象
text
输入框 ...
Tkinter库--Button控件
Tkinter Button按钮控件Button 控件是 Tkinter 中常用的窗口部件之一,同时也是实现程序与用户交互的主要控件。通过用户点击按钮的行为来执行回调函数,是 Button 控件的主要功用。
首先自定义一个函数或者方法,然后将函数与按钮关联起来,最后,当用户按下这个按钮时,Tkinter 就会自动调用相关函数。
按钮控件使用起来非常简单,它同样可以包含文本、图像、位图,并通过command参数回调函数。当然按钮也并非一定要执行回调函数(callback function),它也只可以当一个“摆设”,不过这样的按钮是没有“灵魂的”
12345678import tkinter as tk# from setuptools import Commandroot = tk.Tk()root.geometry("300x300")btn = tk.Button(root, text ="xiaoyang", command=quit)btn.pack()root.mainloop()
Button 控件的常营属性如下所示:anchor控 ...