1 / 24
文档名称:

Python基础语法.docx

格式:docx   大小:76KB   页数:24页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Python基础语法.docx

上传人:大于振 2022/10/7 文件大小:76 KB

下载得到文件列表

Python基础语法.docx

文档介绍

文档介绍:该【Python基础语法 】是由【大于振】上传分享,文档一共【24】页,该文档可以免费在线阅读,需要了解更多关于【Python基础语法 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Python的特点
简单
Python是一种代表简单思想的语言。
2。易学
Python有极其简单的语法。
免费、开源
Python是FLOSS(自由/开放源码软件)之一。
4。高层语言
使用Python编写程序时无需考虑如何管理程序使用的内存一类的基层细节。
5。可移植性
Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、
BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、
WindowsCE甚至还有PocketPC。
讲解性
,python讲解器把源代码变换为字节码的中间形式,此后再把它翻译成计算机使用的机器语言。
7。面向对象
Python既支持面向过程编程也支持面向对象编程。
8。可扩展性
部分程序能够使用其他语言编写,如c/c++.
可嵌入型
能够把Python嵌入到c/c++程序中,从而供应脚本功能。
10。丰富的库
Python标准库确实很弘大。它能够帮助你办理各种工作,包括正则表达式、文档生成、单元测试、线程、数据
库、网页阅读器、CGI、FTP、
电子邮件、XML、XML—RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统相关的
操作.
-————-—-—--————切割线—————————-——-—--—---————以下是Python的基本语法-—-—---——-——-—-—-—-—--——---—-——-———-—-—--—--——-————--—-—-
一、基本看法
python中数有四各种类:整数、长整数、浮点数和复数。
整数,如1
长整数是比较大的整数
浮点数如1。23、3E—2
复数如1+2j、+
2。字符串(字符的序列)
python中单引号和双引号使用完满相同。
使用三引号('’’或”"”)能够指定一个多行字符串。
转义符’\'
自然字符串,经过在字符串前加r或R。如r"thisisalinewith\n”则\n会显示,其实不是换行。
python赞同办理unicode字符串,加前缀u或U,如u”thisisanunicodestring”。
字符串是不能变的。
按字面意义级联字符串,如”this"”is””string”会被自动变换为thisisstring.

第一个字符必定是字母表中字母或下划线'_’。
表记符的其他的部分有字母、数字和下划线组成.
表记符对大小写敏感。
对象
python程序中用到的任何“东西”都成为“对象”。
逻辑行和物理行
物理行是我们在编写程序时看到的,逻辑行则是python看到的。
python中分号;表记一个逻辑行的结束,但是实质中一般每个物理行只写一个逻辑行,能够防备使用分号。
多个物理行中能够写一个逻辑行,以下:
s="peteris\
writingthisarticle"
上面的使用被称为‘明确的行连接’,又如:
print\
"peter"
缩进
空白在python是特别重要的,行首的空白是最重要的,(空格和制表符)用来决定逻辑
行的缩进层次,从而决定语句
分组。这意味着同一层次的语句必定有相同的缩进,每一组这样的语句称为一个块.
注意:不要混杂使用空格和制表符来缩进,由于在超越不相同的平台时无法正常工作。
二、运算符与表达式
1。运算符与其用法
运算符
名称
说明
例子
+

两个对象相加
3+5获取8。'a'+’b'获取’ab’。
-

获取负数或是一个数减去另一个数
—。
50-24获取26。
*

两个数相乘或是返回一个被重复若干次的字符串
2*3
获取6。'la'*3获取'lalala’。
*幂
返回x的y次幂
3**
4获取81(即3*3*3
*3)
/

x除以y4/3获取1(整数的除法获取整数结果)。
4。0/3或4/3。0获取1。3333333333333333
//
取整除
返回商的整数部分
4//3。0获取1。0
%
取模
返回除法的余数
8%3获取2。—%2。25获取1。5
〈<左移
把一个数的比特向左移必然数量(每个数在内存中都表示为比特或二进制数字,即
0和1)
2〈<2获取
8.--2按比特表示为10
>>
右移
把一个数的比特向右移必然数量
11>〉
1获取5。——11按比特表示为
1011,向右搬动1比特后得
到101,即十进制的5。
&
按位与
数的按位与
5&3获取1.
|
按位或
数的按位或
5|3
获取7.
^
按位异或
数的按位异或
5^3获取6
~
按位翻转
x的按位翻转是-(x+1)~5获取6.

小于
返回x可否小于y。全部比较运算符返回
1表示真,返回0表示假。这分别与特其他变量
True和False
,这些变量名的大写.
5〈3返回0(即False)而3〈5返回1(即True)。比较能够被任意连接:3〈5
7返回True.

大于
返回x可否大于y5>3
返回True。若是两个操作数都是数字,它们第一被变换为一个共同的种类。
否则,
它总是返回False.
〈=小于等于
返回x可否小于等于
yx=3;y=6;x<=y返回True。
>=
大于等于
返回x可否大于等于
yx=4;y=3;x>=y返回True。
==
等于
比较对象可否相等
x=2;y=2;x==y返回True。x=’str’;y='stR’;x==y返回False。x=’
str’;y=’str’;x==y返回True。
!=不等于
比较两个对象可否不相等
x=2;y=3;x!=y返回True。
not
布尔“非”
若是x为True,返回False。若是x为False,它返回True。x=True;noty返回False。
and布尔“与”
若是x为False,xandy返回False,否则它返回y的计算值.
x=False;y=True;xandy
,由于x
是False,返回False。在这里,Python不会计算y,由于它知道这个表达式的值必然是
False(由于x是False)。这个现
象称为短路计算。
or
布尔“或”
若是x是True,它返回True,=True;y=False;xory返回True。短路计
算在这里也适用。
运算符优先级(从低到高)
运算符描述
lambdaLambda表达式
or布尔“或"
and布尔“与”
notx布尔“非”
in,notin成员测试
is,isnot同一性测试
〈,<=,>,〉=,!=,==

比较
|按位或
按位异或
&按位与
〈〈,〉〉移位
+,—加法与减法
*,/,%乘法、除法与取余
+x,-x正负号
x按位翻转
**指数
x。attribute属性参照
x[index]下标
x[index:index]寻址段
f(arguments。。。)函数调用
(experession,.。。)绑定或元组显示
expression,...]列表显示{key:datum,.。.}字典显示’expression,。.。'字符串变换
python控制台输出使用print
print”abc"#打印abc并换行
print"abc%s”%"d”#打印abcd
print"abc%sef%s”%(”d","g")

