一、python语言规范
1、缩进
ptyhon对缩进非常敏感,缩进使用空格或Tab键来实现,通常采用4个空格或者1个Tab键作为一个缩进量。注意:Tab键和空格不能混用。如果在编写python代码时没有注意缩进规则,代码就会报错。
错误代码:
X=0
if X > 0:
print("正数")
print("是大于0的数")
if X < 0:
print("负数")
正确代码:
X=0
if X > 0:
print("正数")
print("是大于0的数")
if X < 0:
print("负数")
2、注释
2.1 单行注释
python中以"#"作为单行注释符号。#后面的内容都属于注释,会被python编译器忽略不执行。
#这是一个单行注释
#这也是一个单行注释
2.2多行注释
python3以上以3对单引号('''……''')或者3对双引号("""……""")作为多行注释的符号。
'''
打印:1~10
开始:1
结束:10
自增:1
任务:打印每个数字
'''
for a in range(101,50,-1):
print(a)
"""
50~100之间数字:
"""
for a in range(101,50,-1):
print(a)
2.3 变量和常量
2.3.1 变量
无论是使用python还是其他语言编程,我们都需要对数据进行处理。那么这些数据应该存储在什么地方呢?实际上及时将这些数据存储在变量和常量中,他们相当于存储数据的容器。在python当中直接为变量赋值就声明了该变量,不过,变量名并不是随意的,变量规则如下:
- 变量名不能使用python中的保留字。
- 变量名必须是一个有效的标识符。
- 应该定义一个有意义的变量名,简介直观,且不要太长
虽然在定义变量名时,可以选择使用中文和拼音,但是大家不要这样定义变量,尽量使用英文名称。python中使用"="为变量赋值,语法格式如下:
变量名 = 值
每个变量在使用前都必须赋值,变量赋值后才会被创建。= 这个赋值运算符的运算顺序是从右往左。python允许同事为多个变量赋值。建议在定义变量时,= 的左右两侧各使用一个空格隔开。有误空格执行效果相同,主要是为了代码美观。实例如下:
name = "sheldon" #变量名为name,值为sheldon。字符串类型
age = 41 #变量名为age,值为41。 整形变量
nickname = "张三" #变量名为nickname ,值为张三。字符串类型
#输出改变量的值
print(name)
print(41)
print(nickname)
变量可以定以不同的数据类型,而且同一个变量的类型可以随时变换。比如变量name的值为shelldon(字符串类型),我们重新为该变量指定新的值后,该变量的数据类型就会发生变化,如下:
name = 'sheldon' #字符串类型
print(name)
name = 1024 #重新为变量name赋予新值1024
print(name)
注意:一般变量名中含有两个或一回事那个的单词时,可以使用驼峰体或者下划线的方式进行定义;果定义的是函数,则使用小写字母加下划线的方式;如果定义的是类,则使用驼峰体。如下:
staffName = 'Alice' #驼峰体
staff_name = '张三' #下划线形式,python中常用
2.3.2 常量
常亮就是值不变的变量,比如圆周率就是一个常量,实例如下。在Python中的PEP中规定使用大写字母和下划线定义常量
PI = 3.14 #定义常量PI
print(PI)
但是从python的语法角度来讲,并没有使用任何定义常量的保留字。也就是说,常量的值仍然是可以被修改的,且运行程序不会出现任何的错误。python中使用这种形式定义常量只是一个习惯用法,一般情况下,不会去修改常量的值。
二、基本的数据类型
1、数字类型
python中最常用的数据类型就是数字类型,任何形式的数据都可以使用这种数据类型进行保存,比如年龄、分数、价格等。数字类型主要包括整数类型、浮点型和复数类型,这里主要介绍整数类型和浮点类型
1.1 整数类型
整数类型的数据是没有小数点的数值,包括正整数、零和负整数。正数类型有二进制、八进制、十进制、十六进制几种表示形式。在python中使用int表示整形
- 二进制整数:由0和1组成,逢二进一,表示为以ob开头的数字,比如ob00001110(转换成十进制是14)
- 十进制转换为二进制bin()
- 转换为十进制int()
- 八进制整数:由0-7组成,逢八进一,表示为以0o或00开头的数字,比如0o45(转换成十进制数是14)
- 十进制转换八进制oct()
- 十进制整数:由0-9组成,逢十进一,是我么最常见的集中数值类型,比如1234、9034、12等。
- 转换为十进制int()
- 十六进制整数:由0-9、A-F组成,缝十六进一,表示为0X或0x开头的数字,比如0x12转化成十进制数是18,0XAF7(转换成十进制数是2807)。
- 转换为十六进制hex()
- 转换为十进制int()
数字之间最常见的就是计算,我们可以直接在python解释器中进行简单的数值计算,如下:
num1 = 5+8
num2 = -15+7
print(num1)
print(num2)
1.2 浮点类型
浮点类型是含有小数的数值,比如3.14这种数值。浮点类型可以使用科学计数法表示,比如3.8e4.python中使用float表示浮点型。在数值计算过程中,可以通过/运算符返回一个浮点类型的数值,示例如下:
num = 3.14 / 2
print(num)
num1 = 4 / 2
print(num1)
通过上面的数值计算可以看出,无论参与计算的水是否为小数,通过 / 返回的结果都是浮点类型的数据
2、字符串类型
在python中使用' '(单引号)," "(双引号),''' '''(三单引号),""" """(三双引号),括起来的内容表示字符串。 ' '和" "中的字符串必须在一行,''' '''和""" """中的字符串可以在连续多行,这几种字符串的表示方式只是形式上有所不同,语义上没有差别,示例如下:
var1 = 'python'
var2 = "编程语言"
var3 = '''
人生苦短,
111111
222222222
...我用python
'''
print(var1)
print(var2)
print(var3)
3、布尔类型
布尔类型只有两个值,即True(真)和False(假)。python中的布尔值可以转为数值,True表示为1,False表示0,。也就是说,布尔类型的值可以进行数值运算。不过,布尔类型更多的情况下是用于条件判断。
#我们可以通过输出的值为True或者False来判断条件是否成立或者比较两个值是否相等。这里使用==(等于号)来判断两个值是否相等,如果两个值相等则返回True,否则返回False。如下:
num = 1 == -1
print(num)
num1 = 7 == 7
print(num1)
#除了可以比较数值,还可以推Ture和Flase进行比较。如下:
num2 = True == True
print(num2)
num3 = False == False
print(num3)
num4 = True == False
print(num4)
#为变量赋值后也可以进行比较,结果会返回Ture或Flase
ok = 2
no = 3
result = ok == no
print(result)
4、数据类型的转换
虽然python中不需要实现声明变量的类型,但有时需要对数据进行类型转换。python中的数据类型转换需要通过指定的函数进行显示的转换,比如数字和字符串之间的相互转换,这种情况的转换只限于数值和字符串类型的数字之间转换
常用的类型转换函数如下 :
类型转换函数 | 说明 |
---|---|
int(x) | 将X转换为整数类型 |
float(x) | 将X转换为浮点数类型 |
str(x) | 将X转换为字符串 |
chr(x) | 将整数X转换为字符串 |
ord(x) | 将字符X转换为对应的整数值 |
repr(x) | 讲X转换为表达式字符串 |
示例如下:
print(ord('9'))
print(float(6))
print(str(6))
三、输入和输出
python中的基本的输入和输出使用的是input()函数和print().
3.1、input函数
input函数是python中内置的标准函数,使用该函数可以接受用户从键盘输入的数据。无论输入的是字符串还是数字,都会被人做字符串。如果想接受数字类型的数据,需要进行数据类型的转换。使用input()函数接收输入的数据时,需要赋值给变量,语法格式如下
变量名 = input('输入的内容')
如果接收的是字符串类型,可以直接使用input()函数。
如果接收的是整形类型,需要转换函数int()进行转换。
name = input('请输入学生姓名:')
print(name)
age =int(input('请输入学生的年龄:'))
print(age)
3.2、print函数
print函数是python中最常用的输出函数,可以将数据输出到屏幕上,该函数的语法格式如下:
print(输出的数据)
print()函数输出的可以是字符串、数字、表达式。输出字符串时需要使用引号括起来,数字则不需要。如下
print(12)
print('name')
print(2+3)
number = int(input('请输入学号:'))
print(number)
默认情况:一条print()语句输出一段内容会自动换行。如果想输出过个内容,且不自动换行,可以在()中使用英文逗号分隔
name = '张三'
age = 13
number = 65986
print(name,age,number)
四、运算符
4.1 算数运算符
算数运算符 | 说明 |
---|---|
+ | 加:运算符两侧的数据相加 |
- | 减:左侧的数减去右侧的数 |
* | 乘:运算符两侧的数据想乘 |
/ | 除:左侧的数除以右侧的数据,返回浮点类型的数 |
% | 取余:返回左侧数除以右侧数的余数 |
** | 幂:x**y,返回x的y次幂 |
// | 取整:返回商的整数部分 |
代码示例:
print(1.2+3)
print(4-2)
print(5*6.6)
print(4/2)
print(5%2)
print(2**3)
print(7//3)
4.2 赋值运算符
赋值运算符 | 说明 | 示例 |
---|---|---|
= | 赋值:将右边的值赋给左边的变量。 | x = 5 |
+= | 加赋值:将左边变量的值与右边的值相加后,再将结果赋给左边的变量。 | x += 3 # 等同于 x = x + 3 |
-= | 减赋值:将左边变量的值与右边的值相减后,再将结果赋给左边的变量 | x -= 2 # 等同于 x = x - 2 |
*= | 乘赋值:将左边变量的值与右边的值相乘后,再将结果赋给左边的变量 | x *= 4 # 等同于 x = x * 4 |
/= | 将左边变量的值与右边的值相除后,再将结果赋给左边的变量 | x /= 2 # 等同于 x = x / 2 |
%= | 将左边变量的值与右边的值求余后,再将结果赋给左边的变量 | x %= 3 # 等同于 x = x % 3 |
//= | 将左边变量的值与右边的值整除后,再将结果赋给左边的变量 | x //= 2 # 等同于 x = x // 2 |
**= | 将左边变量的值的指数幂与右边的值相乘后,再将结果赋给左边的变量 | x **= 2 # 等同于 x = x ** 2 |
代码示例:
num1 = 10
num1 /= 5
print(num1)
num2 = 3
num2 += 3
print(num2)
num3 = 3
num3 -= num1
print(num2)
num4 = 3
num4 %= 18
print(num4)
4.3 比较运算符
比较运算符 | 说明 | 比较运算符 | 说明 |
---|---|---|---|
> | 大于 | != | 不等于 |
< | 小于 | >= | 大于等于 |
== | 等于 | <= | 小于等于 |
代码示例如下:
x=10
y=20
print(x>y)
print(x==y)
print(x<y)
print(x!=y)
print(x>=y)
print(x<=y)
4.4 逻辑运算符
逻辑运算符 | 说明 |
---|---|
and | 逻辑与:两个操作数都为真,返回Ture |
or | 逻辑或:任何一个操作数为真,就返回Ture |
not | 逻辑非:对操作数进行取反 |
exp1 | exp2 | exp1 and exp2 | exp1 or exp2 | not exp1 |
---|---|---|---|---|
Ture | Ture | Ture | Ture | Flase |
Ture | Flase | Flase | Ture | Flase |
Flase | Flase | Flase | Flase | Ture |
Flase | Ture | Flase | Ture | Ture |
代码示例:
print((1 > 2) and 4) # 表达式1(1>2)结果为Flase,结果返回Flase
print((10>8) or (1>2))#表达式(10>8)的结果为Ture,结果返回Ture
not Flase