语法基础

Python基础

Python语句和语法

  • 井号(#)表示之后的字符为Python注释,多行注释使用三个单引号(‘‘‘)或三个双引号(""")。
  • 换行(\n)是标准的行分隔符(通常一个语句一行)
  • 反斜线(\)继续上一行,语句中包含[], {} 或 () 括号就不需要使用多行连接符。
  • 分号(;)将两个语句连接在一行中
  • 冒号(:)将代码块的头和体分开
  • 语句(代码块)用缩进快的方式体现
  • 不同缩进深度分割不同的代码块
  • Python文件以模块的形式组织

变量

  • 第一个字符不必须是字母或者下划线
  • 剩下的字符可以是字符、数字和下划线
  • 大小写敏感
  • 不能是Python解释器的保留字

算术运算符

运算符 描述 实例
+ 3 + 7 输出结果:10
_ 3 - 7 输出结果:-4
* 3 * 7 输出结果:21
/ 浮点除 3 / 7 输出结果:0.42857142857142855
% 取模 3 % 7 输出结果:3
** 3 ** 7 输出结果:2187
// 整除 3 // 7 输出结果:0

举例

In [4]: 3//5
Out[4]: 0

In [7]: 2**4
Out[7]: 16

In [3]: 3/5
Out[3]: 0.6

比较运算符

运算符 描述 说明
== 等于 3 == 7 输出:Flase
!= 不等于 3 != 7 输出:True
> 大于 3 > 7 输出:Flase
< 小于 3 < 7 输出:True
>= 大于等于 3 >= 7 输出:Flase
<= 小于等于 3 <= 7 输出:True

通过比较运算符所得的是一个布尔值,在使用比较运算符时尽量保证两边的类型相同

逻辑运算符

运算符 逻辑表达式 描述 说明
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 3 and 7 输出:7
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 3 or 7 输出:3
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。  

注意:参与运算的成员只能是bool类型,或者可以隐式的转化为bool类型的类型。

  • 短路操作
def add(x,y):
  print("{0}+{1}".format(x,y))
  return x+y

测试1:

In [3]: add(3,4) > add(1,2) and add(7,8) > add(5,6)
3+4
1+2
7+8
5+6
Out[3]: True

测试2:

In [4]: add(3,4) < add(1,2) and add(7,8) > add(5,6)
3+4
1+2
Out[4]: False

测试3:

In [6]: add(3,4) > add(1,2) or add(7,8) > add(5,6)
3+4
1+2
Out[6]: True

测试4:

In [7]: add(3,4) < add(1,2) or add(7,8) > add(5,6)
3+4
1+2
7+8
5+6
Out[7]: True

说明:逻辑运算总是从左到右的计算,一旦绝决定表达式的最终值,将立刻停止计算并返回。

赋值运算符

运算符 描述 说明
= 赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c *= a 等效于 c = c * a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

举例:

In [17]: a = 5

In [18]: b = 5

In [24]: a *= 2

In [25]: a
Out[25]: 10

In [26]: a /= 2

In [27]: a
Out[27]: 5.0

In [28]: a **= 2

In [29]: a
Out[29]: 25.0

In [30]: a //= 4

In [31]: a
Out[31]: 6.0

位运算符

运算符 描述 说明
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 60 & 13 输出结果 12 ,二进制解释: 0011 1100 & 0000 1101 = 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 60 | 13 输出结果 61 ,二进制解释: 0011 1100
^ 按位异或运算符:当两对应的二进位相异时,结果为1 60 ^ 13 输出结果 49 ,二进制解释: 0011 1100
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 ~60 输出结果 -61 ,二进制解释:~0011 1100 =1100 0011
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 60 << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

成员运算符

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份运算符

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND‘
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += = *= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

实际使用中若避免出现因优先级的问题导致代码出现歧义,建议还是使用()更直观的看到运算顺序。

Python if 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:

Python程序语言指定任何非0和非空(null)值为true,0 、null或者空的内置结构为false。Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else:
    执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

flag = True
name = ‘lurenjia‘
if name == ‘python‘:
    flag = True
    print (‘welcome‘)
else :
    print (name)

输出:lurenjia

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。当判断条件为多个值是,可以使用以下形式:

if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

使用举例:

num = 5
if num == 3:
    print (‘three‘)
elif num == 2:
    print (‘two‘)
elif num == 1:
    print (‘one‘)
elif num < 0:
    print (‘error‘)
else:
    print (‘roadman‘)

输出结果:roadman

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

num = 8
if (num >=0 and num <=5) or (num >=10 and num <=15):
    print (‘Ok‘)
else:
    print (‘undefine‘)

输出结果:undefine

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

Python 循环语句

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

while循环

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:
    执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。执行流程图如下:

举例:

count = 0
while count < 3:
    print (‘The count = ‘,count)
    count +=1
print (‘End ...‘)

输出:

The count =  0
The count =  1
The count =  2
End ...

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立。这种方法就是我们所说的死循环。在使用死循环时要有结束循环的条件,不然你可以使用 CTRL+C 来中断循环。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

count = 0
while count < 3:
    print (count,‘is less than 3‘)
    count += 1
else:
    print (count,‘is not less than 3‘)

输出:

0 is less than 3
1 is less than 3
2 is less than 3
3 is not less than 3

Python for 循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式如下:

for iterating_var in sequence:
    statements(s)

流程图如下:

注意:循环体中绝对不要修改可迭代对象。

举例:

for letter in ‘Python‘:
    print (‘当前字母:‘,letter)
hero = [‘DF‘,‘SNK‘,‘SA‘]
for dota in hero:
    print (‘当前hero:‘,dota)

输出:

当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前hero: DF
当前hero: SNK
当前hero: SA
通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例:

hero = [‘DF‘,‘SNK‘,‘SA‘]
for dota in range(len(hero)):
    print (‘当前hero:‘,hero[dota])

输出:

当前hero: DF
当前hero: SNK
当前hero: SA

以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

for num in range(10,20):
for i in range(2,num):
    if num%i ==0:
        j =num//i
        print (num, ‘等于‘, i, ‘*‘, j)
        break
else:
    print (num,‘是一个质数‘)

输出结果:

10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

Python 循环嵌套

Python 语言允许在一个循环体里面嵌入另一个循环。Python for 循环嵌套语法:

for iterating_var in sequence:
    for iterating_var in sequence:
        statements(s)
    statements(s)

Python while 循环嵌套语法:

while expression:
    while expression:
        statement(s)
    statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

输出1~100间的素数:

break 语句

Python break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。Python语言 break 语句语法:

break

流程图:

for letter in ‘Python‘:
    if letter == ‘h‘:
        break
    print (‘Current Letter:‘,letter)
var = 5
while var > 0:
    var -=1
    if var == 3:
        break
    print (‘Current Letter:‘,var)
print (‘Bye‘)

输出:

Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: 4
Bye

continue语句

Python continue 语句跳出本次循环,而break跳出整个循环。continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。continue语句用在while和for循环中。Python 语言 continue 语句语法格式如下:

continue

流程图:

举例:

for letter in ‘Python‘:
    if letter == ‘h‘:
        continue
    print (‘Current Letter:‘,letter)
var = 5
while var > 0:
    var -=1
    if var == 3:
        continue
    print (‘Current Letter:‘,var)
print (‘Bye‘)

输出:

Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: o
Current Letter: n
Current Letter: 4
Current Letter: 2
Current Letter: 1
Current Letter: 0
Bye

Python pass 语句

Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。Python 语言 pass 语句语法格式如下:

pass
时间: 2024-10-09 23:44:21

语法基础的相关文章

Java语法基础

Java语法基础 1.  关键字 某些单词对编译器有着特殊的含义,并且不能作为标示符使用,全部是小写字母 Java语言关键字 abstract boolean break byte case catch char class try do default continue double else extends assert final finally float for If implement import instanceof int interface long native new g

java语法基础一

Java语法基础一 Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注:1.Java是严格区分大小写的. 2.Java程序中一句连续的字符串不能分开在两行中写. Java程序的注释 Java里的注释有三种类型: 1.单行注释 在注释内容前面加“//”,格式为: 代码; //注释内容 2.多行注释 以斜杠加星号开头,以星号加斜杠结尾. 3.文档注释 以斜杠加两个星号

Swift语法基础入门三(函数, 闭包)

Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 { 函数实现部分 } 没有参数没有返回值 可以写为 ->Void 可以写为 ->() 可以省略 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成() func say() -> V

javascript语法基础-变量与函数

三 javascript语法基础-变量与函数 (一)变量的声明与运用 JavaScript中的变量与Java.C等强类型语言有很大区别,虽然在JavaScript中具有字符串.数字等数据类型. 变量申明语句的结构是var保留字加标识符,var和标识符之间用空格隔开. 赋值语句的结构是在变量和需要赋的值之间加上一个等号,例如a=1的含义是将变量a的值指定为1. 变量在定义的时候也可以同时赋值,如var a=1. PS:在变量使用前事先进行声明是个良好的编程习惯,这对将来学习Java等其他语言有帮助

php语法基础

php变量 php变量用于存储字符,数字,数组甚至对象资源等,以便在我们需要的地方使用. $变量名=值; 变量名以字母(a-z,A-Z)或者下划线_开始,后面可以跟 任意字母或数字以及下划线,但不能是空格. 例子: <?php $var_char="你好"; echo $var_char; ?> 结果为:你好! 延伸:与c语言等强类型的编程语言不通,php 是一门松散类型的语言,即不需要在设置变量之前 声明该变量.根据变量被设置的方式,php会自动 地将变量转换成正确的数据

C#-01.语法基础

a. 语法基础 i. 命名空间(namespace):是 C# 中组织代码的方式,用来声明命名空间 1. 语法:namespace 命名空间名称{ //命名空间的声明 } 2. 作用:可以把紧密相关的一些代码放在同一个命名空间中,大大提高管理和使用的效率 3. 与 Java 的不同处:Java 的是使用 package(包) 的关键字,作用是与 namespace 类似 i. using 关键字:用来引用其他命名空间 1. 语法:using 类名; 2. 与 Java 的不同处:Java 的是使

iOS复习笔记2:Objective-C语法基础

一 语法基础 1 关键字 关键字基本上都是以@开头,常见关键字如下: @interface,@implement,@end,@public,@private,@selector,@required,@encode等 其他id,self,super等 2 字符串以@开头 @"Hello world!" 3 布尔类型Yes/No 4 空类型nil(值为0) 5 其他C语言语法 二 OC的HelloWorld程序 // helloworld.m #import <Foundation/

java基础知识(2)---语法基础

二:java语法基础: 1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9.a-z.$._ : 注意: 1),数字不可以开头. 2),不可以使用关键字. 3,常量:是在程序中的不会变化的数据. 4,变量:其实就是内存中的一个存储空间,用于存储常量数据. 作用:方便于运算.因为有些数据不确定.所以确定该数据的名词和存储空间. 特点:变量空间可以重复使用

c++笔记——语法基础1

c++笔记将记载一个温习路径,也算一个快速学习的参考吧!(不一定全面,想到什么就写什么.要学习的同志最好是有权威的书坐镇) 笔记大概会有如下有几个部分:语法基础,使用拓展库,实用工程,补充说明 数据类型: 简单类型:(byte = 8 bit,以下所示为32bit系统,bit不同稍有区别:除ab都可以在类型标识unsigned,表示无符号,一般最高位0表示正,1表示﹣,那么其取值范围也可以类推) a) void: 0byte 无值域 void b) bool: 1byte true/false

Javascript语法基础

Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript中的数字不区分整型和浮点型,所有的数字都是以浮点型来表示的. 2.字符串 字符串型是JavaScript中用来表示文本的数据类型,是由Unicode字符.数字和标点符号组成的一个字符串序列.字符串通常都是用单引号或双引号括起来的.如果在字符串中包括着特殊字符,可以使用转义字符来代替.例如: “”