目录
一、基础语法
1.1 Python 标识符
1.2 python的保留字
1.3行和缩进
1.4多行语句
1.5 python空行
1.6多个语句构成代码组
二、运算符
2.1算数运算符(+-*/)
2.2关系运算符
2.3赋值运算符
2.4位运算符
2.5逻辑运算符
2.6成员运算符
2.7身份运算符
2.8运算符优先级
三、python模块介绍
3.1 python 数学函数:
3.2随机函数
3.3字符串转义字符
3.4 Python 字符串格式化
在 Python 里,标识符由字母、数字、下划线组成。但不能以数字开头。Python 中的标识符是区分大小写。
以下划线开头的标识符是有特殊意义的:
单下划线开头 _foo :不能直接访问类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入。
双下划线开头的 __foo :代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
变量命名:
Python 可以同一行显示多条语句,方法是用分号 ; 隔开即可,如:
print ('hello');print ('runoob')
保留字不能用作常数或变数,或任何其他标识符名称。 Python 的关键字只包含小写字母。下表显示了Python中的保留字。
Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。 python 最具特色的就是用缩进来写模块。对缩进有严格的要求(所有代码块语句必须包含相同缩进的空格数)
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 没有严格缩进,在执行时会报错
Python语句中一般以新行作为语句的结束符。也可使用斜杠 \ 将一行的语句分为多行显示:
total = item_one + \
item_two + \
item_three
\n 实现换行。一旦用户按下 enter键退出,其它键显示。
若语句中包含 [], {} 或 () 括号就不需要使用多行连接符
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Python 可使用单引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串;
(''' )可以由多行组成,常用于文本注释(单引号 ''' 或三个双引号 """)
print 默认输出是换行的,若要实现不换行需要在变量末尾加上逗号
x="a"; y="b"
print x # 换行输出
print y
print '---------'
print x, # 不换行输出
print y,
print x,y # 不换行输出
函数之间或类的方法之间用空行分隔,类和函数入口之间也用一行空行分隔,以突出函数入口的开始。空行与代码缩进不同,空行并不是Python语法的一部分。不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于代码的维护或重构。
代码组:缩进相同的一组语句构成一个代码块(组)
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。
if expression :
suite
elif expression :
suite
else :
suite
Python 可以使用 -h 参数查看各参数帮助信息:终端输入:python -h
Python语言支持以下类型的运算符:
浮点数(遵循IEEE754标准),在此标准下,在内存中表示浮点数的时候,会存在微小误差。
整数 / 整数 :结果可以是小数
%:取余(余数一定小于除数)
//:地板除法(向下取整)取小,如:7 // 2 = 3; -7 // 2 = -4
print(4**2) #**表示乘方=16
print(4**0.5) # 也可表示根号
print(4**4) #**表示乘方=256
关系表达式的值为布尔类型(true / false)
字典序:也可进行比较(字母在前相当于数值更小,如果·:hello < world ,输出true)
注意!!! print(0.1+0.2 == 0.3),输出false
判断a-b 的差是否是一个非常小的数字,是否在误差范围之内·(python支持连续小于的写法,其他语言不支持)
print(-0.000001 < (a -b)< 0.000001)
python不支持++(--)这样的自增自减操作。(--apython中为a(负负得正))
一般不使用链式赋值(a = b = 20, 先把20赋值给b,再把b的值赋给a )
多元赋值,一步完成交换:
a = 1
b = 2
a,b = b,a
print(a,b) # 输出 2 1
and:两个必须为真(一假则假)
or:一真则真
a = 10
b = 20
c = 30
print(a < b and b < c) #True 等同于print(a < b < c)
print(a < b and b > c) # False
print(a > b or b < c) # #True
print(a < b or b > c) # #True
print(a > b or b > c) # False
短路求值:
对于大多数语言都有短路求值,如C/C++/Java
对于and操作:若左侧为false,整体一定是false,右侧表达式不必求值
对于or操作:若左侧为true,整体一定是true
a = 10
b = 20
print(a > b and 10 / 0 == 1) # (短路求值)输出false,因为a > b不成立为假,故整个表达式为假,不执行后面操作,故输出false
print(a < b and 10 / 0 == 1) # 编译报错,右边除数不能为0 a < b 成立,继续判断右边表达式是否成立,
Python 中数学运算常用的函数基本都在 math、cmath 模块中。 math 模块提供了许多对浮点数的数学运算函数。cmath 模块包含了一些用于复数运算的函数。使用 math 或 cmath 函数必须先导入:import math/cmath
var1 = 'Hello World!'
var2 = "Python Runoob"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。Python 访问子字符串,可以使用方括号来截取字符串
在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符
格式化字符串:f - string ( f 表示format )
a = 10
b = "'hello' python!!!"
c = 'hello "python"'
print(b,c) # 'hello' python!!! hello "python"
print(f"a = {a}") # 输出 a = 10
print(f"b = {b}") # 输出b = 'hello' python!!!
print(f"b = {b+c}") #'hello' python!!!hello "python"
Python 支持格式化字符串的输出 。但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
print ("My name is %s and weight is %d kg!" % ('Zara', 21)) #My name is Zara and weight is 21 kg!
python 字符串格式化符号: