Python 基础语法元素
第一部分 数据类型
1. 基本类型:数字、字符串、布尔
1.1 数字类型
- int 整型 整数
2
2
- float 浮点型 带小数的数
2.0
2.0
- comples 复数 a+bj
3+4j
(3+4j)
1.2 字符串类型
- str 字符串 视作文本
- 组成:由数字、字母、空格、其他字符等组合而成
- 表达:用 “” 或 ‘’
"python 123"
'python 123'
1.3 布尔类型
- bool 布尔类型
- 主要用于逻辑运算
y = 2 < 1
y
False
上述类型均可定义单个数据。
但如果我们有一组数据呢?
2. 组合类型:列表、元组、字典、集合
2.1 列表
- list 列表 序列类型:数据有位置顺序
- 表示方式:[data1,data2…]
a=[1,2,3,4,5]
a[0]
1
2.2 元组
- tuple 元组 序列类型
- 表示方式:(data1,data2…)
- 元素不支持修改–“不可变的列表”
b=(1,2,3,4,5)
b[0]
1
2.3 字典
- dict 字典 映射类型:通过 键:值 的映射实现数据存储和查找
- 表示方式:{key1:value1,key2:value2,…}
- 无序
student={201:"ming",202:"uzi",203:"mlxg"}
student[202]
'uzi'
2.4 集合
- set 集合 一系列互不相等元素的集合,无序的
- 表示方式:{data1,data2…}
s={"uzi","uzi","ming","mlxg"}
s=
File "<ipython-input-13-d16b538eb3d8>", line 2
s=
^
SyntaxError: invalid syntax
在程序中,我们如何来引用这些数据?
赋值给一个变量
第二部分 变量
1.变量的概念
- “量” 实实在在的对象:数据、抽象
- “变” 可变性:增、删、查、改
- 变量定义二要素: 变量名、赋值
x=1
2. 变量的命名
2.1 变量名
- 大小写字母、数字、下划线、汉字及其组合。
- 严格区分大小写
Python_is_最好的语言=True
Python_is_最好的语言=False
2.2不被允许的情况
- 首字母不被允许数字
1_RNG="uzi"
File "<ipython-input-12-d9fd9256b3f9>", line 1
1_RNG="uzi"
^
SyntaxError: invalid token
- 变量名中间不能有空格
F RNG="uzi"
File "<ipython-input-11-cb634fb0e9a3>", line 1
F RNG="uzi"
^
SyntaxError: invalid syntax
- 不能与33个 Python 保留字的相同
2.3 变量名定义技巧
- 实际意义
a=[17,18]
age_of_students=[17,18]
-
下划线(推荐:变量和函数名)变量名由多个单词组成:用 _ 连接多个单词
-
驼峰体(推荐:类名)变量名由多个单词组成:单词首字母大写
AgeOfStudents
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-19-b99c10bdabd7> in <module>
----> 1 AgeOfStudents
NameError: name 'AgeOfStudents' is not defined
-
尽量避免用中文和拼音做变量名
-
特殊变量:常量 变量名所有字母均大写
π
3. 变量的赋值
3.1 一般赋值
- 通过等号自右向左进行赋值
x=1+2
x
3
3.2 增量赋值
x=10
x=x+10
x
20
x+=10
x
30
3.3 打包赋值
x,y=1,2
print(x,y)
1 2
第三部分 控制流程
1. 顺序流程
- 自上而下依次运行
实现1到5的整数求和
# res=1+2+3+4+5
res=0 #赋初始值
res+=1
res+=2
res+=3
res+=4
res+=5
res # 显示结果
15
2. 循环流程——遍历循环(for)
主要形式:
- for 元素 in 可迭代对象:
执行语句
执行过程:
- 从可迭代对象中,依次取出每一个元素,并进行相应操作
实现1到5的整数求和
res=0
for i in [1,2,3,4,5]:
res+=i
res
15
3. 循环过程——无限循环(while)
主要形式:
- while 判断条件:
- 条件为真,执行语句
- 条件为假, while 循环结束
实现1到5的整数求和
i=1
res=0
while i<=5:
res+=i
i+=1
res
15
4. 分支流程(if)
最简单的形式:
- if 判断条件:
- 条件为真,执行语句
- else:
- 条件为假,执行语句
age=18
if age>22:
print("结婚")
else:
print("再等等")
再等等
第四部分 输入输出
1. 数据从哪里来?
1. 外部文件导入
2. 程序中定义
age = 18
3. 动态交互输入 input
- 在程序运行过程中输入
x=input("请输入一个数字:")
x
请输入一个字母:4
'4'
- eval()去掉引号
x=eval(input("输入一个数字:"))
x
输入一个数字:4
4
2. 数据到哪里去?
1. 存储到本地
2. 打印输出 print
- 直接打印数据
print(1234)
1234
- 打印变量
x=1024
print(x)
1024
- print 默认换行
print(1)
print(2)
1
2
- 不想换行
print(1,end="2")
print(3)
123
- 组合输出
PI=3.1415926
E=2.71828
print("PI= ",PI,"E= ",E)
PI= 3.1415926 E= 2.71828
3.格式化输出方法 format
-
基本格式:“字符{0}字符{1}字符”.format(v0,v1)
-
修饰性输出
- 填充输出
#__3.14__
print("{0:_^20}".format(PI))
_____3.1415926______
- 数字千分位分隔符
- 显示1,000,000
print("{0:,}".format(10000000))
10,000,000
- 浮点数简化输出
- 留2位小数
print("{0:.2f}".format(PI))
3.14
- 百分比输出
print("{0:.1%}".format(PI))
314.2%
- 科学计数法
print("{0:.2e}".format(PI))
3.14e+00
4. 整数的进制转换输出
- 进制转换
"二进制{0:b},Unicode码:{0:c},十进制{0:d},八进制{0:o},十六进制{0:x}".format(400)
'二进制110010000,Unicode码:Ɛ,十进制400,八进制620,十六进制190'
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SBb8OxFq-1582668878445)(https://cdn.jsdelivr.net/gh/btbsja/btbsjaimg/img/20200224172912.png)]
第五部分
1. 行最大长度
所有行限制的最大子符数位79
2. 缩进
- 用缩进来表示语句间的逻辑
- for while if def class :缩进表从属关系
- 4个字符
for i in [1,2,3]:
print(i)
print("打印结束")
1
2
3
打印结束
3. 使用空格
- 运算符两边加空格
x = 2
- 最低优先级周围加空格
x = x*2 - 1
- 在逗号后面加空格
x, y = 1, 2
- 不要使用一个以上的空格
4. 避免使用空格
- 给参数赋值的时候避免使用空格
5. 注释
- 单行注释
a=1 #我是注释
- 多行注释 “”" “”"
"""
我是注释
"""
'\n我是注释\n'