Python学习(Mooc上)

第一章
1、 print(“类型如%.2f”%f) print函数用%来选择要输出的变量 %.2f的具体类型来源于变量f
2、 末尾都不加分号 if elif else 语句后加:
3、库函数引用:1.import turtle
2.from 库名 import <函数名> 或 from 库名 import 0
4、单行注释以#开头,多行以’''开头和结尾
5、输入函数的使用变量名=input(“提示性文字”) 例:n=input(“请输入:”),获得的输入以字符串形式保存在变量中
6、val=“28C”,val[-1]=“C”,val[0:-1]获取除最后一个字符外的字符串,字符串长度为l,第一个字节索引值为0,或者-l,最后一个的字节为l-1或者-1.,val[0:2]表示28,表示一个从[0,2)的区间
7、if val[-1] in [‘C’,‘c’] 判断最后一个字符是否为C或c in是一个保留字,用以判断左侧内容是否在右侧集合中
8、同步赋值:指同时给多个变量赋值,中间用,隔开。如:变量1,变量2=表达式1,表达式
9、IPO:i=input p=process o=output.死循环测试CPU性能。
10、程序编写步骤:
分析问题:分析问题的计算部分
确定问题:将计算部分划分为确定的IPO三部分
设计算法:完成计算部分核心处理方法
编写程序:实现整个程序
调试程序:使程序在各种情况下都能正确运行
升级维护:使程序长期正确运行,适应需求微小变化
11、缩进用以在Python中表明代码之间的层次关系,是表明程序框架的唯一手段
12、变量命名规则使用大小写字母、数字和下划线、中文的组合,但首字母只能是大写字母或下划线,不能使用空格。
13、大小写有区别
14、例:x,y值交换,x,y=y,x
15、if
elif
else 使用时必须顶行
第二章
1、 循环控制语句 for i in range(计数值) 让程序循环计数值次
例:for I in range (3)
表达式
2、import turtle
def drawSnake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad)
turtle.circle(neckrad+1,180)
turtle.fd(rad
2/3)

def main():
turtle.setup(1300,800,0,0)
pythonsize=30
turtle.pensize(pythonsize)
turtle.pencolor(“blue”)
turtle.seth(-40)
drawSnake(40,80,5,pythonsize/2)

main()
turtle.setup(1300,800,0,0),表示启动一个1300像素宽,800像素高的窗口,左上角为屏幕左上角,以屏幕左上角为原点,向下为y轴向右为x轴
a=60
turtle.pensize(a)表示乌龟运行轨迹的宽度
turtle.pencolor(“颜色或者3B9909”)表示小乌龟运行的颜色
turtle.seth(-40)表示小乌龟启动时运行的方向,是角度值,0表示向东,90度表示向北,180向西,270向南。负值表示相反的方向

turtle.circle()函数是让小乌龟沿圆形轨迹爬行,rad描述圆形轨迹半径的位置,位置在小乌龟左侧rad远的地方,angle表示小乌龟沿着圆形爬行的弧度值
turtle.fd函数也叫turtle.forward函数,表示小乌龟向前直线爬行,有一个参数表示爬行的距离
3、 python对库函数引用的方式
1、 在程序头部增加:
Import <库名>
如:import turtle

import turtle
turtle.fd(100)
2、 from <库名> import <函数名>
from <库名> import*
如:>>>from turtle import*
fd(100
4、 )
4、eval()函数的使用
eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果。所以,结合math当成一个计算器很好用。
eval()函数常见作用有: 1、计算字符串中有效的表达式,并返回结果
2、将字符串转成相应的对象(如list、tuple、dict和string之间的转换)
3、将利用反引号转换的字符串再反转回对象
第三章
1、类型是编程语言对数据的一种划分,python中有三种类型:整数类型,浮点数类型,复数类型。
1、整数类型没有取值范围限,使用方法如:pow(2,10)=求2的10次方 也可以pow(2,(2,10))求2的2的10次方。整数类型 0x 或0X开头表示16进制,以0b或0B开头表示2进制,以0o或0O表示8进制
2、浮点数 有限制 但很大 可以认为是无限制的。>>> import sys
sys.float_info 用以查询当前计算机对浮点数的限制范围。
3、复数类型 与数学中复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或J标识。 z=1.23e-4+5.6e+89j 可用z.real获得实数部分,z.imag获得虚数部分。如上 z.real=0.000123 z.img=5.6e+89
4、整数->浮点数->复数(复数最大),混合运算时生成结果为最宽类型,不支持从上到下转换,若想转换,用z.img或real转换为对应类型。类型转换如:123+4.0=127.0.int() float()复数complex() 例:int(4.5)=4 float(4)=4.0 complex(4)=4+0J。数字类型判断用type(x) 例type(4.5)
5、数字类型的运算

