Python学习总结报告

Python是一门面向对象的解释性语言(脚本语言),这一类语言的特点就是不用编译,程序在运行的过程中由对应的解释器向CPU进行编译,一边编译一边执行他属于脚本语言,不想编译型语言那样先将程序编译成二进制在运行。

1)程序块不是以“{”和“}”括起来来定义的,而是依据程序的缩进来表示程序的块和代码的层次

2)程序以一个逻辑行尾单位进行执行,一个逻辑行可以由多个物理行组成(通过\来连接下一行),一个物理行可以分成多个逻辑行(通过“;”来分隔同一物理行的多个逻辑行。但是一般不建议使用“;”来分隔逻辑行,建议使用换行和缩进来组织程序结构)

3)程序中没有类似main函数的主程序,一个文件中的所有内容(代码)按照行从上到下从左到右执行。在文件中有函数,函数定义部分等到调用才执行。

4)变量在定义时没有类型,在运行期间才去确定数据类型。变量没有固定类型,前一次赋值的时候是什么类型就是什么类型,而且是可以动态变动的。

5)函数定义中没有返回值及返回值类型的说明,只有函数名和参数列表(参数也没有类型,同一函数在同一程序中可接收不同类型的参数)。如果没有返回值则默认返回NONE,如果有显示的return语句,则返回被return的值。(在同一函数,多个return可以返回不同类型的或不返回)

6)常用的函数  a. raw_input(str)函数:接收用户从控制台输入的数据,返回一个字符串。参数str是提示语句。 b. int(str)等函数:将字符串转换成int类型,可以配合raw_input(str)函数使用,从用户输入获取int数据。  c. len(obj)函数:获取列表、元组、字典等的长度,返回长度的值  d. print 函数:打印内容到控制台,可以是数值、字符串、序列等各种类型。打印完后默认是自动换行,如果后面接“,”则不换行。可以格式化字符串,使用%d(%o、%x)、%f、%s等,

7)Python的关键字

8)Python的数据类型

 

 

 

 

 

 

控制语句

 

控制语句 

控制语句分别有表示选择的if语句(if、else、elif),注意没有switch case语句;有表示循环的while语句,while末尾也有else的可选项,但是没有do while语句;还有表示循环的for语句,for末尾也有else的可选项,但是for语句是for var in list类型的语句,而不是像C语言的三段式;在for和while语句中还有break语句和continue语句,意义和其他语言中一样。注意在Python中没有使用大括号表示语句块的方法,而是通过缩进来表示的。具体的控制语句总结如下。 

1)if条件判断语句:if、elif、else后面要跟冒号,其中elif和else部分是可选的。

2)while循环语句:注意while后面跟冒号,else部分可选

3)for循环语句:else部分可选

 

 

函数

函数定义没有返回值的说明,但是可以使用return语句返回一个值,如果在函数中有多个return语句,那么返回值类型可以不同,如果没有return语句,默认是返回None。函数的参数列表也只有形参名称,而没有形参的类型,具体的类型根据运行时动态确定,在同一程序中,可以给同一函数传递不同类型的参数来调用这个函数。注意函数定义时后面跟“:”。函数调用的形式为functionname(arg1, arg2, ……,argn)。  默认参数:在函数定义时指定参数的值,则在调用时,这些参数的值可以不给定,而直接根据定义时给定的值默认。如def say(message, times = 1):,那么在调用时可以直接say(“hello”)或say(“hello”,5)。如果没有指定times的值的话就将该值默认为1。默认参数必须在非默认参数之后,由于调用时参数个数不确定,因此按照顺序依次给各参数赋值,没有被赋值的后面的默认参数就被赋值为默认值。  只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是无效的。

 

 

模块

       使用模块时引用模块就行了,通过语句import或from …… import……。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。比如有一个模块被写在mou.py中,在程序testmou.py中要用模块,你需要通过“import mou”语句导入模块,注意“.py”不用写。假如mou.py中定义了一个变量和一个函数分别叫var和fun(),通过上面的import语句导入模块mou之后你可以通过语句“mou.var”和“mou.fun()”来调用其中的变量和函数。如果你想导入mou中的所有变量和函数,则可以使用“from mou import *”来导入,这样导入的方式使得使用时就不需要模块名来引用变量和函数,直接使用。如果你只想导入mou中的fun()函数,则可以使用“frommou import fun”语句来导入,使用时就不需要模块名了,直接使用fun()函数。  Python中有许多标准库模块,是语言自带的一些模块,也可以自定义自己的模块。  标准库模块常用的有sys、os、re、time等。自定义时就和平常写python一样,一个.py结尾的文件就是一个模块。  注意:导入某模块时,该模块的主块将被运行,无论是导入全部还是导入该模块的某一个变量或函数。

 

 

数据结构

       使用模块时引用模块就行了,通过语句import或from …… import……。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。比如有一个模块被写在mou.py中,在程序testmou.py中要用模块,你需要通过“import mou”语句导入模块,注意“.py”不用写。假如mou.py中定义了一个变量和一个函数分别叫var和fun(),通过上面的import语句导入模块mou之后你可以通过语句“mou.var”和“mou.fun()”来调用其中的变量和函数。如果你想导入mou中的所有变量和函数,则可以使用“from mou import *”来导入,这样导入的方式使得使用时就不需要模块名来引用变量和函数,直接使用。如果你只想导入mou中的fun()函数,则可以使用“frommou import fun”语句来导入,使用时就不需要模块名了,直接使用fun()函数。  Python中有许多标准库模块,是语言自带的一些模块,也可以自定义自己的模块。  标准库模块常用的有sys、os、re、time等。自定义时就和平常写python一样,一个.py结尾的文件就是一个模块。  注意:导入某模块时,该模块的主块将被运行,无论是导入全部还是导入该模块的某一个变量或函数。   数据结构  具体的数据类型在3.2.1Python语言概述中有详细的列举,其他的也很简单,和其他语言的数据类型差不多,本节主要介绍一些Python语言特有的一些数据结构。主要的数据结构是列表、元组、字典、序列。下面分别简单总结一下。

 

1)列表  特点:列表是可变的,可以删除、排序、追加(列表中的列表也不会失去它的身

份)  举例:shoplist =['apple', 'mango', 'carrot', 'banana']

2)元组  特点:元组是不可变的。  元组和列表十分类似,只不过元组和字符串一样是不可变的,即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。  注意元组之内的元组不会失去它的身份。含有0个或1个项目的元组。一个空的元组由一对空的圆括号组成,如myempty = ()。然而,含有单个元素的元组就不那么简单了。你必须在第一个(唯一一个)项目后跟一个逗号,如singleton = (2 , )。

3)字典  特点:字典就是类似于map,是以键-值对的形式存在的,键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。

4)序列  列表、元组和字符串都是序列,序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我

们能够获取序列的一个切片,即一部分序列。 

以列表为例,一个list定义为:shoplist = ['apple', 'mango', 'carrot', 'banana'] Shoplist [0]为'apple' shoplist[-1]为banana  shoplist[0:2] 为['apple','mango']  索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的。因此,shoplist[-1]表示序列的最后一个元素而shoplist[-2]抓取序列的倒数第二个项目。  切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值