python3总结-基础
一、这个可以了解下
-
1.一般对象不用特别声明
python会自动识别;一个对象也可以重新绑定到不同数据类型,因为python采用的是动态类型机制;但对已经声明过的对象则不能改变。 -
2.输出print("a")
在python控制台中也可以直接用这个对象名称,就会打印出来,用print打印多个字符串可用逗号连接,想将多个print打印在同一行,可以print后加上end=参数(例:print(x,end=" "),会以空格分隔)常用:print(3,end="\n********\n")。 -
3.读写文件
fin=open(filename,encoding="utf8") #for reading text
fout=open(filename,"w",encoding="utf8") #for writing text
写入数据时用fout.write(string)。从文件里读取到内容的格式是str,被写入的内容也须是str格式的对象。
常用:with open('filename','r') as f: 参数:a w r等。 -
4.将全大写字母
表示的标识符看作常量是python的一个约定。 -
5.dir()
对于不了解的函数可用help()命令来看看函数的说明,可用dir()模块名来查看模块内的所有函数名。 -
6.判断对象类型
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。 -
7.一条语句要写到多行
反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。 -
8、复制
= 简单赋值
copy.copy() 浅拷贝
copy.deepcopy()深拷贝 -
9、python包
包就是一个文件夹,其中包含一组模块和一个init.py文件。init.py文件就是用来区分这个文件夹是一个python包。
二、逻辑操作符
1、身份操作符(is,is not):用于判断两个对象的引用对象是否指向相同的对象,返回bool值.否定比较可以用is not;
2、比较操作符(<,>,<=,>=,==,!=);
3、成员操作符(in,not in):用于判断一个元素是否存在于一个元组或者集合中,返回bool值.
4、逻辑运算符(and,or,not):
对python而言
一, 在不加括号时候, and优先级大于or
二, x or y 的值只可能是x或y. x为真就是x, x为假就是y
三, x and y 的值只可能是x或y. x为真就是y, x为假就是x
四,not返回bool值,将原值反转.
位运算符:
&与,1&2 输出0
^异或,<<左移 ,>>右移,~反转
三、算术运算符
+、-、、/、+=、=
/结果是浮点数
//除取整,%取余
**(pow())幂,abs()返回绝对值
divmod(x,y)以二元组形式返回x/y所得商和余数(两个整数)
round(x,n)返回浮点数x四舍五入得到的整数(如果n有值,则返回相应位数的浮点数)
4.控制流语句
1、if...else语句
2、while语句
3、for...in语句
通过break、continue对循环进行控制,break跳出循环,continue结束当前循环,从新开始新的一轮循环;函数中的return也可以达到break的作用
if语句的另一种写法:
expression1 if boolean_expression else expression2
boolean_expression为true时使用expression1,否则用expression2。常用于默认值的设定。
循环结构
while和for循环末尾都可以再加一句else语句。只要循环正常终止,else语句就会得到执行,但若由于break或返回语句,以及产生异常导致跳出循环,else语句则不会执行。实际用处:提供了简便方法,判断循环有无被终止。
count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("循环正常执行完啦")
print("-----out of while loop ------")
代码结果:
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------
[Finished in 0.1s]
4、基本异常处理语句:
try:
try_suite;
except exception1 as variable1:
exception_suite1
finally:
finally_suite
#finally语句一定会被执行。
异常处理完全模块:
try: suite1
#as为可选,如果有,variable中则存储了该异常。
except exception_group1 as varialble1: suite2
except exception_group2 as variabble2
else: suite3
finally: suite4
如果try的suite1正常执行完毕则会执行else的内容。如果发生异常则不执行。
finally的suite4无论前边发生什么都会被执行。即使发生发生的异常在except中找不到相匹配的项,也会执行了finally 再终止程序。
5、lambda函数
格式 lambda parameter:expression
parameter是可选的,如果提供,通常以逗号分隔。expression不能
包含分支或循环语句,可以包含条件表达式,也不能包含return
函数本身相当于一个有返回计算表达式结果的匿名函数。如果
expression是一个元组,就需要用“()”括起来。
例:area=lambda b,h:05*b*h ;调用方法:area(1,2)
常用于sort表达式中的key(例:elements.sort(key=lambda e:(e[1],e[2]));忽略第一项);
以及默认字典的默认值设置
rstr=collections.defaultdict(lambda:"No message available")
6、断言assert:一般用在调试输出的结果肯定为某个类型;
格式 assert boolean_expression,optional_exprssion
如果boolean_expression结果为False,就产生一个AssertionError,
如果给了可选的optional_exprssion,就表达出来。在最后运行整下程
序不想执行assert语句时就用指令-O (例:python -O
promgramname.py)来实现。