Python基础语法
1 Python常用语法
1.1 输出
python中用于输出的指令为print( ),输出的结果为 ( ) 中的内容,常见实例如:
注意
a = 1 print(a)#此处输出的结果为1 print('a')# 此处输出的结果为a
产生差异的原因是print(a)中的a为一个变量名,输出变量被赋值的结果
如果未对a进行赋值,直接输出print(a),会替术出现错误:name 'a' is not defined
print('a')中'a'为一个字符串
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end='':
1.2 注释
Python中单行注释以#开头,例如
Python中多行注释可以使用''' ''' ,和""" """,例如:1.3 行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
print("True")
else:
print('False')
#缩进一致,代码正确
if True:
print("True")
else:
print("Flase")#缩进错误,运行会报错
1.4 多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:
实例:item_one = 1
item_two = 2
item_three =3
total = item_one +\
item_two +\
item_three
print(total)
#结果输出为6
1.5 输入字段
Python中用于输入内容的语句为input(),实例:
2 变量和数据类型
2.1 标识符(可以简单理解为变量名称)
- 1、第一个字符必须是字母(a-z,A-Z)或下划线 _
- 2、标识符的其他部分由字母数字和下划线组成
- 3、标识符对大小写是十分敏感的,Num和num是不同的标识符
- 4、标识符对长度无硬性要求,但一般要求保持简洁(不超过10个字符)
- 5、禁止使用关键字(保留字),如 if、break、class、elif 等不能作为标识符
2.1.1 合法标识符:
#合法标识符举例
age = 25
user_name = 'rongshiwang'
user_class = 'math'
user_grade_1 = 100
user_grade_2 = 200
2.1.2 非法标识符:
#非法标识符举例
2_user_grade = 100 #标识符以数字开头
user-name = 'rongshiwang' #标识符中出现特殊字符‘-’
if = 25 #标识符中出现保留关键字:if
¥class = 12 #标识符中出现非法字符‘¥’
2.1.3 python关键字
python关键字(保留字),我们不能把python关键字用做任何标识符名称,python当前所有关键字如下:
类别 | 关键字 | 说明 | |
---|---|---|
逻辑值 |
True | 布尔真值 |
|
False | 布尔假值 |
|
None | 表示空值或无值 |
逻辑运算 |
and | 表示“与”,当逻辑值全部为真时,结果才为真 |
|
or | 表示“或,当一个逻辑值为真时,结果就为真 |
|
not | 表示“非”,用于对布尔值进行取反操作 |
条件控制 |
if | 条件判断语句 |
|
elif | 否则如果(else if 的缩写) |
|
else | 否则 |
循环控制 |
for | 迭代循环 |
|
while | 条件循环 |
|
break | 跳出循环 |
|
cintinue | 跳出当前循环的剩余部分,进入下一次迭代 |
异常处理 |
try | 尝试执行代码块 |
|
except | 捕获异常 |
|
finally | 无论是否发生异常都会执行的代码块 |
|
raise | 抛出代码块 |
函数定义 |
def | 定义函数 |
|
return | 从函数返回值 |
类与对象 |
class | 定义类 |
|
del | 删除对象引用 |
模块导入 |
import | 导入模块 |
|
from | 从模块带入特定部分 |
|
as | 为导入的模块或对象创建别名 |
作用域 |
global | 声明全局变量 |
|
nonlocal | 声明非局部变量(用于嵌套函数) |
其他 |
assert | 断言,用于测试条件是否为真 |
|
in | 检测成员关系 |
|
is | 检查对象身份(是否为同一个对象) |
|
pass | 空语句,用于占位 |
|
with | 上下文管理器,用于资源管理 |
|
yield | 从生成函数返回值 |
2.2变量声明和赋值
使用赋值符号=
来给变量赋值。左边是变量名(1),右边是变量值。python中所有变量值都是对象,变量名只是对象值的引用。
- 变量名的命名规则有:
- 变量名只能包含字母、数字和下划线
- 变量名不能以数字开头
- 变量名区分大小写
- 变量名不能与关键字重复
什么是变量
有两个不准确的比喻:
- 有人把变量比作一个盒子,这个盒子可以装任何东西。这个比喻体现了一个变量名只能指代一个对象,没问题。
- 有人把变量比作人的名字,必须通过名字才能指代这个人。这个比喻体现了一个变量值必须赋值给一个变量名,通过这个变量名才能找到从而使用这个变量值,也没问题。
这两个比喻的问题在于,变量名和变量值其实不是绑定的,多个变量名可以同时指向同一个对象。
所以最准确的比喻是变量名是一个标签,变量值是真实的物体;标签可以贴在任何东西上,然后我们就可以通过这个标签来找到这个东西。一个东西上可以贴多个标签,但是一个标签只能贴在一个东西上。
问问ai:
2.2.1 单变量赋值
2.2.2 多变量赋值
python允许使用者同时为多个变量赋值,例如:
使用者也可以为多个变量同时指定多个值,例如下面代码,通过以下实例,将整数型1和2分配给变量a和b,字符串对象“xiaoming”分配给c2.3 基本数据类型
- 数字类型(int, float, complex)
- 字符串(str)
- 布尔值(bool)
- 空值(None)
3 运算符
3.1 算术运算符
3.2 比较运算符
比较运算符用于比较两个对象之间的关系,比较运算输出的结果为一个布尔值,常见的比较运算符如下
3.3 逻辑运算符
逻辑运算符有三个,分别是and、or和not。 and 字面意思是“而且”,所以and运算符会连接两个布尔值或者产生布尔值的表达式,如果两边的布尔值都是True,那么运算的结果就是True;当 左右两边任意出现一个False的布尔值,最终的结果都是False。 Or 字面意思或者,当or的左右两边任意一个为True时,结果都为True,当左右两边都为False时,最终结果才为False。 Not 表是否,not运算符的后面可以跟一个布尔值,如果not后面的布尔值或表达式是True,那么运算的结果就是False;如果not后面的布尔值或表达式是False,那么运算的结果就是True。
a = 5
b = 6
equal_1 = a>b
equal_2 = a<b
print(equal_1 and equal_2) #结果为Fasle
print(equal_1 or equal_2) #结果为True
print(not equal_1) #结果为True
print(not equal_1 and equal_2) #结果为True
4 控制流程
4.1 使用if和else构造分支结构
在 Python 中,构造分支结构最常用的是if、elif和else三个关键字。所谓关键字就是编程语言中有特殊含义的单词,不能够使用它作为变量名,一般的if条件判断语句结构如下:
'''
if 判断条件1 :
运算公式1
print('输出结果1')
elif 判断条件2 :
运算公式2
print('输出结果2')
else:
运算公式3
print('输出结果3')
'''
#实例应用
weight =float(input('输入你的体重:kg'))
height =float(input('输入你的身高:cm'))
bmi = weight / (height/100) **2
if bmi<18.5:
print('您的体重过轻')
elif bmi<24:
print('您的身材很棒')
elif bmi<30:
print('您的体重过重')
else:
print('您已经过度肥胖了')
#实例应用2
x = float(input('X = '))
if x > 1:
y = 3*x-5
elif x>= -1:
y = x+2
elif x<-1:
y =5*x+3
print('最终的结果为:%d'%y)
5 循环结构
循环结构,是指程序中控制某条或某些指令重复执行的结构。在 Python 语言中构造循环结构有两种做法,一种是for-in循环,另一种是while循环。
5.1 for-in循环
如果明确知道循环执行的次数,推荐使用for-in循环,被for-in循环控制的代码块称为循环体,通常循环体中的语句会根据循环的设定被重复执行。
#例子1
for i in range(5):
print(i)
'''
结果为
0
1
2
3
4
'''
#例子2
fruit_basket = ['apple','banana','watermelon','strawberry']
for fruit in fruit_basket:
print('每次想要吃的水果为:%s'%fruit)
'''
#结果为
每次想要吃的水果为:apple
每次想要吃的水果为:banana
每次想要吃的水果为:watermelon
每次想要吃的水果为:strawberry
'''
#例子三:实现1到100的求和
total = 0
for i in range(1, 101):
total += i
print(total)
#最终结果为5050
#注意print(total)前面未进行缩进,说明此代码不受for-in循环的控制,不会重复执行
5.2 while循环
如果要构造循环结构但是又不能确定循环重复的次数,我们推荐使用while循环。while循环通过布尔值或能产生布尔值的表达式来控制循环,当布尔值或表达式的值为True时,循环体(while语句下方保持相同缩进的代码块)中的语句就会被重复执行,当表达式的值为False时,结束循环。 下面用while循环来实现从 1 到 100 的整数求和,代码如下所示:
total = 0
i = 1
while i<=100:
total = total + i
i = i +1
print('1到100的总和为%d'%total)
#输出结果为:1到100的总和为5050
5.3 嵌套的循环结构
循环结构是可以嵌套的,即在循环结构中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个乘法口诀表(九九表)。
for i in range(1,10):
for j in range(1,i+1):
print(f'{i}x{j}={i*j}',end='\t')
print() #用于换行
'''
#输出的结果为:
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
'''
6 函数
6.1 函数定义和调用
6.2 函数参数
# 默认参数
def power(x, n=2):
return x ** n
# 可变参数
def sum(*numbers):
return sum(numbers)
# 关键字参数
def person(name, *, age, city):
print(f"{name}来自{city},今年{age}岁")
练习题
- 编写一个函数,计算给定数字的阶乘
- 实现一个简单的计算器,支持基本的四则运算
- 编写程序判断一个数是否为质数
小结
- 掌握Python的基本语法规则
- 理解不同数据类型的使用
- 熟练运用各种运算符
- 掌握控制流程语句
- 能够定义和使用函数