#打印

abcdefg
三、控制流
if语句
=10
n=int(raw_input(”enteranumber:”))
ifn==i:
print”equal"
elifn〈i:
print”lower”
else:
print"higher"
2。while语句
whileTrue:
pass
else:
pass
#else语句可选,当

while

为False时,else语句被执行。

pass是空语句。
.。in
foriinrange(0

,

5):
printi
else:
pass
#打印0到
注:当

4
for

循环结束后执行

else语句;
range(a,

b)返回一个序列

,从

a开始到

b为止,但不包括

b,range默认步长为

1,能够指定步长

,range(0,10,
2);
4。

break语句
停止循环语句,若是从for或while中停止,任何对应循环的else将不执行。
5。continue语句
continue语句用来调过当前循环的节余语句,此后连续下一轮循环。
四、函数
函数经过def定义。def要点字后跟函数的表记符名称,此后跟一对圆括号,括号之内能够包括一些变量名,该行以冒号结尾;接下来是一块语句,即函数体.
defsumOf(a,b):
returna+b
函数形参
函数中的参数名称为‘形参’,调用函数时传达的值为‘实参’
2。局部变量
在函数内定义的变量与函数外拥有相同名称的其他变量没有任何关系,即变量名称关于函数来说是局部的。这称为变量的作用域.
global语句,为定义在函数外的变量赋值时使用global语句。
deffunc():
globalx
print”xis”,x
x=1
x=3
func()
printx
#3
#1
默认参数
经过使用默认参数能够使函数的一些参数是‘可选的’.
defsay(msg,times=1):
printmsg*times
say("peter")
say(”peter",3)
注意:只有在形参表尾端的那些参数能够有默认参数值,即不能够在声明函数形参的时候,先声明有默认值的形参此后声明没有默认值的形参,可是由于赋给形参的值是依照地址而赋值的。
4。要点参数
若是某个函数有很多参数,而现在只想指定其中的部分,那么能够经过命名为这些参数赋值(称为‘要点参数
')。
优点:不用担忧参数的序次,使函数变的更加简单;假设其他参数都有默认值,能够只给我们想要的那些参
数赋值。
deffunc(a,b=2,c=3):
print”ais%s,bis%s,cis%s”%(a,b,c)
func(1)#ais1,bis2,cis3
func(1,5)#ais1,bis5,cis3
func(1,c=10)#ais1,bis2,cis10
func(c=20,a=30)#ais30,bis2,cis20
5。return语句
return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。
没有返回值的return语句等价于returnNone。None表示没有任何东西的特别种类。
(文档字符串)
deffunc():
'’’Thisisself-definedfunction
Donothing''’
pass
printfunc。__doc__
Thisisself—definedfunction
#
#Donothing
五、模块
模块就是一个包括了全部你定义的函数和变量的文件,模块必定以。py为扩展名。模块能够从其他程序中‘输入
'(import)以便利用它的功能。
在python程序中导入其他模块使用'import',,由于sys。path第一个字符串是空串’’即当前目录,所以程序中可导入当前目录的模块。
1。
导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创办字节编译的文件,。
pyc是一种二进制文件,是py文件经编译后产生的一种bytecode,而且是跨平台的(平台没关)字节码,是有python虚假机执行的,近似于
java或。,是跟python的版真相关的,不相同版本编译后的pyc文件是不相同的。
2。from.。import
若是想直接使用其他模块的变量或其他,而不加’模块名+.'前缀,能够使用from..import.
比方想直接使用sys的argv,fromsysimportargv或fromsysimport*

每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;若是是__name__,说明这个模块被用户
单独运行。
()函数
dir(sys)返回sys模块的名称列表;若是不供应参数,即dir(),则返回当前模块中定义名称列表.
del—〉删除一个变量/名称,del此后,该变量就不能够再使用。
六、数据构造
python有三种内建的数据构造:列表、元组和字典.
列表
list是办理一组有序项目的数据构造,列表是可变的数据构造。列表的项目包括在方括号[]中,eg:[1,2,
3],空列表[].判断列表中可否包括某项能够使用in,比方l=[1,2,
操作;索引时若超出范围,则IndexError;使用函数len()查察长度;使用果超出范围,则IndexError

3];print1inl;#True;支持索引和切片del能够删除列表中的项,eg:dell[0]#如
list函数以下:
append(value)———向列表尾增加项value
l=[1,

2,

2]
(3)#[1,2,count(value)

2,

3]
-——返回列表中值为

value

的项的个数
l=[1,2,2]
(2)#2
extend(list2)—--向列表尾增加列表list2
l=l1=

[1,2,2]
[10,20]
(l1)
printl

#[1,2,2,10,20]
index(value,[start,[stop]])

—-—返回列表中第一个出现的值为

value的索引,若是没有

,则异常

ValueError
l=[1,2,2]
a=4
try:
(a)
exceptValueError,ve:
print"thereisno%dinlist”%a
insert(i,value)—--向列表i地址插入项vlaue,若是没有i,则增加到列表尾部
l=

[1,

2,2]
(1,100)
printl#[1,100,

2,2]
l。insert(100,1000)
printl#[1,100,2,2,

