最流行的编程入门语言python高手学习笔记Word下载.docx

上传人:b****2 文档编号:5819479 上传时间:2023-05-05 格式:DOCX 页数:143 大小:754.69KB
下载 相关 举报
最流行的编程入门语言python高手学习笔记Word下载.docx_第1页
第1页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第2页
第2页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第3页
第3页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第4页
第4页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第5页
第5页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第6页
第6页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第7页
第7页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第8页
第8页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第9页
第9页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第10页
第10页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第11页
第11页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第12页
第12页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第13页
第13页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第14页
第14页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第15页
第15页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第16页
第16页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第17页
第17页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第18页
第18页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第19页
第19页 / 共143页
最流行的编程入门语言python高手学习笔记Word下载.docx_第20页
第20页 / 共143页
亲,该文档总共143页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最流行的编程入门语言python高手学习笔记Word下载.docx

《最流行的编程入门语言python高手学习笔记Word下载.docx》由会员分享,可在线阅读,更多相关《最流行的编程入门语言python高手学习笔记Word下载.docx(143页珍藏版)》请在冰点文库上搜索。

最流行的编程入门语言python高手学习笔记Word下载.docx

tspecialenoughtobreaktherules.即使假借特例的实用性之名,也不违背这些规则

Althoughpracticalitybeatspurity.虽然实用性次于纯度

Errorsshouldneverpasssilently.错误不应该被无声的忽略

Unlessexplicitlysilenced.除非明确的沉默

Inthefaceofambiguity,refusethetemptationtoguess.当存在多种可能时,不要尝试去猜测

Thereshouldbeone--andpreferablyonlyone--obviouswaytodoit.应该有一个,最好只有一个,明显能做到这一点

Althoughthatwaymaynotbeobviousatfirstunlessyou'

reDutch.虽然这种方式可能不容易,除非你是python之父

Nowisbetterthannever.现在做总比不做好

Althoughneverisoftenbetterthan*right*now.虽然过去从未比现在好

Iftheimplementationishardtoexplain,it'

sabadidea.如果这个实现不容易解释,那么它肯定是坏主意

Iftheimplementationiseasytoexplain,itmaybeagoodidea.如果这个实现容易解释,那么它很可能是个好主意

Namespacesareonehonkinggreatidea--let'

sdomoreofthose!

命名空间是一种绝妙的理念,应当多加利用

哈哈,和一般的语言不同,在“helloworld”程序开始之前,它还有一番人生哲学啊。

初步入门:

第一个python程序:

(和其他脚本一样,可以按tab键快速选择)

print"

helloworld"

==>

print是一个函数

helloworld

这个在python3.0的解释器中运行是错误的,应该写成:

print("

),不管这些,以下均是2.X版本下。

基础知识:

交互式python解释器可以当非常强大的计算器使用

1+1

2

1/2==>

和其他语言一样,不做任何处理的情况下,这个是取整

1.0/2==>

将任意一个数写成浮点形式,则结果会与精度最大的保持一致

0.5

1./2==>

单独写个小数点也行

1//2==>

//这个符号是专门取整的

假如不想每次都要这么费劲一下,我就想在python里执行普通的除法,有办法:

from__future__importdivision==>

注意future左右是两个下划线

1/2

在这种情况下你反而想取整数部分了,使用//

0

1.//2

0.0

长整型和进制:

958346283662845==>

2.2版本以前是不能处理长整型的,范围是-2147483648~2147483647

958346283662845L==>

L表示长整型,而且是大写

0xAF==>

16进制

175

010==>

8进制(010首数字是0,表8进制)

8

获取用户输入:

