目录
一、数据类型
1.基本类型:数字、字符串、布尔
1.1 数字类型
(1) int 整型 整数
2
(2) float 浮点型 带小数的数
2.5
#2.0虽然数值上与2相等,但其为浮点数,与上一代码段中的2的数据类型不一样
(3) complex 复数 a+bj
3+4j
1.2 字符串类型
- str 字符串 视作文本
- 组成:由数字、字母、空格、其他字符组成
- 表达:用' '或" "
"Python-#Double S"
1.3 布尔类型
bool 布尔类型
主要用于逻辑运算
y = 2 > 1
print(y)
上述数据类型均可定义单个数据,但面对多组数据,需要利用组合类型
2.组合类型:列表,元组,字典,集合
2.1 列表(有序)
list 列表 序列类型:数据有位置顺序
表示方式:[data1,data2…]
a = [1,2,3,4,5]
a[0]#读取a列表中第一个元素
a[-1]#读取a列表中最后一个元素
2.2 元组
tuple 元组 序列类型
表示方式:(data1,data2…)
元素不可修改,即不可变列表
b = (1,2,3,4,5)
b[0]#读取b元组第一个元素
2.3 字典
dict 字典 映射类型:通过"键"-"值"的映射实现数据的存储和查找
表示方式:{key1:value1,key2:value2…}
student = {0601016:"小石",0601015:"小刘",0601014:"小卢"}
student[0601015]#与list和tuple不同,dict通过key读取元素
字典是在内部是无序的
2.4 集合
set 集合 一系列互不相等元素的集合,无序的
表示方式:{data1,data2…}
student = {"小石","小刘","小卢","小刘"}
print(student)#虽然多打了一个小刘,但是set中元素互不相等且无序,故只输出前三者
我们一般通过变量来引用这些数据
二、变量
1.变量的概念
量:实实在在的对象,如数据、抽象
变:可变性:增、删、查、改等
变量定义二要素:变量名,赋值
x = 1
2.变量的命名
2.1 哪些可以做变量名?
大写字母、小写字母、数字、下划线、汉字及其组合
严格区分大小写
Double_S_is_a_小白 = Ture
double_s_is_a_小白 = False
#Python严格区分大小写,上述是两个变量
2.2 哪些情况不允许做变量名?
首字符不允许为数字
变量名中间不能有空格
不能与Python中33个保留字相同
2.3 变量名定义技巧
尽量有实际意义,表征数据的某种特性
age_of_students = [17,18,19]
#比单独字母a = [17,18,19]更加清晰,增强可读性
下划线 (推荐变量和函数名) 变量名由多个单词组成:用_连接多个单词
驼峰体 (推荐类名)变量名由多个单词组成:单词首字母大写
尽量避免中文或拼音做变量名
特殊变量:常量 (不变的量 如:,) 变量所有字母均大写
MAX_ITERATION = 1000
3.变量的赋值
3.1 一般赋值
通过等号自右向左赋值
x = 1+2#先计算1+2=3,再将结果赋值给x
print(x)
3.2 增量赋值
x = 10
x = x+10
print(x)
x += 10#x=x+10简写,更常用
3.3 打包赋值
同时对多个变量赋值
x, y = 1, 2
print(x, y)
x, y = y, x#Python一行代码即可实行互换
print(x, y)
三、控制流程
1.顺序流程
自上而下依次执行
【例】实现1到5的整数求和
#res = 1+2+3+4+5
res = 0 #赋初值
res += 1
res += 2
res += 3
res += 4
res += 5
print(res) #显示结果
2.循环流程——遍历循环(for)
主要形式:
for 元素 in 可迭代对象:
执行语句
执行过程:从可迭代对象中,依次取出每一个元素,并进行相应操作
【例】实现1到5的整数求和
res = 0
for i in [1,2,3,4,5]: #每次迭代,取出1个i
res += i #对每次迭代取出的i 进行相应操作
print(res) #遍历结束后,执行后续语句
3.循环流程——无限循环(while)
主要形式:
while 判断条件:
条件为真,执行语句
条件为假,while循环结束
【例】实现1到5的整数求和
i = 1
res = 0
while i <= 5: #若i不大于5,则循环继续
res += i
i += 1
print(res) #若循环条件不成立,循环停止,执行后续语句
4.分支流程(if)
最简单形式:
if 判断条件:
条件为真,执行语句
else:
条件为假,执行语句
age = 18
if age > 22:
print("可以结婚啦")
else:
print("再等等吧")
下面,我们了解控制流程后,再回过头看看如何输入输出
四、输入输出
1.数据从何而来?
1.1 外部文件导入
从本地硬盘、网络端读入等
后续会详细讲解
1.2 程序中定义
age = 18
name = "Tom"
1.3 动态交互输入 input
在程序运行过程中进行输入(此时输入数据为字符串形式)
x = input("请输入一个数字:")#此时输入数据为字符串形式
print(x)
eval()去掉引号
x = eval(input("请输入一个数字:"))
y = eval(input("请输入一个数字:"))
print(x+y)
2.数据到哪儿去?
2.1 存储到本地硬盘和网络端
后续详细讲解
2.2 打印输出print
直接打印数据
print("我是DoubleS!")
打印变量
x = 1024
print(x)
PS:print默认换行
若不想换行,换行控制 end=
print(123, end=" ")
print(456)
有时,我们需要一些复杂输出:比如几个变量一起组合输出
PI = 3.1415926
E = 2.71828
print("PI = ", PI,"E = ", E)
2.3 格式化输出方法 format
基本格式:"字符{0}字符{1}字符".format(v0, v1)
PI = 3.1415926
E = 2.71828
print("PI = {0}, E = {1}".format(PI, E))
#{}内数字代表format中对应数据,可自己调整顺序
#也可以不填,默认从0开始
填充输入
#_____3.1415926_____ 进行填充
PI = 3.1415926
print("{0:_^20}".format(PI))
#^为数据居中,<为数据左对齐,>为数据右对齐
数字千分位分隔符
#显示1,000,000
print("{0:,}".format(1000000))
#若既要填充输出,又要千分位分隔符
print("{0:$>20,}".format(1000000))
浮点数简化输出
- 留2位小数
PI = 3.1415926 print("{0:.2f}".format(PI))
-
按百分数输出
print("{0:.1%}".format(0.818727))
-
科学计数法输出
print("{0:.2e}".format(0.818727))
整数的进制转换输出
- 十进制整数转二进制、unicode码、十进制、八进制、十六进制输出
print("二进制{0:b}, Uicode码{0:c}, 十进制{0:d}, 八进制{0:o}, 十六进制{0:x}".format(450))
综上,format用法总结:
"字符{0:修饰}字符{1:修饰}字符".format(v1,v2)
严格按照顺序:
{x:<填充><对齐><宽度><,><.精度><类型>}
五、程序格式
增强可读性,使大量Python代码风格一致
1.行最大长度
所有行限制的最大字符数为79
2.缩进
- 用缩进来表示语句间逻辑
- 在 for while if def class等:之后下一行开始进行缩进,表明后续代码与前句之间的从属关系
- 缩进量:4字符
for i in [1, 2, 3]:
print(i)
print("打印结束")
3.使用空格
- 二元运算符两边加一个空格
x = 2 #赋值 x + = 4 #增量 6 > 2 #比较
- 使用不同优先级的运算符,考虑在最低级的运算符周围添加空格
x = x*2 - 1 z = x*x + y*y c = (a+b) * (a-b)
-
在逗号后使用空格
x, y = 1, 2 ls = [1, 2, 3]
-
不要使用一个以上空格
4.避免使用空格
- 在制定关键字参数或者默认参数值的时候,不要在=附近加上空格
def fun(n=1, m=2): print(n, m)
5.注释
- 单行注释
- 格式: # 注释内容
- 多行注释(""")
a = 1 #我是单行注释
"""
我是
多行
注释
"""
以上,便是第一节基本语法元素内容。
下一节内容为基本数据类型,将深入了解数字、字符串、布尔。