1000]
pop([i])

--—返回

i地址项,并从列表中删除;若是不供应参数,则删除最后一个项;若是供应

,但是

i
超出索引范围,则异常

IndexError
l=[0,1,2,3,4,5]
printl。pop()#5
printl#[0,1,2,3,4]
printl。pop(1)#1
printl#[0,2,3,4]
try:
l。pop(100)
exceptIndexError,ie:
print”indexoutofrange”
remove(value)--—删除列表中第一次出现的value,若是列表中没有vlaue,则异常ValueError
l=[1,2,3,1,2,3]
l。remove(2)
printl#[1,3,1,2,3]
try:
(10)
exceptValueError,ve:
print"thereisno10inlist"
reverse()---列表反转
l=[1,2,3]
()
printl#[3,2,1]
sort(cmp=None,key=None,reverse=False)-——列表排序
PythonLibraryReference】
cmp:cmpspecifiesacustomcomparisonfunctionoftwoarguments(iterableelements)whichshouldreturnanegative,zeroorpositivenumberdependingonwhetherthefirstargumentisconsideredsmallerthan,equalto,orlargerthanthesecondargument:
"cmp=lambdax,y:cmp(x。lower(),())"
key:keyspecifiesafunctionofoneargumentthatisusedtoextractacomparisonkeyfromeachlistelement:”key="reverse:reverseisabooleanvalue。IfsettoTrue,thenthelistelementsaresortedasifeachcomparisonwerereversed。Ingeneral,thekeyandreverseconversionprocessesaremuchfasterthanspecifyingan
.
l5=[10,5,20,1,30]
l5。sort()
printl5#[1,5,10,20,30]
l6=[”bcd”,"abc”,”cde",”bbb”]
l6。sort(cmp=lambdas1,s2:cmp(s1[0],s2[1]))
printl6#[’abc','bbb',’bcd','cde']
l7=["bcd",”abc”,"cde”,”bbb","faf”]
l7。sort(key=lambdas:s[1])
printl7#['faf','abc’,’bbb’,’bcd’,'cde']
元组
tuple和list十分相似,但是tuple是不能变的,即不能够更正tuple,元组经过圆括号中用逗号切割的项定义;支持
索引和切片操作;能够使用in
查察一个元素可否在tuple中。空元组();只含有一个元素的元组(”a”,)#需要加个逗号
优点:tuple比list速度快;对不需要更正的数据进行‘写保护',能够是代码更安全
tuple与list能够相互变换,使用内置的函数list()和tuple().
l=[1,2,3]
printl#[1,2,3]
t=tuple(l)
printt#(1,2,3)
l1=list(t)
printl1#[1,2,3]
元组最平时的用法是用在打印语句,以下例:
name="PeterZhang"
age=25
print"Name:%s;Age:%d"%(name,age)
Name:PeterZhang;Age:25
函数以下:
count(value)—--返回元组中值为value的元素的个数
t=(1,2,3,1,2,3)
(2)#2
index(value,[start,[stop]])---返回列表中第一个出现的值为value的索引,若是没有,则异常ValueError
t=(1,2,3,1,2,3)
printt。index(3)#2
try:
printt。index(4)
exceptValueError,ve:
print”thereisno4intuple”#thereisno4intuple

字典由键值对组成,键必定是唯一的;eg:d={key1:value1,key2:value2};空字典用{}表示;字典中的键
值对是没有序次的,若是想要
一个特定的序次,那么使用前需要对它们排序;d[key]=value,若是字典中已有key,则为其赋值为value,否
则增加新的键值对key/value;使
用deld[key]能够删除键值对;判断字典中可否有某键,能够使用in或notin;
d={}