2、字符串类型
1、字符串是用单引号或多引号括起来的一个或多个字符,如str1=“hello”,使用转义符\来输出带引号的字符串和带\的字符串。如:>>>print(“\”大家好\””)。输出结果为:”大家好”。
2、字符串是一个字符序列,最左端位置标识为0,依次增加 ,字符串中的编号叫索引。单个索引辅助访问字符串中特定位置的方式:x=8,print(greet(x-2))。一个长度为L的字符串最后一个字符的位置为L-1。也可用负数从字符串右边末尾向左边进行反向索引,最右侧值为-1,也可用两个索引值确定一个范围返回这个范围内的字符串,不包含末尾数,如greet[0:3]
3、字符串通过+和*号连接,+如:”pine”+”apple”输出为:’pineapple’。代表乘 3a输出为aaa。
4、len返回字符串长度,如:len(“pin”)=3。其他类型可通过str转换为字符串,如str(123)
Str(123e+10)输出为’1230000000000.0’
5、字符串处理方法,.函数名

操作格式:for in “\n”表换行
3、元组类型
1、元组定义:可以包含一个或多个元素,元素间用逗号分割,可以为空,如:t2=()。
2、特点:元组中元素可以是不同类型。如:t1=123,”hello”。一个元组的元素可以是另一个元组的元素,需要加()以区分,如:t3=123,456,(“hello”,”中国”),元组定义后不能更改和删除,存在先后关系,如:t3[0]。可以通过索引区间来访问元组中部分元素。如t[1:],也可以使用+和*进行运算。
4、列表类型
1、列表概念:列表是有序的元素集合。列表元素可以通过索引访问单个元素。如:a=[0,1,2,3,4],print(a),输出为[0,1,2,3,4]。与元组类似每个元素类型可以不一样,访问列表中元素时采用索引方式。不同是,列表的大小没有限制,可随时修改。
2、列表的操作

如:vlist=[0,1,2,3,4],vlist*2,输出为[0,1,2,3,4,0,1,2,3,4]。Len(vlist[2:]),输出为3.for I in vlist[:3]:,print(i),输出为0,1,2。2 in vlist输出为true

Vlist=[0,1,2,3,4],vlist.append(‘python’),vlist。输出为:[0,1,2,3,4,’python’]。Vlist.reverse(),vlist。输出为:[‘python’,4,3,2,1,0]。Vlist.index(3),输出为2.vlist.pop(2)输出为3,vlist。输出为[‘python’,4,2,1,0]
3、 字符串可通过split()函数拆分为一个列表。如:”python is an excellent language”.split()。
输出为[‘python’,’is’,’an’,’excellent’,’language’]
5、math库与random库
Math库

Random库,随机库

