python基础语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础语法相关的知识,希望对你有一定的参考价值。

一.常量与变量

常量

python中没有命令常量,只有字面常量。一旦创建,他就会存储在一个固定的内存区域不会改变。常见的字面常量有整型、浮点型、字符串等。

变量

变量是什么
python中的变量都是引用,所以变量是指向一块内存区域的别名。下面为var=“python”简易内存图
技术分享图片
其中oxaabbccdd是指向存储“python”字符串的地址。而var变量是指向存储oxaabbccdd这个地址的别名。
如果我们修改var=“java”,图为:
技术分享图片

python变量特性

  • 动态语言:不需要指明变量类型,只有在程序运行时才会检查变量类型,并将变量类型记录在内存中。
  • 强类型:变量在第一次赋值后,确定了变量类型就不可更,除非通过显示转换。

变量的命名规则

  • 只能由下划线、数字、字符组成
  • 变量名称不能以数字开头
  • 不能使用python中的保留字,因为保留字对python来说具有特殊意义,比如:if、def 、while等。

二. 运算符与表达式

运算符

算术运算
常见的算术运算符

+、-、*、**(乘方)、/(除)、//(整除) 、%(模)

2.X和3.X之间的区别:
2.X中“/”为整除
3.X中“/”为自然除,如果要得到整除可以使用“//”。

注意:算术运算符的操作对象只能是整数或浮点数。

比较运算
比较运算符

>、>=、<、<=、==、!=

其中==,!=操作对象类型可以不同;而其余的操作对象类型需要一样

比较运算的结果只会是布尔类型,True或false。

逻辑运算
操作对象只能是bool类型。但需要注意的一些数据类型会隐式转换为bool类型。比如零、空字符串、空内置结构会转换为False;非零、非空字符串、非空内置结构会转换为True。

and:与运算符;只有左右的操作数都为True
or:或运算符;只要有一个操作数为True,表达式结构就为True
not:非运算符;对操作数取反,操作数如果为True,则返回False;如果操作数为False,则返回True

短路现象:与和或逻辑运算需要两个bool操作数,如果通过左边的bool操作数就可以判断逻辑表达式的结果,那么表达式的右边不会进行运算。

运算符的优先级
算术运算 > 比较运算 > 逻辑运算

推荐使用括号表明运算的优先级。

表达式

变量与运算符结合起来就是表达式,例如:32+45。表示式往往会放回一个值。所以表达式往往与赋值运算结合在一起。例如:var=True and False

三. 程序控制结构

绝大数编程语言都只有三种程序控制结构。python中的代码块不同于C,或java语言使用花括号括起来,它是使用缩进的方式表明代码块。

顺序结构

程序员编写的代码块,在运行的时候时是从上到下依次运行。

条件结构

** 单分支结构

if cond:
    block
或
if cond:
        block
else
        block

当条件cond为True时,执行代码块block。注意cond后面的“:”不可省略,它表明代码块的开始
技术分享图片

技术分享图片

** 多分支结构

if cond:
     block
elif cond:
        block
...
else:
        block

技术分享图片

循环结构

while 循环

while cond:
        block

cond 条件为True时执行block代码。为了避免死循环一般要在block中修改cond,以便让其退出。
技术分享图片
其中 num -= 1为num = num - 1的简写。

for in 循环

for var in iterable:
        block

for in循环是从iterable可迭代对象中每次获取一个元素放在var变量中。然后执行block代码,直到可迭代对象中的元素获取完,再退出循环。
技术分享图片
其中range(0,10)函数会返回一个可迭代对象。需要注意的是不要在循环体中修改可迭代对象,因为容易导致死循环。

循环中的break和continue
break用于跳出循环
技术分享图片
continue用于跳出当前循环体。
技术分享图片
可以看到唯独没有打印3,因为等于3时后面的语句跳过了

for in 循环中的else 子句

for var in iterable:
        block
else:
        block

当 for in 循环没有提前退出时会执行else代码块
技术分享图片

参考

https://www.cnblogs.com/bluestorm/archive/2012/08/28/2660277.html

以上是关于python基础语法的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码片段编写 LaTeX 文档

python 学习python语法的片段

《Python学习之路 -- Python基础之切片》

[Python]常用代码块

Python基础语法

Python-11:Python语法基础-控制流