x=input("

x="

x=3

y=input("

y="

y=4

x*y

12

函数:

pow(2,3)==>

求幂函数

2**3

abs(-10)==>

取绝对值

10

round(5/2)==>

这里是先算5/2,即2,所以round

(2)=2.0

2.0

round(2.5)==>

把浮点数四舍五入为最接近的整数值

3.0

floor(32.9)==>

取为不大于该数的最大整数

32

模块:

floor(23.5)

==>

出错了

<

spanstyle="

color:

#ff0000;

"

Traceback(mostrecentcalllast):

File"

pyshell#29>

line1,in<

module>

floor(23.5)

NameError:

name'

floor'

isnotdefined<

/span>

importmath==>

引入模块math

math.floor(23.5)

23.0

int(math.floor(23.5))==>

转换为整数

23

那我不想每次都输入math.来调用相应函数,如下写法:

frommathimportfloor

floor(3.2)

cmath和复数:

在高中的时候有复数的预算,比如对一个复数取平方根,python提供了对复数处理的机制,但是要引入cmath模块。

sqrt(-9)

pyshell#35>

sqrt(-9)

sqrt'

isnotdefined

引入math模块也无效

math.sqrt(-9)

pyshell#37>

math.sqrt(-9)

ValueError:

mathdomainerror

importcmath==>

引入cmath模块

cmath.sqrt(-9)

3j

(1+3j)*(9-2j)==>

还可以进行计算

(15+25j)

(__future__这个模块比较特别,它可以导入那些在未来会成为标准python组成的新特性)

保存并执行程序:

现在建一个python文件,扩展名是.py,把print"

hellopython!

写入,双击,我们看到的是一闪而过的一个黑框,我记得在执行C#窗体程序的时候也会出现这种情况,只要在主程序结尾加上"

Console.ReadKey()"

就行了,这里也是,要给控制台一个提醒输入的机会,不然运行完就退出了,在结尾加一个语句:

raw_input()。

再双击即可弹出“hellopython!

执行这个文件hello.py

name=raw_input("

whatisyouname:

print"

hello"

+name+"

!

raw_input()

字符串:

"

双引号会把原字符串按原样显示

'

we'

llgoshopping!

'

SyntaxError:

invalidsyntax

we\'

转义单引号

\"

hello,python!

shesaid"

字符串本身有双引号的情况

shesaid'

+"

python!

字符串拼接

str&

repr:

您可能发现了,不用print打印出的字符串显示出来的时候会被单引号括起来。

所有通过python打印的字符串是被引号括起来的,这是因为python打印值的时候会保持该值在代码中的状态,而不是你希望用户看到的状态。

print'

helloworld'

print10000L

10000

10000L

10000L

这里讨论的实际是值转换成字符串的两种机制,

str函数:

会把值转换为较理性的字符串,以便用户可以理解

repr函数:

会创建一个字符串,以合法的python表达式的形式表示值。

printrepr("

printrepr(100000L)

100000L

printstr("

)==>

显然,用户更希望看到的是str函数处理后的结果

printstr(10000L)

其实python有时候也没有这么智能,在高级语言中,好像数字有时候可以自动转换为字符串型

age=22

myageis"

+age

pyshell#72>

TypeError:

cannotconcatenate'

str'

and'

int'

objects

+str(age)

myageis22

input&

raw_input

这样,我们先运行两个脚本,代码如下:

name=input("

pleaseinputyourname:

hello,"

+name

另一个脚本是将上述input改为raw_input

运行会发现,第一个出错。

其实不运行脚本也行,我么直接在解释器里运行命令吧!

name=input("

pleaseinputname:

Jay

pyshell#74>

name=input("

string>

Jay'

name=raw_input("

其实你只要在input那个下面输入的字符串加上引号就行了,这就是原因。

input会假设用户输入的是python的合法表达式,当然以字符串作为输入的名字肯定没有问题,但是要求用户每次输入一个东西还需要加引号,这不太友好。

想反,raw_input函数会把所有的输入当做原始数据,然后自动将其放入字符串中,所以不会出错,所以我们应尽可能使用raw_input()

长字符串

如果需要写一个很长的字符串,它需要跨多行,可以使用三个单引号,强制换行用反斜杠\

asdgh

agjaw

ag'

asdgh\nagjaw\nag'

1+5+\

4+6

16

python中对多个反斜杠(路径中常用)转义除了加\,可以在整个字串的前面加r

c:

\temp\test.txt'

empest.txt==>

\t是制表符,所以会将\t作为一个制表符显示

\\temp\\test.txt'

用传统的\转义

\temp\test.txt

printr'

在前面加r转义

常用的函数:

abs(number)、cmath.sqrt(number)、float(object)、help()、input(prompt)、int(object)、long(object)、math.ceil(number)(返回上入整数)、math.floor(number)(返回下舍整数)、pow(x,y)、raw_input(prompt)、repr(object)、str(object)、round(number[.ndigits])

python学习笔记

(二)——数据类型

python数据结构

学一门语言,最基础和重要的就是数据结构了,而在python中最基本的数据结构是序列,也可以理解为数组,但貌似比数组强大。

jason=['

jason'

42]

james=['

james'

45]

database=[jason,james]

database

[['

42],['

45]]

索引:

greeting='

hello'

greeting[0]

h'

greeting[-1]==>

反着的时候从-1而不是0开始开始

o'

digital=raw_input("

year:

)[3]

2013

digital

3'

索引示例:

months=['

January'

'

February'

March'

April'

\

May'

June'

July'

August'

September'

October'

\

November'

December'

]#根据指定的年月日以数字形式打印出日期

endings=['

st'

nd'

rd'

]+17*['

th'

]+['

]+7*['

]#以1-31的数字作为结尾的列表

year=raw_input("

Year:

month=raw_input('

Month(1-12):

3

day=raw_input('

Day(1-31):

30

month_num=int(month)

day_num=int(day)

month_name=months[month_num-1]==>

注意这里索引要减1

ordinal=day+endings[day_num-1]

printmonth_name+'

+ordinal+'

'

+year

March30th,2013

分片:

使用索引能访问单个元素,使用分片能访问一定范围的元素,分片通过冒号相隔的两个索引来实现。

tag='

ahref="

http:

//www.python.org"

Pythonwebsite<

/a>

tag[9:

30]

//www.python.org'

tag[32:

-4]

Pythonwebsite'

numbers=[1,2,3,4,5,6,7,8,9,10]

numbers[3:

6]

[4,5,6]

numbers[-3:

-1]

[8,9]

0]#分片中的最左边的索引比它右边索引的晚出现在序列中,结果就是一个空序列

[]

]#默认到最后

[8,9,10]

numbers[:

3]#默认从第一个开始

[1,2,3]

]#默认全部

[1,2,3,4,5,6,7,8,9,10]

很显然,分片操作的实现需要提供两个索引作为边界,第一个索引的元素包含在分片内,而第二个不包含在分片内。

分片步长:

默认步长没有写,是1,分片格式:

上边界:

下边界:

步长

numbers[0:

10:

1]#默认步长是1

2]#步长设为2

[1,3,5,7,9]

6:

3]#步长设为3

[4]

:

4]

[1,5,9]

numbers[8:

3:

-1]#步长不能为0,因为不会向下执行,可以为负数,向前执行

[9,8,7,6,5]

numbers[10:

0:

-2]#当步长为负数时,开始索引必须大于结束索引

[10,8,6,4,2]

-2]

numbers[5:

[6,4,2]

5:

[10,8]

序列相加:

[1,2,3]+[4,5,6]

[1,2,3,4,5,6]

[1,2,3]+'

world'

#列表和字符串都是序列,但是不能连在一起,两种同类型的序列才能进行连接操作

pyshell#141>

[1,2,3]+'

canonlyconcatenatelist(not"

str"

)tolist

序列乘法:

python'

*5

pythonpythonpythonpythonpython'

[25]*10

[25,25,25,25,25,25,25,25,25,25]

空列表可以简单的通过[]表示,但若想要创建一个占用十个元素空间,却不包括任何有用的有用的内容列表。

这时需要使用None,None是Python的内建值,初始化一个长度为10的列表如下:

sequence=[None]*10

sequence

[None,None,None,None,None,None,None,None,None,None]

序列乘法示例:

(存在脚本中运行)

sentence=raw_input("

Sentence:

screen_width=60

text_width=len(sentence)

box_width=text_width+6

left_margin=(screen_width-box_width)//2

print

print'

*left_margin+'

+'

+'

-'

*(box_width-2)+'

|'

*text_width+'

|'

+sentence+'

结果如下:

in运算符:

检查一个值是否在序列中

permission='

rwx'

#有木有觉得这个像判断Linux中某个文件的执行权限,确实可以这么判断

w'

inpermission

True

xx'

inpe

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2