1、12.1.1常用内置对象2对象类型对象类型 类型名称类型名称示例示例简要说明简要说明数字intfloatcomplex1234567893.14159261e-63+4j基本类型,不可变,大小没有限制字符串strswfuIm a studentPython 容器类型,不可变,可以使用单引号、双引号、三引号作为定界符列表list1,2,3a,b,c,2容器类型,可变,所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型元组tuple(2,-5,6)(3,)容器类型,不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素,后面必须多写一个逗号集合seta
2、,b,c容器类型,可变,所有元素放在一对大括号中,元素之间使用逗号分隔,元素必须为不可变类型的数据,并且不允许重复字典dict1:food,2:taste,3:import容器类型,可变,所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”,其中“键”不允许重复且必须不可变2.1.1常用内置对象3对象类型对象类型类型名称类型名称示例示例简要说明简要说明布尔型boolTrueFalse逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False空类型NoneTypeNone空值其他可迭代对象 生成器对象、range对象、zip对象、enumera
3、te对象、map对象、filter对象等等具有惰性求值的特点,除range对象之外,其他几个对象中的元素只能使用一次编程单元 函数(使用def定义)类(使用class定义)模块(类型为module)类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象2.1.2常量与变量 在 Python 中,不仅变量的值是可变的,而且变量的类型也是可以随时发生改变的,这正是动态语言的特点。另外,在 Python 程序中不需要事先声明变量名及其类型,直接赋值即可创建任意类型的变量。x=3创建了整型变量x,并赋值为3,再例如语句 x=Hello world.创建了字符串变量x,并赋值为Hello w
4、orld.。4凭空出现一个整型变量x新的字符串变量,再也不是原来的x了2.1.2常量与变量 在 Python 中定义变量名、函数名或类名时,需要注意以下问题。必须以汉字、字母或下画线开头。不能包含空格或标点符号。不能使用关键字。如 if、else、for、while、return等不能作为变量名,也不能作为函数和类的名字。对英文字母的大小写敏感,如 score 和 Score 不是同一个变量。不建议使用系统内置的模块名、类型名或函数名和已导入的模块名及其成员名,这会改变其类型和含义,甚至会导致其他代码无法正常执行。52.1.3数字类型 在 Python 中,内置的数字类型有整数、实数和复数。整
5、数又分为二进制整数(以 0b 开头,每位上的数字为 0 或 1)、八进制整数(以 0o 开头,每位上的数字在 0 7 之间)、十进制整数(默认,每位上的数字在 0 9之间)和十六进制整数(以 0 x 开头,每位上的数字在 0 9 之间或 a f之间)。62.1.3数字类型 在使用时,不必担心数值的大小问题,因为 Python 支持任意大的数值。9999*99#这里*是幂乘运算符,表示 9999的 99次方990148353526723487602263124753282625570559528895791057324326529121794837894053513464422176826916
6、433932586924386677766244032001623756821400432975051208820204980098735552703841362304669970510691243800218202840374329378800694920309791954185117798434329591212159106298699938669908067573374724331208942425544893910910073205049031656789220889560732962926226305865706593594917896276756396848514900989999
7、72.1.3数字类型尽量避免在实数之间直接进行相等性测试,而是应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据,或者使用标准库 math中的 isclose()进行测试。0.4-0.1#实数运算的结果可能会有一定的误差0.30000000000000004 0.4-0.1=0.3#避免直接比较两个实数是否相等False abs(0.4-0.1-0.3)math.isclose(0.4-0.1,0.3)True82.1.3数字类型 Python 支持复数及其运算。x=3+4j#使用 j 或 J 表示复数虚部 y=5+6j x+y#复数之间的加、减、乘、除运算(8+10j)x-y(-2-
8、2j)x*y(-9+38j)x/y(0.6393442622950819+0.03278688524590165j)abs(x)#内置函数 abs()可以计算复数的模5.0 x.imag#虚部4.0 x.real#实部3.0 x.conjugate()#共轭复数(3-4j)92.1.4字符串 在 Python 中,使用一对单引号、双引号、三单引号、三双引号作为定界符来表示字符串,并且不同的定界符之间可以互相嵌套。使用双引号限定的字符串中可以包含单引号,而使用单引号限定的字符串中可以包含双引号。Python 支持使用加法运算符连接字符串,支持乘法运算符对字符串进行复制。除此之外,Python 字
9、符串自身还提供了大量的方法支持查找、替换、排版等操作,很多内置函数和标准库对象也支持对字符串的操作。102.1.4字符串 x=Hello world.#使用单引号作为定界符 x=Python is a great language.#使用双引号作为定界符 x=Tom said,Lets go.#最外层是三个单引号#在内层双引号中还嵌套了一个单引号 print(x)Tom said,Lets go.good +morning#连接字符串good morning good *3#字符串复制good good good 112.1.5序列 x_list=1,2,3#创建列表对象 x_tuple=(1
10、,2,3)#创建元组对象 x_dict=a:97,b:98,c:99#创建字典对象 x_set=1,2,3#创建集合对象 print(x_list1)#使用下标访问列表中指定位置的元素2 print(x_tuple1)#使用下标访问元组中指定位置的元素2 print(x_dicta)#通过 键 访问字典中对应的 值 97 3 in x_set#测试集合中是否包含某个元素True122.2 运算符与表达式 在 Python 中很多运算符具有多种不同的含义,作用于不同类型的操作数时含义并不完全相同,使用非常灵活。例如,加号在作用于整数、实数或复数时表示算术加法,而在作用于列表、字符串、元组时表示连
11、接;乘号在作用于整数、实数或复数时表示算术乘法,而在列表、字符串或元组与整数相乘时表示序列复制;减号在作用于整数、实数或复数时表示算术减法,而在作用于集合时表示差集,在单个数字前面又表示负号。132.2 运算符与表达式14运算符运算符功能说明功能说明+算术加法,列表、元组、字符串合并与连接,正号-算术减法,集合差集,负号*算术乘法,列表、元组或字符串与整数相乘时表示序列重复/真除法,结果为实数/求整商,向下取整,如果操作数中有实数的话,结果为实数形式的整数%求余数,结果的符号与除数相同*幂运算、=、=、!=关系运算符and逻辑与or逻辑或not逻辑非in成员测试is同一性测试,测试两个对象是否
12、引用同一个对象&、|、集合交集、并集、对称差集2.2.1算术运算符(1)+运算符除用于算术加法外,还可以用于列表、元组、字符串的连接。3+5.0#实数相加8.0(3+4j)+(5+6j)#复数相加(8+10j)1,2,3+4,5,6#连接两个列表,得到新列表1,2,3,4,5,6(1,2,3)+(4,)#连接两个元组,得到新元组(1,2,3,4)abcd+1234#连接两个字符串,得到新字符串abcd1234152.2.1算术运算符(2)*运算符除了表示算术乘法,还可用于列表、元组、字符串与整数的乘法,表示序列元素的复制。3*5.0#实数乘法15.0 5*(3+4j)#实数与复数的乘法(15+
13、20j)(3+4j)*(5+6j)#复数乘法(-9+38j)1,2,3*3#列表元素复制,得到新列表1,2,3,1,2,3,1,2,3(1,2,3)*3#元组元素复制,得到新元组(1,2,3,1,2,3,1,2,3)abc*3#字符串元素复制,得到新字符串abcabcabc162.2.1算术运算符(3)运算符/和/分别表示算术除法和求整商。3/2#数学意义上的除法,结果为实数1.5 15/4#如果两个操作数都是整数,那么结果为整数3 15.0/4#操作数中有实数,得到实数形式的整数值3.0-13/10#向下取整,返回小于等于商的最大整数-2172.2.1算术运算符(4)%运算符可以用于数字求余
14、数运算。789%23#求余数7 36%12#余数为 0,表示 36 能被 12 整除0182.2.1算术运算符(5)*运算符表示幂乘。3*2#3 的 2 次方9 9*0.5#9 的 0.5 次方,可以用来计算平方根3.0(-9)*0.5#可以对负数计算平方根,得到复数(1.8369701987210297e-16+3j)1.01*365#每天多努力一点点,一年后的样子37.78343433288728 1.02*365#每天再多努力一点点,一年后的样子1377.4082919660768 0.99*365#每天少努力一点点,一年后的样子0.025517964452291125192.2.2关系
15、运算符 1 3 5#等价于 1 3 and 3 3 2True 1 6 8#注意,这里实际上并不会计算 6 Hello world#比较字符串大小False 1,2,3 Hello 3#字符串和数字不能比较,抛出异常TypeError:unorderable types:str()int()202.2.3成员测试运算符 3 in 1,2,3#测试 3 是否为列表 1,2,3 的元素True abc in abcdefg#子字符串测试True212.2.4逻辑运算符 3 and 5#最后一个计算的表达式的值作为整个表达式的值5 3 or 5#and 和 or 的结果不一定是 True 或 Fal
16、se3 3 and 52#所有非 0 数值都等价于 TrueTrue 3 not in 1,2,3#逻辑非运算 notFalse 3 is not 5#not 的计算结果只能是 True 或 False 之一True222.2.5集合运算符 1,2,3&3,4,5#交集3 1,2,3|3,4,5#并集1,2,3,4,5 1,2,3-3,4,5#差集1,2 1,2,3 3,4,5#对称差集1,2,4,5 1,2,3 1,2,3=3,2,1#测试两个集合是否相等True 1,2,4 1,2,3#集合之间的包含测试False 1,2,4 x=input(Please input:)Please in
17、put:345 type(x)#返回字符串 int(x)#转换为整数345 x=input(Please input:)Please input:1,2,3 type(x)eval(x)#对字符串进行求值,还原为列表1,2,3 x=input(Please input:)#不论用户输入什么,都返回字符串Please input:hello world x#如果本来就想输入字符串,那么不用再输入引号hello world eval(x)hello world282.3.1基本输入输出函数 print(1,3,5,7,sep=t)#修改默认分隔符1 3 5 7 for i in range(10)
18、:print(i,end=)#修改默认行尾结束符,不换行0 1 2 3 4 5 6 7 8 9292.3.2数字有关的函数(1)函数 bin()、oct()和 hex()分别用来将整数转换为二进制数、八进制数和十六进制数的数字字符串,要求参数必须为整数。bin(555)#将十进制整数转换为二进制数字字符串0b1000101011 oct(555)#将十进制整数转换为八进制数字字符串0o1053 hex(555)#将十进制整数转换为十六进制数字字符串0 x22b bin(0 x888)#将十六进制整数直接转换为二进制数字字符0b100010001000302.3.2数字有关的函数(2)函数 in
19、t()用来将其他形式的数字转换为整数,参数可以为整数、实数、分数或合法的数字字符串,语法格式有 int(x)和 int(x,base=10)两种。int(-3.2)#将实数转换为整数-3 int(0 x22b,16)#将十六进制数转换为十进制数555 int(22b,16)#与上一行代码等价555 int(bin(54321),2)#二进制数与十进制数之间的转换54321 int(0b111)#非十进制数字字符串,必须指定第二个参数ValueError:invalid literal for int()with base 10:0b111 int(0b111,0)#第二个参数 0 表示使用字符
20、串隐含的进制7 int(0b111,6)#第二个参数必须与隐含的进制一致ValueError:invalid literal for int()with base 6:0b111 int(111,6)#字符串没有隐含进制#这时第二个参数可以为 2 36 之间的整数43312.3.2数字有关的函数(3)函数 float()用来将其他类型数据转换为实数,函数 complex()用来生成复数。float(3)#把整数转换为实数3.0 float(5.5)#把数字字符串转换为实数5.5 float(inf)#无穷大,其中 inf 不区分大小写inf complex(3)#只指定实部,虚部默认为 0(3
21、+0j)complex(4,5)#同时指定实部和虚部(4+5j)322.3.2数字有关的函数(4)函数 abs()用来计算实数的绝对值或者复数的模,函数 divmod()用来同时计算两个数的商和余数,函数 pow()用来计算幂乘,函数 round()用来对数字进行四舍五入。abs(-3)#绝对值3 abs(-3+4j)#复数的模5.0 divmod(60,8)#返回商和余数组成的元组(7,4)pow(2,3)#幂运算,2 的 3 次方,相当于 2*38 pow(2,3,5)#相当于(2*3)%53 round(10/3,2)#四舍五入,保留 2 位小数3.33332.3.3序列有关的函数(1)
22、函数 list()、tuple()、dict()、set()和 str()list(range(5)#把 range 对象转换为列表0,1,2,3,4 tuple(_)#一个下画线表示上一次正确输出结果(0,1,2,3,4)dict(zip(1234,abcde)#创建字典4:d,2:b,3:c,1:a set(1112234)#创建集合4,2,3,1 str(1234)#直接转换为字符串1234 str(1,2,3,4)#直接转换为字符串1,2,3,4 list(str(1,2,3,4)#注意这里的转换结果,1,2,3,4,342.3.3序列有关的函数(2)函数 max()、min()、su
23、m()from random import randint scores=randint(1,100)for i in range(10)#包含 10 个 1,100 之间随机数的列表 scores15,100,59,88,74,58,56,48,74,86 print(max(scores),min(scores),sum(scores)#最大值、最小值、所有元素之和100 15 658 sum(scores)/len(scores)#平均值65.8352.3.3序列有关的函数(3)函数 sorted()x=list(range(11)import random random.shuffle
24、(x)#随机打乱顺序 x2,4,0,6,10,7,8,3,9,1,5 sorted(x)#以默认规则排序0,1,2,3,4,5,6,7,8,9,10 sorted(x,key=lambda item:len(str(item),reverse=True)#按转换成字符串以后的长度降序排列10,2,4,0,6,7,8,3,9,1,5 sorted(x,key=str)#按转换为字符串以后的大小排序0,1,10,2,3,4,5,6,7,8,9 x#不影响原来列表的元素顺序2,4,0,6,10,7,8,3,9,1,5 list(reversed(x)#逆序,翻转5,1,9,3,8,7,10,6,0,
25、4,2362.3.3序列有关的函数(4)函数 enumerate()list(enumerate(abcd)#枚举字符串中的元素(0,a),(1,b),(2,c),(3,d)list(enumerate(Python,Greate)#枚举列表中的元素(0,Python),(1,Greate)for index,value in enumerate(range(10,15):print(index,value),end=)(0,10)(1,11)(2,12)(3,13)(4,14)372.3.3序列有关的函数(5)函数 zip()list(zip(abcd,1,2,3)#压缩字符串和列表(a,1
26、),(b,2),(c,3)list(zip(abcd)#对一个序列也可以压缩(a,),(b,),(c,),(d,)list(zip(123,abc,.!)#压缩三个序列(1,a,),(2,b,.),(3,c,!)for item in zip(abcd,range(3):#zip 对象是可迭代的 print(item)(a,0)(b,1)(c,2)x=zip(abcd,1234)list(x)(a,1),(b,2),(c,3),(d,4)list(x)#zip 对象中的元素只能使用一次382.3.4函数 map()、reduce()、filter()(1)函数 map()list(map(st
27、r,range(5)#把列表中元素转换为字符串0,1,2,3,4 def add5(v):#单参数函数,把参数加 5 后返回 return v+5 list(map(add5,range(10)#把单参数函数映射到序列的所有元素上5,6,7,8,9,10,11,12,13,14 def add(x,y):#返回两个参数之和的函数 return x+y list(map(add,range(5),range(5,10)#把双参数函数映射到两个序列上5,7,9,11,13 import random x=random.randint(1,1e30)#生成指定范围内的随机整数 x8397465582
28、15897242220046223150 list(map(int,str(x)#提取大整数每位上的数字8,3,9,7,4,6,5,5,8,2,1,5,8,9,7,2,4,2,2,2,0,0,4,6,2,2,3,1,5,0 sum(map(int,str(x)#大整数各位数字之和122392.3.4函数 map()、reduce()、filter()(2)标准库 functools 中的函数 reduce()from functools import reduce seq=list(range(1,10)#range(1,10)包含从 1 到 9 的整数 reduce(add,seq)#add
29、 是上一段代码中定义的函数45402.3.4函数 map()、reduce()、filter()(3)函数 filter()seq=foo,x41,?!,*def func(x):return x.isalnum()#测试是否为字母或数字 filter(func,seq)#返回可迭代的 filter 对象 list(filter(func,seq)#把 filter 对象转换为列表foo,x41 seq#filter()不对原列表做任何修改foo,x41,?!,*list(filter(None,1,2,3,0,0,4,0,5)#指定函数为 None1,2,3,4,5412.3.5函数 ran
30、ge()函数 range()是 Python 中非常有用的一个函数,其语法格式为range(start,stop,step),有 range(stop)、range(start,stop)和 range(start,stop,step)三种用法,参数 start 默认为 0,step 默认为 1。该函数返回具有惰性求值特点的 range 对象,其中包含左闭右开区间 start,end)内以step 为步长的整数。range(5)#start 默认为 0,step 默认为 1range(0,5)list(range(1,10,2)#指定步长,并转换为列表查看其中的内容1,3,5,7,9 list
31、(range(9,0,-2)#步长可以为负数9,7,5,3,1422.3.6精彩例题分析与解答 例例 2-1 编写程序,输入一个包含若干自然数的列表,输出一个新列表,要求新列表中只包含原来列表中各位数字之和等于 9 的自然数。x=eval(input(请输入包含若干自然数的列表:)result=list(filter(lambda num:sum(map(int,str(num)=9,x)print(result)432.3.6精彩例题分析与解答 例例 2-2 编写程序,输入两个字符串,统计第一个字符串中所有字符在第二个字符串中出现的总次数。s1=input(请输入一个字符串 s1:)s2=i
32、nput(请再输入一个字符串 s2:)print(s1 中所有字符在 s2 中出现总次数为:,end=)print(sum(map(lambda ch:s2.count(ch),s1)442.3.6精彩例题分析与解答 例例 2-3 随着经济的发展,居民存款逐年增长,某地区居民连续几年的年底储蓄总金额如下表所示。t=(1,2,3,4,5)y=(5,6,7,8,10)n=len(t)tAverage=sum(t)/nyAverage=sum(y)/nly=sum(map(lambda x,y:x*y,t,y)-n*tAverage*yAveragelt=sum(map(lambda x:x*x,t
33、)-n*tAverage*tAverage#直线斜率k=round(ly/lt,3)#直线截距b=round(yAverage-k*tAverage,3)print(k,b)#计算已知点与回归直线的距离平方和distance=sum(map(lambda x,y:(k*x+b-y)*2,t,y)distance=round(distance,3)print(distance)print(round(6*k+b,3)452.3.6精彩例题分析与解答 例例 2-4 有三个大小和材质完全相同且相距较远的金属球 A、B、C,已知 A 和 B 的电荷量,让不带电荷的 C 先与 A 接触后移开,然后再与B
34、 接触后移开,此时 C 携带的电荷量是多少?编写程序,输入 A 和 B 的电荷量,输出 C 的电荷量。A=float(input(金属球 A 的电荷量:)B=float(input(金属球 B 的电荷量:)C=A/2C=(B+C)/2print(金属球 C 的电荷量:,C)462.4 常用标准库用法简介 除内置对象外,Python 还通过标准库提供了大量的对象可以使用,是内置对象很好的补充和扩展。与内置对象不同的是,标准库中的对象需要先导入才能使用。472.4.1数学模块 math(1)常数 pi 和 e。import math math.pi#圆周率3.141592653589793 mat
35、h.e#自然常数2.718281828459045482.4.1数学模块 math(2)ceil(x),向上取整,返回大于等于 x 的最小整数。math.ceil(3.2)4.0 math.ceil(-3.2)-3.0492.4.1数学模块 math(3)floor(x),向下取整,返回小于等于 x 的最大整数。math.floor(3.2)3.0 math.floor(-3.2)-4.0502.4.1数学模块 math(4)factorial(x),返回 x 的阶乘,要求 x 必须为正整数。math.factorial(6)720512.4.1数学模块 math(5)log(x,b),若不提
36、供参数 b 则返回 x 的自然对数值;若提供参数 b 则返回 x 以 b 为底的对数值。math.log(100)#自然对数4.605170185988092 math.log(100,10)#以 10 为底的对数2.0 math.log(1024,2)#以 2 为底的对数10.0522.4.1数学模块 math(6)acos(x)、asin(x)、atan(x),返回 x 的反余弦、反正弦和反正切函数值,结果为弧度。math.cos(3)#计算余弦值-0.9899924966004454 math.acos(_)#计算反余弦值2.9999999999999996532.4.1数学模块 mat
37、h(7)sin(x)、cos(x)、tan(x),返回 x 的正弦函数值、余弦函数值和正切函数值,参数 x 的单位是弧度。math.sin(math.pi)1.2246467991473532e-16542.4.1数学模块 math(8)degrees(x)、radians(x),实现角度与弧度的互相转换。math.radians(90)#返回 90 度对应的弧度值,二分之一 1.5707963267948966 _/math.pi0.5 math.degrees(math.pi)#等于 180 度180.0552.4.1数学模块 math(9)gcd(x,y),返回整数 x 和 y 的最大公
38、约数。math.gcd(35,25)5 math.gcd(36,24)12562.4.1数学模块 math(10)sqrt(x),返回正数 x 的平方根。math.sqrt(9)3.0 math.sqrt(0)0.0 math.sqrt(-9)#不能计算负数的平方根,抛出异常ValueError:math domain error(-9)*0.5(1.8369701987210297e-16+3j)572.4.2随机模块 random(1)randrange(start,stop,step),返 回 range(start,stop,step)范围内的一个随机数。import random r
39、andom.randrange(5)#range(0,5,1)范围内的随机数,略去结果 random.randrange(5,20,5)#range(5,20,5)范围内的一个随机数582.4.2随机模块 random(2)randint(start,stop),返回闭区间 start,stop 上的一个随机整数。random.randint(5,20)#闭区间 5,20 上的一个随机整数592.4.2随机模块 random(3)choice(seq),从序列 seq 中随机选择一个元素并返回。random.choice(abcdefg)#在字符串中随机选择一个字符 random.choice
40、(1,2,3,4,5,6)#在元组中随机选择一个元素602.4.2随机模块 random(4)shuffle(seq),将列表 seq 原地乱序。x=list(range(20)random.shuffle(x)612.4.2随机模块 random(5)sample(seq,k),从列表、元组、集合、字符串或 range 对象seq 中随机选择 k 个不同的(这里主要指位置不同,并不指元素值)元素,以列表形式返回。x=list(range(20)random.sample(x,3)#从 0 19 中随机选取 3 个数 random.sample(range(20),3)#也可以直接这样用 ra
41、ndom.sample(1,1,1,1,1,1,3)#从多个 1 中任选 3 个622.4.2随机模块 random(6)random(),返回左闭右开区间 0.0,1.0)内的一个浮点数。random.random()63.4.3日期时间模块 datetime import datetime today=datetime.date.today()#获取今天的日期,略去结果 print(today.year,today.month,today.day)dif=datetime.date(2018,6,14)-datetime.date(2015,8,31)dif.days#两个日期之间相差的天
42、数1018 datetime.datetime.today()#查看当前日期时间 datetime.datetime.today().weekday()#查看今天是周几 datetime.date(2018,10,31).timetuple().tm_yday#查看指定日期是当年的第几天304642.4.4小海龟画图模块 turtle65命令命令作用或用法作用或用法bk(x)或back(x)向后退x像素circle(r,d,s)circle(100),画以小海龟为圆心,半径为100像素的圆;circle(100,60)画一段60度的弧;circle(100,360,6)画一个正六边形(相当于半
43、径为100像素圆的内接正六边形)color(r,g,b)设置画笔颜色,r、g、b参数为0到1之间的小数delay(x)设置绘制延迟,数值越大,绘图越慢dot(x,color)画粗细为x像素、颜色为color的点down()或pendown()或pd()落笔,移动时会留下痕迹fd(x)或forward(x)向前行进x像素goto(x,y)或setpos(x,y)或setposition(x,y)小海龟直接移动到(x,y)位置hideturtle()隐藏小海龟形状home()小海龟回到原始位置lt(x)或left(x)向左转x度mainloop()运行程序,启动主循环pos()或position(
44、)获取小海龟当前坐标rt(x)或right(x)向右转x度setx(x)或sety(y)设置小海龟x坐标或y坐标的值speed(x)设置小海龟速度,0表示最快,10表示快,6表示正常速度,3表示慢,1表示最慢up()或penup()或pu()抬笔,移动小海龟时不会留下痕迹width(x)设置画笔粗细xcor()获ycor()返回小海龟当前的x坐标或y坐标2.4.4小海龟画图模块 turtleimport turtle#导入小海龟库t=turtle.Pen()#定义作图笔,此时小光标在(0,0)位置t.shape(turtle)#参数 arrow,turtle,circle,square,#triangle,classic代表不同形状t.fd(100)#向前运动100像素,画三角形第一条边t.left(120)#向左转30度t.fd(100)#继续向前100像素,画三角形第二条边t.left(120)t.fd(100)#画第三条边,完成了三角形的作图66