二、Python 语言基础
1、语法规范
缩进
Python 对缩进非常敏感,缩进使用空格或 Tab 键来实现,通常 4 个空格或 1 个 Tab 键作为 1 个 缩进量。注意:Tab 键和空格键不能混用。
正确缩进:
x = 0 if x > 0: print("正数") print("是大于0的数") if x < 0: print("负数")
注释
单行注释:Python 以 # 为单行注释的符号。
# 这是单行注释 print("Hello World") #在屏幕上输出字符串
多行注释:Python 以 3 对单引号( ‘’‘…’‘’ ) 或 3 对双引号( “”“…”“” ) 作为多行注释的符号。
''' 这种形式是多行注释,可以对下面的代码端进行说明 文件名:text.py 功能描述:此函数用于输出姓名和性别 ''' def people(name,sex): print("姓名:",name) print("性别:",sex)
一般为了页面的规范和及时了解文件所用的编码,会在代码文件的开头加上注释,来指定代码文件使用的字符代码类型。例:
# coding=utf-8 # _*_ coding:utf-8 _*_
保留字和标识符
1、保留字是 Python 语言中已经被赋予特殊含义的英文字母。用户不可以使用这些保留字为变量、函数、类、模块等命名。
import keyword keyword.kwlist
结果:
如果使用了保留字作为变量、函数等名称,运行程序时会提示 SyntaxError: invalid syntax(语法错误:无效的语法) 错误。
2、
- 标识符区分大小写。比如 age 和 Age 是两个不同的标识符。
- 标识符不能以数字开头。比如 4num、13_small 是错误的标识符。
- 不能使用 Python 中的保留字作为标识符,比如 “年龄 = 31“。
注:
以单下划线开头的标识符( 比如 _name ) 表示不能直接访问类属性,需通过类提供的接口进行访问,也不能以
from xxx import *
的形式导入。
以双下划线开头的标识符(比如 _ _name ) 表示类的私有成员。
以双下划线开头和结尾的标识符( 比如 _ _ init _ _ ) 表示 Python 中特殊方法专用的标识。
标量和常量
1、变量规则:
- 变量名不能使用 Python 中的保留字。
- 变量名必须是一个有效的标识符。
- 应该定义有意义的变量名、简洁直观,且不要太长。
2、语法格式:
变量名 = 值
示例:
3、变量可以定义为不同的数据类型,而且同一个变量的类型可以随时变换。
示例:
4、、如果两个名称不同的变量指定的值是相同的,那么变量的内存地址也是相同的。使用 id() 函数查看变量的内存地址,如:
5、一般变量名中含有两个或两个以上的单词时,可以使用驼峰体或下划线的方式进行定义。如果定义的是函数,则使用小写字母加下划线的方式;如果定义的是类,则使用驼峰体。示例:
staffName = "Alice" #驼峰体,Java中常用 staff_name = "Alice" #下划线形式,Python中常用
2、基本数据类型
数字类型
数字类型主要包括整数类型、浮点类型和复数类型。
1、整数类型
Python 中使用 int 表示整型。
- 二进制整数:由 0 和 1 组成,表示为以 0b 开头的数字,比如 0b00001110(十进制为 14)。
- 八进制整数:由 0 ~ 7 组成,表示为以 0o 或 0O 开头的数字,比如 0o45(十进制为 37)、0O135(十进制为 93)。
- 十进制整数:由 0 ~ 9 组成,比如 1234、9302、83等。
- 十六进制整数:由 0 ~ 9、A ~ F 组成,表示为以 0x 或 0X 开头的数字,比如 0x12(十进制为 18)、0XAF7(十进制是 2807)。
2、浮点类型
浮点类型可以使用科学计数法表示,比如 3.8e4.Python中使用 float 表示浮点型。
3、
无论参与计算的数值是否为小数,通过 / 运算符返回的结果都是浮点类型的数据。
字符串类型
1、在 Python 中使用 ‘ ’(单引号)、” “(双引号)、‘’‘ ’‘’ 和 ”“” “”“(三引号)括起来的内容表示字符串。‘ ’ 和 ” “ 中的字符串必须在一行,‘’‘ ’‘’ 和 “”“ ”“” 中的字符串可以在连续的多行。示例:
2、在输入变量 var3 的值时,会在每行的结尾新增一个 \n(换行符)。==如果不想输出这个换行符,可以在输出的每行字符串的最后加上 \ ,==示例:
3、一般情况下,输出的字符串用单括号括起来。如果我们输入的字符串中包含了引号,就可能用到 Python 中得转义字符。
==转义字符指使用 \(反斜杠)对一些特殊字符进行转义。示例:
- 如果使用双引号括起输入的字符串:
- 如果使用单引号括起输入的字符串:
遇到这种情况,将 \ 放在需要原样输出的字符面前,示例:
4、常用转义字符
转义字符 说明 \ 续行符,用在行尾 \\ 反斜杠符号 \n 换行符 \’ 单引号 \'’ 双引号 \r 回车 \t 水平制表符 5、在不使用转义字符的情况下,将特殊字符原样输出,可以在字符串前面加上字母 r ,则会原样输出,示例:
布尔类型
1、布尔类型只有两个值,即 True(真)和 False(假)。
True 表示 1 ,False 表示 0 。(布尔类型的值可以进行数值运算,但更多情况下是用于条件判断。)
==使用 (等于号)判断两个数值是否相等,示例:
2、可以对 True 和 False 进行比较,示例:
3、为变量赋值后,也可以进行比较,示例:
数据类型的转换
1、Python 中的数据类型转换需要通过指定的函数进行显式的转换,示例:
2、常用类型转换函数:
类型转换函数 说明 int(x) 将x转换为整数类型 float(x) 将x转换为浮点类型 str(x) 将x转换为字符串 chr(x) 将整数x转换为字符串(ASCII码) ord(x) 将字符x转换为对应的整数值(ASCII码) repr(x) 将x转换为表达式字符串 示例:
3、运算符
算术运算符
1、常用的算术运算符:
算数运算符 说明 + 加:运算符两侧的数相加 - 减:左侧的数减右侧的数 * 乘:运算符两侧的数相乘 / 除:左侧的数除以右侧的数,返回浮点类型的数 % 取余:返回左侧数除以右侧数的余数 ** 幂:x**y,返回x的y次幂 // 取整:返回商的整数部分 示例:
2、在使用 / 和 // 时,除数不能为 0 ,否则计算会出错,提示出现 ZeroDivisionError 错误。
3、当运算符两侧操作数存在负数的情况下,/ 和 // 返回的计算结果也是负数。
4、当 % 左侧的数为负数时,返回的结果为正数;
当 % 右侧的数为负数时,返回的结果为负数。示例:
从 % 的运算结果可以看出:% 的运算结果始终与第 2 个操作数保持相同的符号。
赋值运算符
常见的赋值运算符:
赋值运算符 说明 示例 = 赋值:将右侧的值赋给左侧 x = 10 += 加赋值:将左侧的值和右侧的值相加后赋值给左侧 x += 3 等价于x = x + 3 -= 减赋值:将左侧的值和右侧的值相减后赋值给左侧 x -= 3等价于x = x - 3 *= 乘赋值:将左侧的值和右侧的值相乘后赋值给左侧 x *= 3等价于x = x * 3 /= 除赋值:将左侧的值和右侧的值相除后赋值给左侧 x /= 3等价于x = x / 3 %= 取余赋值:将左侧的值除以右侧的值取余后赋值给左侧 x %= 3等价于x = x % 3 **= 幂赋值:将左侧的值按右侧的值取幂后赋值给左侧 x **= 3等价于x = x * * 3 //= 取整赋值:将左侧的值除以右侧的值取整后赋值给左侧 x //= 3等价于x = x // 3 示例:
比较运算符
比较运算符返回的结果是布尔类型,即 True 或 False。
1、常用的比较运算符:
比较运算符 说明 > 大于 < 小于 == 等于 != 不等于 >= 大于等于 <= 小于等于 示例:
2、不仅可以比较数字类型的数据,还可以比较字符串等其他类型的数据。
示例:
3、判断一个变量是否在指定的范围内,可以使用 “值1 < 变量 < 值2” 的形式进行表达
示例:
4、注意区分 = 和 ==。
逻辑运算符
1、常用的逻辑运算符:
逻辑运算符 说明 and 逻辑与:两个操作数都为真,才返回True or 逻辑或:任何一个操作数为真,就返回True not 逻辑非:对操作数进行取反 示例:
2、在使用 and 进行计算的过程中,只要从某一个表达式中判断出值为 False,则不必计算后面的表达式的值,就可以得出整体结果为 False。对于 or 来说,只要从某一个表达式中判断出值为 True,就可以直接得出最终结果为 True。
位运算符
位运算符主要针对的是二进制数。
1、常用的位运算符:
位运算符 说明 & 按位与 | 按位或 ~ 按位取反 ^ 按位异或 << 按位左移 >> 按位右移 2、按位与 &
两个二进制操作数只有对应的位都为 1 时,结果为才为 1,否则为 0。
0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 &
0 0 0 0 1 0 1 0 示例:
3、按位或 |
两个二进制操作数只有对应的位都为 0 时,结果为才为 0,否则为 1。
0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 |
0 0 0 0 1 0 1 1 示例:
4、按位取反 ~
将操作数中的二进制操作数 1 变为 0,0 变成 1。
0 0 0 0 1 0 1 1 ~
1 1 1 1 0 1 0 0 示例:
5、按位异或 ^
若两个二进制操作数对应的位相同(同为 0 或同为 1)时,结果位为 0 ,否则为 1。
0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 ^
0 0 0 1 1 0 0 1
示例:
6、按位左移 <<
将一个二进制操作数向左移动指定的位数。
左边(高位)溢出的位数会被丢弃,右边(低位)空出的位置用 0 填补。
按位左移相当于乘以 2 的 n 次幂示例:
7、按位右移 >>
将一个二进制操作数向右移动指定的位数。
右边(低位)溢出的位数会被丢弃,对于左边(高位)空出的位置,如果最高位是 0(正数),则左侧填充 0,如果最高位是 1(负数),则左边填充 1。
按位右移相当于除以 2 的 n 次幂示例:
8、在进行位运算时,二进制的负数会涉及补码。正整数的补码与原码形式相同,负数的补码为该数的反码加 1。
例如:10000101(原)→(补)11111010 + 1 = 11111011(符号位不变)
运算符的优先级
按优先级从高到低排列 说明 () 小括号 ** 幂 ~ 取反 +、- 正号、负号 *、/、%、// 乘、除、取余、取整 +、- 加、减 <<、>> 按位左移、按位右移 & 按位与 ^ 按位异或 | 按位或 <、<=、>、>=、!=、== 小于、小于等于、大于、大于等于、不等于、等于 not 逻辑非 and、or 逻辑与、逻辑或
4、基本的输入与输出
input() 函数
input() 函数是 Python 中内置的标准输入函数,使用该函数可以接收用户从键盘输入的数据。
语法格式:
变量名 = input("输入的内容")
示例:
name = input("请输入学生的姓名:") 请输入学生的姓名:小新
print() 函数
print() 函数是 Python 中常用的基本输出函数,可以将数据输出到屏幕上。
语法格式:
print(输出的数据)
1、输出字符串是需要使用引号括起来,数字则不需要。
示例:
(若字符串已定义为数字,可不使用引号括起来)
2、默认情况,一条 print() 语句输出一段内容,然后自动换行。
如果想输出多个内容,且不自动换行,可以在 () 中使用英文半角逗号分隔。示例:
5、华氏温度和摄氏温度之间的转换
示例:
C = float(input("请输入摄氏温度:")) F = 1.8 * C + 32 # 摄氏温度转华氏温度的计算公式 print("对应的华氏温度为:",F) f = float(input("请输入华氏温度:")) c = (f - 32) / 1.8 # 华氏温度转摄氏温度的计算公式 print("对应的摄氏温度为:",c)
运行效果:
(记:除中文外的几乎一切字符串都用英Eng键盘为,否则往往会 ‘ SyntaxError; ’ 。)