‘壹’ python 如何调用graphics库画圆弧,半圆等
importturtle
turtle.left(135)
turtle.circle(120,90)
turtle.done()
pythone3
‘贰’ python当对象作为形参时,如何自动补全
形参就是函数入口的参数,函数入口参数传递只有传值与传值两种区别。传值在python里就是以对象,比如数组或者是类来传递。至于实参,我印象中是传递常量吧。如果不是这样,应该没有实参的说法。是某些老师为了忽悠,编造出来的概念游戏。简单变量应该是指相对对象来讲的。在python里,只有对象与基本变量类型。简单变量的说法在python里似乎也没有意义。所以,忘记简单变量与实参这样的说法。
‘叁’ python实现指定字符串补全空格的方法
python实现指定字符串补全空格的方法
本文实例讲述了python实现指定字符串补全空格的方法。分享给大家供大家参考。具体分析如下:如果希望字符串的长度固定,给定的字符串又不够长度,我们可以通过rjust,ljust和center三个方法来给字符串补全空格
rjust,向右对其,在左边补空格
s = "123".rjust(5)
assert s == " 123"
ljust,向左对其,在右边补空格
s = "123".ljust(5)
assert s == "123 "
center,让字符串居中,在左右补空格
s = "123".center(5)
assert s == " 123 "
希望本文所述对大家的Python程序设计有所帮助。
‘肆’ 在PYTHON中如何将圆切成两半并且去掉其中一边
画出每次操作的结果。以下用内置的tkinter举例。
左键: 画圆-》切开-》去掉一半。点击位置一侧的半圆被删除。
右键 :退出。
#!/usr/bin/envpython
importsys
ifsys.version_info.major==2:
fromTkinterimport*
else:
fromtkinterimport*
classDraw(Canvas,object):
def__init__(self,*args,**kw):
super(Draw,self).__init__(*args,**kw)
self.bind("<Button-1>",self.cb)
self.bind("<Button-3>",lambdax:self.quit())
self.focus_set()
self.items=[]
self.state="Init"
defcb(self,event):
foriteminself.items:
self.delete(item)
self.items=[]
w,h=self.winfo_width(),self.winfo_height()
cx,cy=w/2,h/2
cw,ch=w/2,h/2
bbox=(cx-cw/2,cy-ch/2,cx+cw/2,cy+ch/2)
ifself.state=="Init":
circle=self.create_oval(bbox,fill='blue')
self.items.append(circle)
self.state="Circle"
elifself.state=="Circle":
right=self.create_arc(bbox,start=-90,extent=180,fill='blue')
left=self.create_arc(bbox,start=90,extent=180,fill='blue')
self.items+=[left,right]
self.state="Cut"
elifself.state=="Cut":
ifevent.x<cx:
right=self.create_arc(bbox,start=-90,extent=180,fill='blue')
self.items.append(right)
else:
left=self.create_arc(bbox,start=90,extent=180,fill='blue')
self.items.append(left)
self.state="Init"
if__name__=='__main__':
root=Tk()
draw=Draw(root,width=600,height=600)
draw.pack()
mainloop()
‘伍’ 用Python怎么画一个半圆最好写上调整半圆大小的方法
用Turtle画: turtle.circle(radius, extent=None, steps=None),这里extend指的就是角度,用180度,调整大小就改半径(r)就行了
import turtle
turtle = turtle.Pen()
r = 120
turtle.circle(r, 180)
turtle.left(90)
turtle.forward(2*r)
‘陆’ Python绘图之(1)Turtle库详解
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。
设置画布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。
如:turtle.screensize(800,600, "green")
turtle.screensize() #返回默认大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。
如:turtle.setup(width=0.6,height=0.6)
turtle.setup(width=800,height=800, startx=100, starty=100)
2.1 画笔的状态
在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
2.2 画笔的属性
画笔(画笔的属性,颜色、画线的宽度等)
1) turtle.pensize():设置画笔的宽度;
2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。
3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
2.3 绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。
(1) 画笔运动命令
(2) 画笔控制命令
(3) 全局控制命令
(4) 其他命令
3. 命令详解
3.1 turtle.circle(radius, extent=None, steps=None)
描述:以给定半径画圆
参数:
radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。
举例:
circle(50) # 整圆;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圆
实例:
1、太阳花
2、五角星
3、时钟程序
‘柒’ windows下怎么使用python3补全
1. 安装pyreadline
pip install pyreadline
2.启用tab键自动补齐
try:
import readline
except ImportError:
import pyreadline as readline
import rlcompleter
readline.parse_and_bind('tab: complete')
3.python启动自动启用自动补齐
将2.中代码保存到pythonrc.py, 并设置python.exe运行时加载pythonrc.py
set PYTHONSTARTUP=pythonrc.py
‘捌’ ❤️【Python从入门到精通】(二十七)更进一步的了解Pillow吧!
本文是接上一篇 ❤️【Python从入门到精通】(二十六)用Python的PIL库(Pillow)处理图像真的得心应手❤️ 进一步介绍Pillow库的使用, 本文将重点介绍一些高级特性:比如如何利用Pillow画图形(圆形,正方形),介绍通过Pillow库给图片添加水印;同时对上一篇文章未介绍的常用知识点进行补充说明。希望对读者朋友们有所帮助。
上一篇文章已经介绍了Image模块,但是介绍的还不够全面,例如如何从网页中读取图片没有介绍到,如何裁剪图片都没有介绍到。
读取网页中的图片的基本实现方式是:首先利用requests库读取当前图片链接的内容,接着将内容转成二进制数据,在通过open方法将该二进制数据,最后通过save方法进行保存。
读取结果是:
通过crop方法可以从图片中裁剪出一个指定大小的区域。裁取的区域范围是 (left, upper, right, lower) 比如从某个宽高都是400的图片中裁剪一个是宽高都是100的正方形区域,只需要指定裁剪区域的坐标是: (0, 0, 100, 100)
有裁剪还有一个方法就是重新设置图片大小的方法 resize,比如将前面400 400的图片 修改成 300 200,只需要调用resize方法
通过 convert方法进行图片模式的转换
前面介绍的ImageDraw库,只是介绍了利用它来向图片写入文本,其实ImageDraw模块还有一个更有用的途径,就是可以通过它来画各种图形。
首先创建一个600*600的画布。然后再画布中画出一个正方形,画直线的方法是 line方法。
ImageDraw.line(xy, fill=None, width=0, joint=None)
在xy的坐标之间画一条直线
xy--> 在两个坐标点之间画一条直线,坐标点的传入方式是[(x, y), (x, y), ...]或者[x, y, x, y, ...]
fill--> 直线的颜色
width--> 直线的宽度
画一个边框宽度为2px,颜色为蓝色的,面积为400*400的正方形。
ImageDraw.arc(xy, start, end, fill=None, width=0)
在给定的区域范围内,从开始角到结束角之间绘制一条圆弧
xy--> 定义边界框的两个点,传入的格式是[ (x0, y0), (x1, y1)] 或者 [x0, y0, x1, y1] ,其中 x1>=x0,y1>=y0
start --> 起始角度,以度为单位,从3点钟开始顺时针增加
end--> 结束角度,以度为单位
fill--> 弧线的颜色
width-->弧线的宽度
这里就是画了一个半圆,如果结束角度是360度的话则就会画一个完整的圆。
画圆通过ImageDraw.ellipse(xy, fill=None, outline=None, width=1) 方法,该方法可以画出一个给定范围的圆
xy--> 定义边界框的两个点,传入的格式是[ (x0, y0), (x1, y1)] 或者 [x0, y0, x1, y1] ,其中 x1>=x0,y1>=y0
outline--> 轮廓的颜色
fill ---> 填充颜色
width--> 轮廓的宽度
ImageDraw.chord(xy, start, end, fill=None, outline=None, width=1) 方法用来画半圆,跟arc()方法不同的是它会用直线将起始点和结束点连接起来
xy--> 定义边界框的两个点,传入的格式是[ (x0, y0), (x1, y1)] 或者 [x0, y0, x1, y1] ,其中 x1>=x0,y1>=y0
outline--> 轮廓的颜色
fill ---> 填充颜色
width--> 轮廓的宽度
ImageDraw.pieslice(xy, start, end, fill=None, outline=None, width=1)
类似于arc()方法,不过他会在端点和圆点之间画直线
xy--> 定义边界框的两个点,传入的格式是[ (x0, y0), (x1, y1)] 或者 [x0, y0, x1, y1] ,其中 x1>=x0,y1>=y0
start --> 起始角度,以度为单位,从3点钟开始顺时针增加
end--> 结束角度,以度为单位
fill--> 弧线的颜色
width-->弧线的宽度
ImageDraw.rectangle(xy, fill=None, outline=None, width=1)
xy--> 在两个坐标点之间画一条直线,坐标点的传入方式是[(x, y), (x, y), ...]或者[x, y, x, y, ...]
outline--> 轮廓的颜色
fill--> 填充的颜色
width--> 轮廓线的宽度
ImageDraw.rounded_rectangle(xy, radius=0, fill=None, outline=None, width=1) 该方法可以画一个圆角矩形
xy--> 在两个坐标点之间画一条直线,坐标点的传入方式是[(x, y), (x, y), ...]或者[x, y, x, y, ...]
radius--> 角的半径
outline--> 轮廓的颜色
fill--> 填充的颜色
width--> 轮廓线的宽度
这里有个问题,就是画好的图形如何从Image中扣出来呢?
ImageEnhance模块主要是用于设置图片的颜色对比度亮度锐度等啥的,增强图像。
原始图像
ImageFilter模块主要用于对图像进行过滤,增强边缘,模糊处理,该模块的使用方式是 im.filter(ImageFilter) 。
其中ImageFilter按照需求传入指定的过滤值。
下面一个个试下效果
4.边缘增强
ImageGrab模块主要用于对屏幕进行截图,通过grab方法进行截取,如果不传入任何参数则表示全屏幕截图,否则是截取指定区域的图像。其中box格式是:(x1,x2,y1,y2)
利用Pillow库可以轻易的对图像增加水印
首先,用PIL的Image函数读取图片
接着,新建一张图(尺寸和原图一样)
然后,在新建的图象上用PIL的ImageDraw把字给画上去,字的颜色从原图处获取。
原图
添加文字后的效果图
本文详细介绍了Pillow库的使用,希望对读者朋友们有所帮助。
Pillow官方文档
需要获取源码的小伙伴可以关注下方的公众号,回复【python】
‘玖’ python os模块不会自动补全是什么原因
原因是目录问题,因为软件没在python的project目录下,比如你自己新建了一个目录。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990 年代初设计,作为一门叫做ABC语言的替代品。
Python使用与C、Java类似的运算符,支持整数与浮点数的数学运算。同时还支持复数运算与无穷位数(实际受限于计算机的能力)的整数运算。
除了求绝对值函数abs()外,大多数数学函数处于math和cmath模块内。前者用于实数运算,而后者用于复数运算。
发展历史:
1995 年,Guido van Rossum 在弗吉尼亚州的国家创新研究公司(CNRI)继续他在 Python 上的工作,并在那里发布了该软件的多个版本。
2000 年五月,Guido van Rossum和 Python 核心开发团队转到 BeOpen.com 并组建了 BeOpen PythonLabs 团队。
同年十月,BeOpen PythonLabs 团队转到 Digital Creations (现为 Zope Corporation)。
2001 年,Python 软件基金会 (PSF) 成立,这是一个专为拥有 Python 相关知识产权而创建的非盈利组织。 Zope Corporation 现在是 PSF 的赞助成员。
‘拾’ python“半圆弧的长度”输入圆的半径,求半圆弧的长度(使用math库的pi常量)
具体代码如下:
>>> from math import pi
>>> r = float(input("请输入圆的半径:")) #设置键盘输入
请输入圆的半径:2
>>> l = round(pi*r, 2) #计算半圆弧长,保留两位小数
>>> print("L=%s"%str(l), end='') # 无空行输出
L=6.28
>>>