一.一些改变
1.Python增加了什么
相比起C++或者其他一些语言,Python增加了一个冒号”:”.所有的python复合语句,都是首行由冒号来提醒,这个一定不能够掉了!且接下来是以缩进的形式来书写.(C++或者一些语言是大括号括起来的).后面会看到这个冒号是怎么用的.
2.python舍弃了什么
1.很多的括号可以去掉,比如if后面的括号能够去掉,while后面的括号能够去掉,等等
2.终止一行就是终止语句,所以不需要分号”;”作为程序的终止的标志.
3.缩进的结束就是一段复合代码块的结束!!!
二.赋值
有语言的基础的发现,赋值还是和以前的赋值方式差不多,但是Python有了更多的方便的新特点.
Ⅰ.一些概念
a)赋值语句建立对象引用值(因此,python变量更加像是指针)
b)变量名在首次赋值的时候会被创建
c)变量名在引用之前必须先赋值
d)知道执行隐式赋值的操作(模块导入,函数和类的定义等等)
Ⅱ.基本赋值方式
基本赋值方式我们已经见得很多了,就是传统的赋值方式比如a=2啊巴拉巴拉这些,很简单.但是要注意之前说的,即使变量被赋值,也能够指向其他的对象.所以说非常灵活.这个就不举例子了.
Ⅲ.序列赋值
在python中,序列是能够相互混合赋值的,只要两边都是序列就行!,但是两边的长度(就是元素的个数)要相同,不相同的话会报错.
很简单,举个例子一看就会,看例子就行.
上面的两边都是同一类型的,元组对元组,列表对列表.事实上,前面已经说了,序列赋值能够混合.通畅情况下,python会从左到右,把右侧序列中的元素赋值给左侧序列中的变量。
这部分其实很简单,也很重要,后面很多简化的赋值要用到他们.
Ⅳ.扩展序列解包(python3)
之前说序列赋值的时候,就有说明,元素的数量一定要相等,不然会报错.但是有时候只要用一些变量就能够接收右边对象中的值,那这时候就要用到扩展的序列解包.名词很装逼,其实一点也不难.扩展的序列解包中你一定能够看到一个*号,那是干嘛的呢?
不装逼,直接看例子就懂了.
Ⅴ.多目标赋值
多目标赋值听上去很装,其实就是传统的连续赋值,多个等号的那种.
事实上,就是只有一个对象,全部变量都指向内存中的同一个对象.所以,要是对于某些原地修改的对象.一个改变,那么其他的变量也会受到影响.所以,有时候需要copy或者是独立设置.
Ⅵ.增强赋值语句
也是听上去很厉害,其实就是c语言语法的一个模仿(但是真的挺好用的).适用于任何的支持隐式二元表达式的类型.
是不是很眼熟,哈哈
很简答,这个挺好用的,例子就不举了…(例子表示很可怜)
三.输入和打印
Ⅰ.打印
先讲打印是因为打印是用的频率很高的操作.
python3中的print函数.
格式为:print([object,……][,seq=’ ’][,end=’\n’][,file=sys.stdout])
1.sep是在每个对象的文本之间插入的一个字符串.默认传递单个空格;要是不想输出对象之间有空格,可以传递一个空字符串.
2.end是放在打印文本末尾的一个字符串.默认传递换行符.
3.file指定了文本将要发送到的文件,标准流或者其他类似于文件的对象.默认是sys.stdout.
看一个例子
Ⅱ.输入
四.判断
提起判断和循环,首要就要提到比较.所以首先说一下比较和一些逻辑有关的关键字.
大小比较:
x>y;x<y;x>=y;x<=y #和C或者C++一样
相等关系:
x==y;x!=y; #和C或者C++一样
x is y #完全一样的对象
逻辑词:
x and y #与运算,类比于C中的x&&y
x or y #或运算,类比于C中的x||y
not x #取反,类比于C中的!x
判断的一般形式是:
if test1: #后面":"不能够掉因为要跟复合语句了,或者硬记下来
<statements1> #要缩进.要是有多句话,保持一致的缩进
elif test2: #类比else if
<statements2>
else:
<statements3>
一个例子:
要是年龄大于20就买房,否则不买房
结果是yes
其实就到这里就够了,真的真的没有什么好多讲的….注意格式,不要漏掉冒号”:”注意要缩进.就行了.
五.循环
基本的循环有两种:while(通用循环)和for(遍历序列对象内的元素).
Ⅰ.while
模板:
常用:
while(test): //不要忘记:和缩进
<statements1>
else: //else是可选的
<statements2>
通用:
while(test1):
<statements1>
if <test2>:
break
if<test3>:
continue
else:
<statement2>
注意:想要else这个语句有用的话,前面的break就不能够生效。它能够退出当前的一整个循环结构,包括else
基本例子:
break,continue,pass和循环else
1.break(跳出最近所在的循环,跳过整个循环语句)
2.continue:跳到最近所在循环的开头处
3.pass :什么也不做,只是占空位语句
4.else :正常离开循环的时候就执行(前面没有break语句)
依然是和C很相似的结构.就不多说了.实践中用就知道了.
Ⅱ.for
用它来遍历序列对象内的元素,并且对每个元素运行一个代码块
语法模板:
for <target> in <object>:
<statement>
else:
<statement>
当python运行for循环时,会逐个将序列对象中的元素赋给目标然后为每个元素执行循环主体。
基本例子
列表
元组和字符串
for循环中的序列赋值
遍历字典
以上就是基本了,还有很多比如嵌套的if和嵌套的for都没有讲,是因为这些和语言无关而和逻辑有关.好的逻辑自然知道怎么去嵌套或者其他的.