python字符串和函数

您所在的位置:网站首页 turtle基本操作 python字符串和函数

python字符串和函数

#python字符串和函数| 来源: 网络整理| 查看: 265

字符串 字符串类型的表示

Python语言中,字符串是用两个双引号“”或者单引号‘’括起来的一个或多个字符。

字符串是字符的序列,可以按照单个字符或字符片段进行索引。字符串包括两种序号体系:正向递增序号和反向递减序号。如果字符串长度为L,正向递增以最左侧字符序号为0,向右依次递增,最后侧字符序号为L-1;反向递减序号以最后侧字符序号为-1,向左依次递减,最左侧字符序号为-L。这两种索引字符的方法可以同时使用。

Python字符串也提供区间访问方式,采用【N:M】格式,表示字符串中从N到M(不包含M)的子字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中M或者N索引缺失,则表示字符串把开始或结束索引值设为默认值。

name = "Python语言程序设计" name[0] 'P' print(name[0], name[7], name[-1]) P 言 计 print(name[2:-4]) thon语言 print(name[:6]) Python print(name[6:]) 语言程序设计 print(name[:]) Python语言程序设计

反斜杠字符(\)是一个特殊字符,在字符串中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。例如,\n表示换行,\\表示反斜杠,\’表示单引号,\”表示双引号,\t表示制表符(Tab)。

基本的字符串操作符

Python提供了5个字符串的基本操作符

x + y : 连接两个字符串x与y

x * n 或 n * x : 复制n次字符串x

x in s :如果x是s的子串,返回True,否则返回False

str[i] :索引,返回第i个字符

str[N:M] :切片,返回索引第N到第M的子串,其中不包含M

weekstr = "星期一星期二星期三星期四星期五星期六星期日" weekid = eval(input("请输入星期数字(1-7): ")) pos = (weekid -1) * 3 print(weekstr[pos:pos+3]) 字符串处理函数

len(x) 返回字符串x的长度,也可返回其他组合数据类型元素个数

str(x)返回任意类型x所对应的字符串形式

chr(x)返回Unicode编码x对应的单字符

ord(x)返回单字符表示的Unicode编码

hex(x)返回整数x对应十六进制数的小写形式字符串

oct(x)返回整数x对应八进制数的小写形式字符串

str.lower()返回字符串str的副本,全部字符小写

str.upper()返回字符串str的副本,全部字符大写

字符串类型的格式化

字符串通过format()方法进行格式化处理。

格式:.format()

print("{}:计算机{}的cpu占用率为{}%".format("2016-12-31","PYTHON",10))

2016-12-31:计算机PYTHON的cpu占用率为10%

format()方法的格式控制

< 左对齐

> 右对齐

^ 居中对齐

s = "python" print("{0:30}".format(s)) print("{0:>30}".format(s)) print("{0:*^30}".format(s)) print("{0:-^20,}".format(1234567890)) print("{0:-^20}".format(1234567890)) print("{0:-^20,}".format(12345.67890)) print("{0:.2f}".format(12345.67890)) print("{0:H^20.3f}".format(12345.67890)) print("{0:.4}".format("python")) ----------------------------------------------- D:\AI\venv\Scripts\python.exe D:/AI/base2.py python python ************python************ ---1,234,567,890---- -----1234567890----- ----12,345.6789----- 12345.68 HHHHH12345.679HHHHHH pyth

(1)b: 输出整数的二进制方式

(2)c:输出整数对应的Unicode字符

(3)d:输出整数的十进制方式

(4)o:输出整数的八进制方式

(5)x:输出整数的小写十六进制方式

(6)X:输出整数的大写十六进制方式

print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)) 110101001,Ʃ,425,651,1a9,1A9

浮点数类型输出格式:

(1)e:输出浮点数对应的小写字母e的指数形式

(2)E:输出浮点数对应的大写字母E的指数形式

(3)f:输出浮点数的标准浮点形式

(4)%:输出浮点数的百分形式

