Python从入门到放弃(三):基本语句和语法

一.一些改变

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.
  • 1
  • 2
  • 3

看一个例子 
这里写图片描述 
Ⅱ.输入

四.判断

提起判断和循环,首要就要提到比较.所以首先说一下比较和一些逻辑有关的关键字. 
大小比较:

x>y;x<y;x>=y;x<=y  #和C或者C++一样
  • 1

相等关系:

x==y;x!=y;  #和C或者C++一样
x is y      #完全一样的对象
  • 1
  • 2

逻辑词:

x and y     #与运算,类比于C中的x&&y
x or y      #或运算,类比于C中的x||y
not x       #取反,类比于C中的!x
  • 1
  • 2
  • 3

判断的一般形式是:

if test1:       #后面":"不能够掉因为要跟复合语句了,或者硬记下来
    <statements1>   #要缩进.要是有多句话,保持一致的缩进
elif test2:     #类比else if
    <statements2>
else:
    <statements3>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

一个例子: 
要是年龄大于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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

基本例子: 
这里写图片描述 
这里写图片描述 
break,continue,pass和循环else 
1.break(跳出最近所在的循环,跳过整个循环语句) 
2.continue:跳到最近所在循环的开头处 
3.pass :什么也不做,只是占空位语句 
4.else :正常离开循环的时候就执行(前面没有break语句) 
依然是和C很相似的结构.就不多说了.实践中用就知道了.

Ⅱ.for

用它来遍历序列对象内的元素,并且对每个元素运行一个代码块 
语法模板:

for <target> in <object>:
    <statement>
else:
    <statement>
  • 1
  • 2
  • 3
  • 4
  • 5

当python运行for循环时,会逐个将序列对象中的元素赋给目标然后为每个元素执行循环主体。

基本例子 
列表 
这里写图片描述 
这里写图片描述 
元组和字符串 
这里写图片描述 
for循环中的序列赋值 
这里写图片描述 
遍历字典 
这里写图片描述 
这里写图片描述

以上就是基本了,还有很多比如嵌套的if和嵌套的for都没有讲,是因为这些和语言无关而和逻辑有关.好的逻辑自然知道怎么去嵌套或者其他的.

猜你喜欢

转载自blog.csdn.net/weixin_38213431/article/details/80879577