文章目录
Python核心编程 — 基础语法
1.第一个Python程序
print("Hello Python");
2.注释
定义:编写程序时,给一个语句、程序段、函数的解释或提示。
作用:起到一个备注的作用,提高程序代码的可读性,以便于后期的参考、修改。
-
特殊注释:在py文件首行#!/usr/bin/python3;# --coding=utf-8 --,这两句分别表示Python解析器的路径,指定编码格式。
-
单行注释:# 注释内容
-
多行注释: “”“注释内容”“”
# 单行注释
# print("hello")
# 多行注释
"""
print("我的名字叫小明")
print("我的性别为男")
print("我今年18岁了")
"""
3.使用变量与数据类型
3.1 变量的定义
变量是程序中临时存放数据的场所,一段有名字的连续存储的空间,可通过定义变量来申请并命名该存储关键,通过变量名来使用该存储空间。
a = 10 # 定义一个名称为a的变量
a = 20 # 变量可多次赋值
print(a) # 变量需先定义再使用
注意:
-
赋值变量时不需要指定数据类型
-
给该变量赋值什么数据类型,变量就是什么数据类型
3.2 基本数据类型
3.3 type()语句
作用:查看变量是一个什么数据类型。
a = 10
print(type(a))
b = 3.14
print(type(b))
c = 'he'
print(type(c))
d = True
print(type(d))
e = []
print(type(e))
f = ()
print(type(f))
g = {}
print(type(g))ype(d))
3.4 变量命名规则
-
必须以字母或者下划线开头
-
其他字符可以是字母,数字或下划线
-
变量区分大小写
-
不能将Python关键字用作变量名
查看Python关键字:
Name_1 = "小明"
2_Name = "小红" # 报错
_Name3 = "小王"
False = 3.14 # 报错
class Name4 = "小张" # 报错
命名规范:
-
见名知意,尽量用有语义的单词进行命名。
-
小驼峰式命名:第一个单词首字母小写其他单词首字母大写,myName
-
大驼峰式命名:全部单词首字母都大写,如MyName
-
下划线命名:每个单词用_下划线进行连接,如my_name
4.基本运算符
4.1 算术运算符
算术运算符 | 作用描述 | 示例 |
---|---|---|
+ | 算术加法 | a + b = 2 |
- | 算术减法 | a - b = 1 |
* | 算术乘法 | a * b = 10 |
** | 左边的数为底数,右边为指数 | a ** b = 8 |
% | 取余数 | a % b = 1 |
/ | 除法,结果包含小数点后面的数 | a / b = 3.3333 |
// | 整除,结果不包含小数点后的数 | a // b = 3 |
a = 10
b = 3
print(f"a + b = {a + b}")
print(f"a - b = {a - b}")
print(f"a * b = {a * b}")
print(f"a / b = {a / b}")
print(f"a ** b = {a ** b}")
print(f"a % b = {a % b}")
print(f"a // b = {a // b}")
4.2 比较运算符
比较运算符 | 名称 | 示例 | 描述 |
---|---|---|---|
== | 等于 | x == y | 判断内容是否相等,满足为True,否则为False |
!= | 不等于 | x != y | 判断内容是否不相等,满足为True,否则为False |
> | 大于 | x > y | 判断左侧内容是否大于右侧内容,满足为True,否则为False |
< | 小于 | x < y | 判断左侧内容是否小于右侧内容,满足为True,否则为False |
>= | 大于或等于 | x >= y | 判断左侧内容是否大于等于右侧内容,满足为True,否则为False |
<= | 小于或等于 | x <= y | 判断左侧内容是否小于等于右侧内容,满足为True,否则为False |
a = 10
b = 3
print(f"a == b = {a == b}")
print(f"a != b = {a != b}")
print(f"a > b = {a > b}")
print(f"a < b = {a < b}")
print(f"a >= b = {a >= b}")
print(f"a <= b = {a <= b}")
4.3 逻辑运算符
逻辑运算符 | 示例 | 描述 |
---|---|---|
and | a and b | a, b同为真,结果为真,其中有一个为假,结果就为假 |
or | a or b | a, b有一个为真,结果为真,全部为假,结果就为假 |
not | not a | 取反,如果a为假,结果为真,如果a为真,结果就为假 |
a, b, c, d = 1, 2, 3, 4
print(f"a+b>d and c+d>a = {a+b>d and c+d>a}")
print(f"a+c>b or a+b>d = {a+c>b or a+b>d}")
print(f"not a = {not a}")
4.4 赋值运算符
赋值运算符 | 描述 | 结果 |
---|---|---|
= | 赋值运算符 | =右边的值赋给左边的变量 |
+= | 加法赋值运算符 | a += b 等效于 a = a + b |
-= | 减法赋值运算符 | a -= b 等效于 a = a - b |
*= | 乘法赋值运算符 | a *= b 等效于 a = a * b |
/= | 除法赋值运算符 | a /= b 等效于 a = a / b |
%= | 取模赋值运算符 | a %= b 等效于 a = a % b |
**= | 幂赋值运算符 | a **= b 等效于 a = a ** b |
//= | 取整除赋值运算符 | a //= b 等效于 a = a // b |
a = 10
b = 3
a = b
print(f"a = b = {a}")
a = 10
b = 3
a += b
print(f"a += b = {a}")
a = 10
b = 3
a -= b
print(f"a -= b = {a}")
a = 10
b = 3
a *= b
print(f"a *= b = {a}")
a = 10
b = 3
a /= b
print(f"a /= b = {a}")
a = 10
b = 3
a %= b
print(f"a %= b = {a}")
a = 10
b = 3
a **= b
print(f"a **= b = {a}")
a = 10
b = 3
a //= b
print(f"a //= b = {a}")
5.输入与输出
5.1 print
作用:输出打印
变量的输出:
print("Hello")
print("Python")
字符串格式化
使用%作为占位符,%后面跟变量的数据类型。
格式符号 | 转换 |
---|---|
%c | 字符 |
%s | 通过str()字符串转换来格式化 |
%i | 有符号十进制整数 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 索引符号(小写‘‘e‘’) |
%E | 索引符号(大写‘‘E‘’) |
%f | 浮点实数 |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
name1 = "小明"
name2 = "小红"
age = 18
print("我的名字是%s" % name1)
print("我的名字是%s,年龄是%d" % (name2, age))
其他输出方式:
.format()
name1 = "小明"
name2 = "小红"
age = 18
print("我的名字是{}".format(name1))
print("我的名字是{},年龄是{}".format(name2, age))
5.2 input
作用:获取键盘输入
input接收的键盘输入结果都是str类型,如果接收其他类型需要转换。
name = input("请输入你的名字:")
age = int(input("请输入你的年龄:"))
print("我的名字是{},年龄是{}".format(name, age))
6.判断语句与循环控制
6.1流程控制结构:
流程:计算机执行代码的顺序
流程控制:对计算机代码执行的顺序进行有效的管理。
流程控制的分类:
-
顺序流程:代码一种自上而下的执行结构,默认的流程
-
选择流程/分支流程:据某一步的判断,有选择性地区执行相应的逻辑
-
循环流程:在满足一定条件下,一直重复执行某段代码的逻辑
6.2 选择流程
6.2.1 单分支
语法结构:
if 条件表达式:
执行语句1
执行语句2
.....
执行语句n
age = 18
if age >= 18:
print("你已成年!")
print("运行结束")
6.2.2 双分支
语法结构:
if 条件表达式:
执行语句1
执行语句2
.....
执行语句n
else:
执行语句1
执行语句2
.....
执行语句n
age = 16
if age >= 18:
print("你已成年!")
else:
print("未成年")
6.2.3 多分支
语法结构:
if 条件表达式:
执行语句1
执行语句2
.....
执行语句n
elif 条件表达式:
执行语句1
执行语句2
.....
执行语句n
elif 条件表达式:
执行语句1
执行语句2
.....
执行语句n
…
else:
执行语句1
执行语句2
.....
执行语句n
score = int(input("请输入你的成绩:"))
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("E")
6.2.4 嵌套使用
num = int(input("请输入一个数字:"))
if num % 2 == 0:
if num %3 == 0:
print(f"{num}可被2和3整除")
else:
print(f"{num}不可被2和3整除")
else:
if num %3 == 0:
print(f"{num}可被3整除")
6.3 循环流程
6.3.1 while循环
特点:
-
初始值
-
条件表达式
-
变量的自增自减,否则会造成死循环
语法结构:while 条件表达式:
执行代码
# 输出1-100
index = 1
while index <= 100:
print(index)
index += 1
嵌套使用:
语法结构:
while 条件1:
满足条件1时,执行的代码
满足条件1时,执行的代码
满足条件1时,执行的代码
while 条件2:
满足条件2时,执行的代码
满足条件1时,执行的代码
i=1
while i < 10:
j=1
while j <= i:
print(f"{j}*{i}={i*j}\t", end=' ')
j+=1
print()
i+=1
6.3.2 for循环
语法结构:
for 临时变量 in 容器:
执行代码
my_str = "Hello"
for i in my_str:
print(i)
range 语句
作用:生成一个数据集合列表
语法结构:range(起始: 结束: 步长)
for i in range(0, 10):
print(i)
6.3.3 break、continue
break:跳出循环
continue:跳出本次循环,继续下一次循环。
# break
for i in range(0, 10):
if i % 2 == 0:
break
print(i, end=' ') #
# continue
for i in range(0, 10):
if i % 2 == 0:
continue
print(i, end=' ') # 1 3 5 7 9