print("{0:e},{0:E},{0:f},{0:%}".format(3.14)) print("{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)) 3.140000e+00,3.140000E+00,3.140000,314.000000% 3.14e+00,3.14E+00,3.14,314.00% 文本进度条

调用Python标准时间库time,使用time.sleep(t)函数将当前程序暂时挂起t s,t可以是小数,由此可以接近真实的模拟进度条效果输出。

import time scale = 10 print("-----执行开始----") for i in range(scale+1): a, b = '**' * i, '..' * (scale - i) c = (i/scale) * 100 print("%{:^3.0f}[{}->{}]".format(c, a, b),end) time.sleep(0.1) print("------执行结束-----") -----执行开始---- % 0 [->....................] %10 [**->..................] %20 [****->................] %30 [******->..............] %40 [********->............] %50 [**********->..........] %60 [************->........] %70 [**************->......] %80 [****************->....] %90 [******************->..] %100[********************->] ------执行结束----- 带刷新的文本进度条

time.clock()函数一般多次出现,第一次调用时计时开始,同一程序中第二次以及后续调用时返回与第一次计时之间的时间差,单位为秒,该函数主要用来统计程序运行时间。

import time scale = 50 print("执行开始".center(scale//2, '-')) t = time.clock() for i in range(scale+1): a = '*' * i b = '.' * (scale - i) c = (i/scale)*100 t -= time.clock() print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),\ end='') time.sleep(0.05) print("\n"+"执行结束".center(scale//2, '-')) -----------执行开始---------- 100%[**************************************************->]79.30s -----------执行结束---------- 赋值语句

python语言中,“=”表示“赋值”,即将等号右侧的计算结果赋给左侧变量,包含(=)的语句称为赋值语句。此外还有一种赋值语句可以同时给多个变量赋值,基本格式如下:

,......, = , ... ,

>>>t = x

>>>x = y

>>>y = t

如果采用同步赋值:

>>>x, y = y, x

input()函数

input()函数从控制台获得用户输入,无论用户在控制台输入什么内容,input()函数都以字符串类型返回结果。

TempStr = input("请输入带有符号的温度值:“)

在获得用户输入之前,input()函数可以包含一些提示性文字:

= input()

需注意:无论用户输入的是字符或是数字,input()函数统一按照字符串类型输出。

>>>input(“请输入:”)

请输入:python

‘python’

>>>input(“请输入:”)

请输入:1024.256

‘1024.256’

eval()函数

eval()的作用是将输入的字符串转变成python语句,并执行该语句。

>>>TempStr = “102C”

>>>eval(TempStr[0:-1])

102

>>>eval(“hello”)

报错

>>>eval(“‘hello’”)

‘hello’

如果用户希望输入一个数字(小数或负数),并用程序对这个数字进行计算,可以采用

eval(input())的组合,例如:

>>>value = eval(input("清输入要计算的数值:”))

请输入要计算的数值:1024.256

>>>print(value*2)

2048.512

print()函数

当输出纯字符信息时,可以直接将待输出内容传递给print()函数,当输出变量值时,需要采用格式化输出方式,通过format()方法将待输出变量整理成期望输出的格式。

print(“输入格式错误”)

print(“转换后的温度是{:.2f}F”.format(F))

其中大括号{}表示一个槽位置,这个括号中的内容由字符串后面紧跟的format()方法中的参数C填充。大括号{:.2f}中的内容表示变量C输出的格式,具体表示输出值取两位小数值。

循环语句

条件循环的基本过程如下:

while():

当条件为真(True)时,执行语句块1语句,当条件为假(False)时,退出循环,执行循环后语句块2语句。

while TempStr【-1】not in 【‘N’,‘n’】:

如果该字符是‘N’或者‘n’,则条件语句结果为False,退出循环,进而结束程序;否则,条件语句结果为True,继续执行循环内的语句。这行语句中的not是保留字,表示对判读结果取反。

函数 #e1.3TempConvert.py def tempConvert(ValueStr):     if ValueStr[-1] in ['F','f']:         C = (eval(ValueStr[0:-1]) - 32)/1.8         print("转换后的温度是(:.2f)C".format(C))     elif ValueStr[-1] in ['C','c']:         F = 1.8*eval(ValueStr[0:-1]) + 32         print("转换后的温度是(:.2f)F".format(F))     else:         print("输入格式错误") TempStr = input("清输入带有符号的温度值:") tempConvert(TempStr)

第2行用def保留字定义了一个名为tempConvert()函数,它使用一个参数ValueStr。

由def保留字定义的函数在程序中不被直接执行,需要使用函数名称调用才能执行。

import #e2.1 DrawPython.py import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4):     turtle.circle(40,80)     turtle.circle(-40,80) turtle.circle(40, 80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40 * 2/3)

代码2.1中通过保留字import引用了绘制图形的turtle库。

使用import引用函数库有两种方式,但对函数的使用方式略有不同。

第一种:import

此时,程序可以调用库名中的所有函数,格式如下:

. ()

第二种引用函数库的方法如下:

from import

from import * #其中,*是通配符,表示所有函数

此时,调用该库的函数时不再需要使用库名,直接使用如下形式:

()

使用第二种库引用方式修改代码2.1完成蟒蛇绘制:

#e2.1 DrawPython.py from turtle import * setup(650,350,200,200) penup() fd(-250) pendown() pensize(25) pencolor("purple") seth(-40) for i in range(4): circle(40,80) circle(-40,80) circle(40, 80/2) fd(40) circle(16,180) fd(40 * 2/3)

第二行的import语句也可以写成如下形式:

from turtle import setup, penup, fd, pendown, pensize, pencolor, seth, circle

绘制坐标体系

turtle.setup(width, height, startx, starty)

作用:设置主窗体的大小和位置。

width:窗口宽度,如果值是整数,表示像素值;如果值是小数,表示窗口宽度与屏幕的比例。

height:窗口高度,如果值是整数,表示像素值;如果值是小数,表示窗口高度与屏幕的比例。

startx:窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央。

starty:窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央。

画笔控制函数

turtle.penup()

作用:表示抬起画笔,之后移动画笔不绘制形状。

参数:无

turtle.pendown()

作用:表示落下画笔,之后移动画笔将绘制形状。

参数:无

turtle.pensize(width)函数

作用:设置画笔尺寸

turtle.width()

作用:设置画笔宽度,当无参数输入时返回当前画笔宽度。

turtle.pencolor()

作用:给画笔设置颜色

参数:colorstring:表示颜色的字符串,例如“purple”、“red”、“blue”等。

(r,g,b):颜色对应的RGB数值,例如,(51,204,140)

turtle.fd()

作用:形状绘制函数,控制画笔向当前行进方向前进一个距离。

参数:distance:行进距离的像素值,当值为负数时,表示向相反方向前进。

turtle.seth()

作用:用来改变画笔绘制方向。

参数:to_angle:角度的整数值。

正东方向为绝对0度,正西方向为绝对180度。-40度即320度。

turtle.circle()

作用:绘制一个弧形

turtle.circle(radius,extent=None)

作用:根据半径radius绘制extent角度的弧形。

参数:radius:弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧。

extent:绘制弧形的角度,当不设置参数或参数设置为None时,绘制整个圆形。

函数的封装 #e2.3 DrawPython.py import turtle def drawSnake(radius, angle, length):     turtle.seth(-40)     for i in range(length):         turtle.circle(radius, angle)         turtle.circle(-radius, angle)     turtle.circle(radius, angle/2)     turtle.fd(40)     turtle.circle(16,180)     turtle.fd(40* 2/3) turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") drawSnake(40,80,4) turtle.done()

代码2.1中的程序功能可以分为2类:绘制图形前对画笔的设置,包括颜色、尺寸、初始位置等,以及绘制python蟒蛇的功能。由于蟒蛇绘制的功能相对独立,可以用函数来封装。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3