Python学习笔记(一)

开发工具与关键技术:Python IDEL、Python
作者:曾浩源
撰写时间:2019年07月16日

一、Python的标记符

在python里,标识符有字母、数字、下划线组成。
所有标识符可以包括英文、数字以及下划线【_】,但不能以数字开头。Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ; 分开。

二、行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
在 Python 的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 ,切记不能混用。

三、Python的保留字(也就是关键字)

andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield
1、and

python 中的and从左到右计算表达式,若所有值均为真,则返回【最后一个】值,若存在假,返回【第一个】假值。

2、exec

该语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。
如:exec ‘你好!’ 输出 你好!

3、not 也就是非的意思
4、assert

语句用来声明某个条件是真的,当assert语句失败的时候,会引发AssertionError错误。如:
在这里插入图片描述

5、finally

和C语言一样,在try语句后,无论有什么异常,都将会执行。

6、or

从左到右计算,返回第一个为真的值。

7、break

和C语言一样,打破最小封闭的for或while循环

8、for

虽然和C语言都是循环的关键字,但写法不一样,在C语言中是:

for (int i = 0; i < 100; i++){}

那么用Python,你写成

for i in range(0,100):
9、pass

在 Python 中,pass 是一个空语句,通常被用作占位符。在执行 pass 时,什么都不会发生,导致无操作。
如C语言中的if之后不执行任何东西

if(true){}

但Python中不行如:if True: 之后不写就会报错,发牢骚。所以pass就派上了用场。

if True:
   	pass

当然其他什么空for循环,空while循环,空def方法,空class类都可以用pass
总之,pass 什么也不做,就是为了占位,防止语法错误。

10、class 就是类

既然是类,所以它也有继承,还有多继承,继承后其方法可以重写、重载,如:

class Father():	
	def __init__(self):	
		print('我是父亲。')	
class Mother():
	def __init__(self):
		print('我是母亲。')
#单继承:
class Son (Father):	
	def __init__(self):#重写
		print('我是儿子。')	
#多继承:
class Daughter(Father,Mother):
	def__init__(self):
		print('我是女儿。')
11、from

在python用import或者from…import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。
一般使用import,from import有时会带来conflict冲突,且不易读。
如:import car #把一整辆车拿过来
from car import engine #拿到的是车里的【发动机】类

12、print 输出一个值,就不多说了
13、continue 和C语言一样,跳出本次循环。
14、global

global—将变量定义为全局变量。可以通过定义为全局变量,实现在函数内部改变变量值,一个global语句可以同时定义多个变量,如 global x, y, z。
global声明的全局变量可以在函数内外改变其值。
如:在寻常的赋值下:在这里插入图片描述
在使用global后:在这里插入图片描述

15、raise

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

16、def

它就是相当于一个方法(函数)

def test(参数1,参数2,参数3...):#都一样需要用英文的冒号结尾
	return 参数1-参数2+参数3
#调用直接
test(3,2,1) 
#也可以赋值 
x=test(3,2,1)
17、if

和C语言中的if一样,用于条件判断,只是写法不一样有几种写法,
第一种:和C语言最像

if(m==8):
	print(‘true’)

第二种:

if m is 8:
	print(‘true’)
s=[1,2,3,4,5]
if 5 in s:
	print(‘true’)
18、return

return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值。基本和C相同

19、del

del用于list列表操作,删除一个或者连续几个元素。
如:有一个序列

list1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
del listarr[2:4] #删除下标从2到4的元素
#输出结果:
listarr:[1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
20、import

在python用import或者from…import来导入相应的模块。在11的from中讲到。

21、try

与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况。
尽管try/except和try/finally的作用不同,但是在编程实践中通常可以把它们组合在一起使用try/except/else/finally的形式来实现稳定性和灵活性更好的设计。
python中try/except/else/finally语句的完整格式如下所示:

try:
	执行语句
except 异常A:
    捕捉到异常A,执行这里
except 异常B:
	捕捉到异常B,执行这里
except:
	捕捉到其他异常,执行这里
else:
    没有异常,执行这里
finally:
    无论有没有异常,都执行这里
22、elif

elif语句可以检查多个表达式的真值,并执行一个代码块的条件之一计算结果为true。
和C语言中的else if一样如:

if(m==1):
	pass
elif(m==2):
	pass
elif(m==3):
 	pass
23、in

在17的if中有,就是判断某个元素是否在列表,元组,字典中

a=[1,2,3]  			
1 in b:
	print('true')
24、while 循环语句

例子:

count=0
while(count<8):
	print(count)
	count+=1
print(“循环结束”)
25、else

通用配合if 或try使用

26、is

在17的if中有,就是判断二个参数对像id是否相同,可以把对象id理解为指针

27、with

通常配合as用来打开文件,因为使用with as打开文件处理后能够自动将文件关闭,不用手动关闭文件,如:

with open(“test.txt”) as file:
	data = file.read()
	print(data)

将这样,不用在finally内写file.close()关闭文件了

28、except

配合try使用,用于捕捉异常

29、lambda

和def一样是一个方法(函数),但lambda是一个匿名方法(函数),而def创建的是有名字的,除了从表面上的方法名不一样外:

1、 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。
2、 python lambda它只是一个表达式,而def则是一个语句。

如:

lambda x:print x 

但这样子没有什么意义,因为python lambda它会创建一个函数对象,但马上又给丢弃了,因为你没有使用它的返回值,即那个函数对象。
给一个变量赋值:

m=lambda x,y,z: x+y-z
print(m(9,3,5)) #也就是9+3-5 输出为7
30、yield

yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。重点是:下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。
简要理解:yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始。

例子:
声明一个变量nb赋值为0
创建一个函数i=0,a=0,b=0,while循环,yield返回b。
a,b=b,a+b的意思是a=b和b=a+b
同时进行的,不然a=b后a=1,b=a+b就是b=1+1了。
输出b,最后i+1
在外面for循环,并将fab的返回值给到nb,输出nb。
如:fab(7)
进入fab方法,i小于7,返回b=1,输出nb=1,继续for循环,进入方法,然后执行yield后的语句,a=1,b=0+1输出b=0,i+1,之后进行while循环i还是小于7,遇到yield后返回b=1,输出nb=1,以此类推。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值