Python基础语法.docx
- 文档编号:10940922
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:35
- 大小:26.75KB
Python基础语法.docx
《Python基础语法.docx》由会员分享,可在线阅读,更多相关《Python基础语法.docx(35页珍藏版)》请在冰豆网上搜索。
Python基础语法
的特点
1.简单
是一种代表简单思想的语言。
2.易学
有极其简单的语法。
3.免费、开源
是(自由/开放源码软件)之一。
4.高层语言
使用编写程序时无需考虑如何管理程序使用的内存一类的底层细节。
5.可移植性
已被移植到很多平台,这些平台包括、、、、、2、、、400、
、390、、、、、、、、、、
甚至还有。
6.解释性
可以直接从源代码运行。
在计算机内部,解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。
7.面向对象
既支持面向过程编程也支持面向对象编程。
8.可扩展性
部分程序可以使用其他语言编写,如。
9.可嵌入型
可以把嵌入到程序中,从而提供脚本功能。
10.丰富的库
标准库确实很庞大。
它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、、、
电子邮件、、、、文件、密码系统、(图形用户界面)、和其他与系统有关的操作。
分割线以下是的基本语法
一、基本概念
1.中数有四种类型:
整数、长整数、浮点数和复数。
整数,如1
长整数是比较大的整数
浮点数如1.23、32
复数如1+2j、1.1+2.2j
2.字符串(字符的序列)
中单引号和双引号使用完全相同。
使用三引号('''或""")可以指定一个多行字符串。
转义符'\'
自然字符串,通过在字符串前加r或R。
如r"a\n"则\n会显示,并不是换行。
允许处理字符串,加前缀u或U,如u""。
字符串是不可变的。
按字面意义级联字符串,如""""""会被自动转换为。
3.标识符的命名
第一个字符必须是字母表中字母或下划线'_'。
标识符的其他的部分有字母、数字和下划线组成。
标识符对大小写敏感。
4.对象
程序中用到的任何“东西”都成为“对象”。
5.逻辑行和物理行
物理行是我们在编写程序时看到的,逻辑行则是看到的。
中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。
多个物理行中可以写一个逻辑行,如下:
s="\
"
上面\的使用被称为‘明确的行连接’,又如:
\
""
6.缩进
空白在是非常重要的,行首的空白是最重要的,又称为缩进。
行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句
分组。
这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。
注意:
不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。
二、运算符与表达式
1.运算符与其用法
运算符名称说明例子
+加两个对象相加3+5得到8。
'a'+'b'得到''。
-减得到负数或是一个数减去另一个数-5.2得到一个负数。
50-24得到26。
*乘两个数相乘或是返回一个被重复若干次的字符串2*3得到6。
''*3得到''。
**幂
返回x的y次幂
3**4得到81(即3*3*3*3)
/除x除以y4/3得到1(整数的除法得到整数结果)。
4.0/3或4/3.0得到1.3333333333333333
取整除返回商的整数部分43.0得到1.0
%取模返回除法的余数8%3得到2。
-25.5%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的按位翻转是-
(1)~5得到6。
<小于返回x是否小于y。
所有比较运算符返回1表示真,返回0表示假。
这分别与特殊的变量和等价。
注意,这些变量名的大写。
5<3返回0(即)而3<5返回1(即)。
比较可以被任意连接:
3<5<7返回。
>大于返回x是否大于y5>3返回。
如果两个操作数都是数字,它们首先被转换为一个共同的类型。
否则,它总是返回。
<=小于等于返回x是否小于等于yx=3;y=6;x<=y返回。
>=大于等于返回x是否大于等于yx=4;y=3;x>=y返回。
等于比较对象是否相等x=2;y=2;xy返回。
x='';y='';xy返回。
x='';y='';xy返回。
不等于比较两个对象是否不相等x=2;y=3;xy返回。
布尔“非”如果x为,返回。
如果x为,它返回。
x=;y返回。
布尔“与”如果x为,xy返回,否则它返回y的计算值。
x=;y=;xy,由于x是,返回。
在这里,不会计算y,因为它知道这个表达式的值肯定是(因为x是)。
这个现象称为短路计算。
布尔“或”如果x是,它返回,否则它返回y的计算值。
x=;y=;xy返回。
短路计算在这里也适用。
2.运算符优先级(从低到高)
运算符描述
表达式
布尔“或”
布尔“与”
x布尔“非”
,成员测试
,同一性测试
<,<=,>,>=,,比较
|按位或
^按位异或
&按位与
<<,>>移位
+,-加法与减法
*,/,%乘法、除法与取余
,正负号
按位翻转
**指数
属性参考
x[]下标
x[]寻址段
f(...)函数调用
(,...)绑定或元组显示
[,...]列表显示
{,...}字典显示
',...'字符串转换
3.控制台输出使用
"" #打印并换行
""%"d" #打印
""%("d","g") #打印
三、控制流
1.语句
i=10
n=(("a:
"))
ni:
""
n "" : "" 2.语句 : : 语句可选,当为时,语句被执行。 是空语句。 3.循环 i(0,5): i : #打印0到4 注: 当循环结束后执行语句; (a,b)返回一个序列,从a开始到b为止,但不包括b,默认步长为1,可以指定步长,(0,10,2); 4.语句 终止循环语句,如果从或中终止,任何对应循环的将不执行。 5.语句 语句用来调过当前循环的剩余语句,然后继续下一轮循环。 四、函数 函数通过定义。 关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。 (a,b): a+b 1.函数形参 函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’ 2.局部变量 在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。 这称为变量的作用域。 语句,为定义在函数外的变量赋值时使用语句。 (): x "x",x x=1 x=3 () x #3 #1 3.默认参数 通过使用默认参数可以使函数的一些参数是‘可选的’。 (,=1): * ("") ("",3) 注意: 只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。 4.关键参数 如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。 优点: 不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。 (a,2,3): "a,b,c"%(a,b,c) (1)1,b2,c3 (1,5)1,b5,c3 (1,c=10)1,b2,c10 (c=20,a=30)30,b2,c20 5.语句 语句用来从一个函数返回,即跳出函数。 可从函数返回一个值。 没有返回值的语句等价于。 表示没有任何东西的特殊类型。 6.(文档字符串) (): ''' ''' # 五、模块 模块就是一个包含了所有你定义的函数和变量的文件,模块必须以为扩展名。 模块可以从其他程序中‘输入’()以便利用它的功能。 在程序中导入其他模块使用'',所导入的模块必须在所列的目录中,因为第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。 1.字节编译的文件 导入模块比较费时,做了优化,以便导入模块更快些。 一种方法是创建字节编译的文件,这些文件以为扩展名。 是一种二进制文件,是文件经编译后产生的一种,而且是跨平台的(平台无关)字节码,是有虚拟机执行的,类似于 或虚拟机的概念。 的内容,是跟的版本相关的,不同版本编译后的文件是不同的。 2... 如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用..。 例如想直接使用的,或* 3.模块的 每个模块都有一个名称,文件对应模块名默认为文件名,也可在文件中为赋值;如果是,说明这个模块被用户 单独运行。 4.()函数 ()返回模块的名称列表;如果不提供参数,即(),则返回当前模块中定义名称列表。 ->删除一个变量/名称,之后,该变量就不能再使用。 六、数据结构 有三种内建的数据结构: 列表、元组和字典。 1.列表 是处理一组有序项目的数据结构,列表是可变的数据结构。 列表的项目包含在方括号[]中,: [1,2,3],空列表[]。 判断列表中是否包含某项可以使用,比如l=[1,2,3];1l;;支持索引和切片操作;索引时若超出范围,则;使用函数()查看长度;使用可以删除列表中的项,: l[0]#如果超出范围,则 函数如下: () 向列表尾添加项 l=[1,2,2] (3)#[1,2,2,3] () 返回列表中值为的项的个数 l=[1,2,2] (2)#2 (2) 向列表尾添加列表2 l=[1,2,2] l1=[10,20] (l1) l#[1,2,2,10,20] (,[,[]]) 返回列表中第一个出现的值为的索引,如果没有,则异常 l=[1,2,2] a=4 : (a) : ""%a (i,) 向列表i位置插入项,如果没有i,则添加到列表尾部 l=[1,2,2] (1,100) l#[1,100,2,2] (100,1000) l#[1,100,2,2,1000] ([i]) 返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常 l=[0,1,2,3,4,5] ()#5 l#[0,1,2,3,4] (1)#1 l#[0,2,3,4] : (100) : "" () 删除列表中第一次出现的,如果列表中没有,则异常 l=[1,2,3,1,2,3] (2) l#[1,3,1,2,3] : (10) : "10" () 列表反转 l=[1,2,3] () l#[3,2,1] (,,) 列表排序 【】 a()a,,,: ": ((),())" aa: "" a.,, .. l5=[10,5,20,1,30] l5() l5#[1,5,10,20,30] l6=["","","",""] l6(=s1,s2: (s1[0]2[1])) l6#['','','',''] l7=["","","","",""] l7(=s: s[1]) l7#['','','','',''] 2.元组 和十分相似,但是是不可变的,即不能修改,元组通过圆括号中用逗号分割的项定义;支持索引和切片操作;可以使用 查看一个元素是否在中。 空元组();只含有一个元素的元组("a",)#需要加个逗号 优点: 比速度快;对不需要修改的数据进行‘写保护’,可以是代码更安全 与可以相互转换,使用内置的函数()和()。 l=[1,2,3] l#[1,2,3] t=(l) t#(1,2,3) l1=(t) l1#[1,2,3] 元组最通常的用法是用在打印语句,如下例: ="" =25 ": ;: "%(,) #: ;: 25 函数如下: () 返回元组中值为的元素的个数 t=(1,2,3,1,2,3) (2)#2 (,[,[]]) 返回列表中第一个出现的值为的索引,如果没有,则异常 t=(1,2,3,1,2,3) (3)#2 : (4) : "4"#4 3.字典 字典由键值对组成,键必须是唯一的;: d={11,22};空字典用{}表示;字典中的键值对是没有顺序的,如果想要 一个特定的顺序,那么使用前需要对它们排序;d[]=,如果字典中已有,则为其赋值为,否则添加新的键值对;使 用d[]可以删除键值对;判断字典中是否有某键,可以使用或; d={} d["1"]="" d["2"]="" d["3"]="" d["3"] (): ">"%(,) #1> #2> 函数如下: () 删除字典中所有元素 d1={"1": "","2": ""} d1() d1#{} () 返回字典的一个副本(浅复制) d1={"1": "","2": ""} d2=d1() d2#{'1': '','2': ''} ()创建并返回一个新字典,以序列中元素做字典的键,为字典所有键对应的初始值(默认为) l=[1,2,3] t=(1,2,3) d3={}(l) d3#{1: 2: 3: } d4={}(t,"") d4#{1: '',2: '',3: ''} (,[]) 返回字典中键对应值,如果字典中不存在此键,则返回的值(默认值为) d5={1: "",2: "",3: ""} d5 (1) d5(5) d5(5,"") () 判断字典中是否有键 d6={1: "",2: "",3: ""} d6 (1) d6(5) () 返回一个包含字典中(键,值)对元组的列表 d7={1: "",2: "",3: ""} d7(): #(1,'') #(2,'') #(3,'') d7(): ""%(,) #1 #2 #3 () 返回一个包含字典中所有键的列表 d8={1: "",2: "",3: ""} d8(): #1 #2 #3 () 返回一个包含字典中所有值的列表 d8={1: "",2: "",3: ""} d8(): (,[]) 若字典中键存在,删除并返回[],若不存在,且未给出值,引发异常 d9={1: "",2: "",3: ""} d9 (1) d9#{2: '',3: ''} d9(5,) : d9(5)# : ": ",: 5 () 删除任意键值对,并返回该键值对,如果字典为空,则产生异常 d10={1: "",2: "",3: ""} d10()#(1,'') d10#{2: '',3: ''} (,[]) 若字典中有,则返回值,若没有,则加上该,值为,默认 d={1: "",2: "",3: ""} (1) (5) d#{1: '',2: '',3: '',5: } (6,"") d#{1: '',2: '',3: '',5: 6: ''} (2) 把2的元素加入到中去,键字重复时会覆盖中的键值 d={1: "",2: "",3: ""} d2={1: "",4: ""} (d2) d#{1: '',2: '',3: '',4: ''} () 返回一个对象,(,)的列表,类似于视图。 优点是,如果字典发生变化,会同步发生变化。 在 迭代过程中,字典不允许改变,否则会报异常 d={1: "",2: "",3: ""} (): "-"%(,) #1- #2- #3- () 返回一个对象,的列表 d={1: "",2: "",3: ""} (): #1 #2 #3 () 返回一个对象,的列表 d={1: "",2: "",3: ""} (): 4.序列 序列类型是指容器内的元素从0开始的索引顺序访问,一次可以访问一个或者多个元素;列表、元组和字符串都是序列;序列的两个主要特点是 索引操作符和切片操作符;索引可以得到特定元素;切片可以得到部分序列; 1=["","","","",""] 2 3[1]# 4[-1]# 5[5]# 6 7[: ]#['','','','',''] 8[3: ]#['',''] 9[: 2]#['',''] 10[2: 4]#['',''] 11[11]#['','',''] 切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。 如果不指定第一个数,就从 序列首开始。 如果没有指定第二个数,则会停止在序列尾。 注意,返回的序列从开始位置开始,刚好在结束位置之前结束。 即开始位置是 包含在序列切片中的,而结束位置被排斥在切片外。 可以用负数做切片。 负数用在从序列尾开始计算的位置。 5.绑定 当创建一个对象并给它赋一个变量的时候,这个变量仅仅“指向”那个对象,而不是表示这个对象本身! 也就是说,变量名指向计算机中存储那个 对象的内存,这被称作名称到对象的绑定。 如果要复制一个列表或者类似的序列或者其他复杂的对象(不是如整数那样的简单对象),那么必须使用切片操作符来取得拷贝。 七、面向对象编程 支持面向对象编程;类和对象是面向对象编程的两个主要方面,类创建一个新的类型,对象是这个类的实例。 对象可以使用普通的属于对象的变量存储数据,属于对象或类的变量被称为域;对象也可以使用属于类的函数,这样的函数称为类的方法;域和方法可以合称为类的属性。 域有两种类型属于实例的或属于类本身;它们分别被称为实例变量和类变量。 类使用关键字创建,类的域和方法被列在一个缩进块中。 类的方法必须有一个额外的第一个参数,但是在调用时不为这个参数赋值,这个特殊变量指对象本身,按照惯例它的名称是,类似中的。 : 方法 在类的一个对象被创建时调用该方法;相当于中的构造函数。 方法 在类的对象被销毁时调用该方法;相当于中的析构函数。 在使用删除一个对象时也就调用方法。 中所有的类成员(包括数据成员)都是的;只有一个例外,如果使用的数据成员以双下划线为前缀,则为私有变量。 : =0 (,,): 1 = = p=("",25) p1=("",20) #2 : '' 继承: 为了使用继承,基类的名称作为一个元组跟在类名称的后面;支持多重继承。 下面是一个关于继承的例子: 1: 2'''.''' 3(,,): 4= 5= 6"a." 7 8(): 9'''''' 10": : "%(,), 11 12(): 13'''a.''' 14(,,,): 15(,,) 16= 17"a" 18 19(): 20() 21": "% 22 23(): 24'''a.''' 25(,,,): 26(,,) 27= 28"a" 29 30(): 31() 32": "% 33 34 35 36 37 38t=(".",30,9000) 39s=("",25,90) 40 41=[t,s] 42 43m: 44() 程序输出如下: . a. a. a. a a. a : .,: 30,: 9000 : : 25,: 90 八、输入/输出 程序与用户的交互需要使用输入/输出,主要包括控制台和文件;对于控制台可以使用和,也可使用类。 ()输入然后读取用户的输入并返回。 1.文件输入/输出 可以使用类打开一个文件,使用的、和来恰当的读写文件。 对文件读写能力取决于打开文件时使用的模式,常用模式 有读模式("r")、写模式("w")、追加模式("a"),文件操作之后需要调用方法来关闭文件。 1='''\ 2a. 3 4: 5: 2011/12/25 6''' 7 8f=("","w")#,'t 9()# 10()# 11 12f=("")#,. 13 14: 15=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 基础 语法
![提示](https://static.bdocx.com/images/bang_tan.gif)