Random库的使用:from random import *,random().输出为:0.2378346643,uniform(1,10)输出为:4.478934。randint(1,10)输出为5。randrange(0,10,2)输出为:0。ra=[0,1,2,3,4,5,6,7,8,9],choice(ra),输出为5。Shuffle(ra),ra,输出为:[5,7,6,2,0,8,4,9,3,1]。Sample(ra,4)输出为:[6,2,3,7]。
seed(10)重置,当seed(10),uniform(1,10),uniform(1,10)重复输入时,两个结果是相同的,相同的随机种子产生相同的伪随机序列
6、课后学习
1、”{}”.format()将()中的文字输入在{}的位置,可以在{}内标序号,如果{}中没有序号,则按照出现顺序替换。如: “{}:计算机{}的CPU占用率为{}%。”.format(“2016-12-31”,“PYTHON”,10)输出为:‘2016-12-31:计算机PYTHON的CPU占用率为10%。’。如果有序号,则改变顺序,如: s=“圆周率{{{1}{2}}}是{0}”.format(“无理数”,3.1415926,“…”),>>> s,输出为’圆周率{3.1415926…}是无理数’。还可以先定义,再输出。如: s=“圆周率{{{1}{2}}}是{0}”,>>> s,‘圆周率{{{1}{2}}}是{0}’。>>> s.format(“无理数”,3.1415926,“…”),‘圆周率{3.1415926…}是无理数’。{0:.2f}表示保留两位小数。字符+才可以输出一串字符,如:-
第四章程序控制结构
1、程序基本结构

Python不提供直到型循环。
2、 简单分支结构

3、 多分支结构

4、 异常处理 如:while True:,Try:,x = int (input(“Please enter a number:”)) ,Break ,except ValueError:,print(“oops!That was no valid number.Try again”)。只有在输入是int型时才会停止操作。

还可使用else和finally语句
Else必须在finally之前,finally必须放最后,表示无论是否异常,finally之后的语句都必须执行。Finally适用于无论是否发生异常,最后都要执行的。如在看文件,无论是否发生异常,最后都是关闭文件
5、 三者最大实例分析
1、 if a1>=a2 and a1>=a3,中间用and连接
n= eval(input(“How many numbers are there”)),max=eval(input(“Enter a number>>”)),for i in range(n-1):, x=eval(input(“Enter a number>>”)),if x > max:,max=x,print(“The largest values is”,max)。通过每次将输入的数与max的值比较,将最大数始终存储于max中
采用python的内置max函数。采用已有的解决方案,是解决问题的最佳途径。真正的程序员应该学会如何借鉴
6、 循环
 for循环,用for循环遍历整个序列的值,如:for in :,。Var为循环变量,遍历了队列中每一个值。如:words=[‘cat’,‘window’,‘defensestrate’],>>> for w in words:,print(w,len(w)),cat 3,window 6,defensestrate 13
例:i=0,>>> while i<=10:,print(i),i=i+1。I要先初始化。Ctrl+c终止死循环。Continue只结束本次循环,break语句则是结束整个循环过程,break可以终止while语句。for num in range(2,10):, if num%2==0:,print(“Found an even number”,num),continue,print(“Found a number”,num)。符合if条件时不会打印而是通过continue跳出,接着循环。BREAK,sum=0,number=0,while number<20:,number+=1,sum+=number,if sum>100:,break,print(“The number is”,number),print(“The sum is”,sum)
 通用循环
1、交互式循环

2、哨兵循环 增加了转换字符串为数字的过程
3、文件循环
4、死循环
C语言中while(true)或while1是单片机编程的普遍用法,python中可以用以捕捉输入异常。后测循环:number=-1,while number<0:,number=eval(input(“Enter a positive number”))。也可用break实现,如:while True:,x=eval(input(“Enter a positive number:”)),if x>=0:,break。
半路循环,while True:number=eval(input(“Enter a positive number:”)), if x>=0:,break,print(“”)。
半路循环-哨兵while True:。Get next data item,if the item is the sentine1:break,process the item。
5、布尔表达式
1、布尔操作符:and,or,not。And两边都为真,才为真。Or两边都为假,才为假。Not相反。Not>and>or,abs表绝对值,符合德摩根定律,即:not(a or b)(not a) and (not b),空序列为假,非空为真,如:bool(“ ”) bool([1,2,3])。在and中只要知道第一个为假,or中只要知道第一个,就不会评估第二个表达式了 第五章程序复用
1、函数:def (<parameters参数列表,>):,。形参:定义函数时,函数名后面圆括号中的变量。实参:调用函数时,函数名后面圆括号中的变量。函数定义,如:def add1(x):,x=x+1,return x。add(1),2。函数接口:返回值和参数。def happy():
print(“happy birthday to you”)
def singMike():
happy()
happy()
print(“happy birthday to Mike.”)
happy()
def singLily():
happy()
happy()
print(“happy birthday to LIly.”)
happy()
def main():
singMike()
print()
singLily()
main()。math.sqrt()开方,math.square()平方。Print(“”,a,b)中间用逗号隔开,return a,b。s,d=sumdiff(a,b)。python的参数是通过值来传递的,但如果变量是可变对象,如列表、图形,该对象会呈现被修改后的状态
2、递归
N的阶乘def fact(n):,if n
0:return 1,else:return n*fact(n-1) ,字符串反转算法:def reverse(s):if s==””:,return s,else:return reverse(s[1:])+s[0],s[1:]给出了除去首字符的字符串,该函数先反转这个子字符串再将第一个字符s[0]连接到末尾,构造递归函数需要基例,基例不进行递归。
3、函数实例分析

第六章:文件
1、文件基础:python提供了ord()和chr()用于字符和ASCII码之间的转换,如:ord(‘a’),和chr(65)。Unicode另外一种编码方式,可跨语言跨平台,提供了统一且唯一的编码方式。UTF-8可变长度的Unicode。 2、编码:在python中字符串类型是未编码的,可以使用encode()进行编码,decode()进行解码s=“中文字符串”。S=”中文字符串”

bs=s.encode(“utf-8”)
bs。中为e4,b8,ad。转换回来为:bs.decode(“utf-8”).
GBK编码,全称为汉字内码扩展规范,双字节编码。如:gs=s.encode(“gbk”)。文本文件是以ASCII码方式存储的文件,英文,数字的存储方式都为ASCII码,除了有效信息外如:回车换行等,不能存储其他任何信息。照片、音乐、视频、计算机程序等,都为二进制文件。文本文件是基于字符定长的ASCII,二进制文件编码是变长的。
3、文件操作:打开文件:open(),=open(,),磁盘文件名,打开模式。
使用方式:打开一个名为“numbers.dat”的文本文件,infile=open(“numbers.dat”,”r”)。视频和音乐需要使用”rb”,如打开一个名为music.mp3的文件,infile=open(“music.mp3”,”rb”)
def main():
fname=input(“Enter filename”)
infile=open(fname,“r”)
data=infile.read()
print(data)。Infile=open(someFile,”r”),for I in range(5):line=infile.readline(),print(line[:-1])。
outfile=open(“outfile.txt”,“w”)
outfile.writelines([“Hello”," ",“world”])
outfile.close()
infile=open(“outfile.txt”,“r”)
infile.read()
‘Hello world’
3、文件遍历。遍历文件模板:
File=open(someFile,”r”) //somefile替换为自己想要的文件名
For line in file.readlines(): //readlines()替换为自己需要的文件处理方式,简化代码是将file.readlines改为file
File.close()。def main():
#用户输入文件名
f1=input(“Enter a souce file:”).strip()
f2=input(“Enter a souce file:”).strip()

#打开文件
infile=open(f1,"r")
outfile=open(f2,"w")
#拷贝数据
countLines=countChars=0
for line in infile:
    countLines+=1
    countChars+=len(line)
    outfile.write(line)
print(countLines,"lines and",countChars,"chars copied")

infile.close()
outfile.close()

main()
4、字典类型与序列类型的区别,存取和访问的方式,键的类型,排列方式,保持顺序用序列,映射值方式。为字典增加一项:dictionaryname[key]=value。如:students[“202-2011-121”]=”Susan”。访问字典中的值:dictionaryname[key]返回键key对应的值value。如:students[“202-2011-121”]返回susan。删除del 字典名[key]。字典的遍历:for key in dictionaryName:,print(key+”:”+str(dictionaryname[key]))。如:for key in students:
print(key+“:”+str(students[key]))
203-2012-037:Peter
202-2011-121:Susan
203-2012-045:John
遍历字典的键key,for key in dictionaryname.keys():print(key)
遍历字典的值value,for key in dictionaryname.values():print(value)
遍历字典的项,for item in dictionaryname.items():print(item)
遍历字典的键值对,for item,value in adict.items():print(item,value)。
是否在字典中用 in 或 not in例:”203-2012-045” in students 返回值为True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是酷酷呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值