1. 注释
- 单行注释:
# 这是一个单行注释
print("Hello Wrold!")
- 多行注释:
'''
这是
一个
多行注释
'''
2. 算术运算符
# 加法
print(1 + 1)
# 减法
print(20 - 12)
# 乘法
print(10 * 23)
# 除法
print(22 / 2)
# 取整数,返回除法的整数部分(商)。下面的结果为4
print(9 // 2)
# 取余数
print(9 % 2)
# 幂运算
print(2 ** 3)
3. 数据类型
- 在 Python 中, 定义变量时,不需要指定变量的类型。在运行过程中,Python 解释器会根据赋值语句
等号右侧的数据自动推导出变量中保存数据的准确类型。 type(变量名)
查看当前变量的类型。- 数据类型分类:数字型和非数字型
- 数字型:
- 整型(int)(在 Python2.X 中,整型分为
int
,long
) - 浮点型(float)
- 布尔型(bool)
- 复数型(complex),主要用于科学计算。
- 整型(int)(在 Python2.X 中,整型分为
- 非数字型:
- 字符串
- 列表
- 元组
- 字典
- 数字型:
# 字符串变量之间可以使用"+"进行拼接
a = "Hello "
b = "World!"
print(a + b)
# 字符串变量可以使用"*"进行重复
print("A" * 10)
# 数字型变量和字符串之间不能进行其他计算
# 下面的输出会报错
print("A" + 10)
3.4 变量的格式化输出
%
被称为格式化操作符,专门用于处理字符串中的格式;%s
表示字符串;%d
表示有符号十进制整数,%06d
表示输出的整数显示位数,不足的地方使用0%f
表示浮点数,%.2f
表示小数点后只显示两位;%%
输出%
;
# 输出学号 000021, 地址是: 江苏南京
num = 21
address = "江苏南京"
print("我的学号是:%06d,地址是:%s" % (num, address))
# 输出百分比: 12.45%
percent = 12.45
print("所占百分比:%.2f%%" % percent)
3.5 变量的命名
- 标识符就是程序中定义的变量名,函数名;
- 标识符可以由字母,下划线和数字组成;
- 不能以数字开头;
- 不能与关键字重名;
Python
中的标识符是区分大小写的;- 在
Python
中,如果变量名需要由多个单词组成时,可以按照以下方式命名:- 每个单词都使用小写字母;
- 单词与单词之间使用下划线连接;
- 例如:
stu_name
,stu_address
,stu_num
4. 逻辑语句
4.1 if
语句
# 格式:
if 条件1:
条件1成立时,需要执行的操作
elif 条件2:
条件2成立时,需要执行的操作
else:
条件不成立时,需要执行的操作
# 注意:代码的缩进为一个Tab键,或者 4 个空格 -- 建议使用空格
# 在 Python 开发中, Tab 和 空格不要混用!
4.2 循环语句
# while 循环
# 打印 5 遍 Hello Python
i = 1
while i <= 5:
print("Hello Python")
i += 1
# 示例一:
# 在控制台连续输出五行 *, 每一行星号的数量依次递增
row = 1
while row <= 5:
print("*" * row)
row += 1
# 第二种方式:
# 备注: 向控制台输出内容结束之后,不会换行
# print("*", end="")
row = 1
while row <= 5:
col = 1
while col <= row:
print("*", end="")
col += 1
# 表示在一行星星输出完成之后,添加换行!
print("")
row += 1
# 示例二: 输出九九乘法表
# 备注: 字符串中的转义字符
# \t : 在控制台输出一个制表符,协助在输出文本时,垂直方向保持对齐
# \n : 在控制台输出一个换行符
row = 1
while row <= 9:
col = 1
while col <= row:
print("%d * %d = %d" % (col,row,col * row), end="\t")
col += 1
print("")
row += 1
5. 函数
5.1 函数定义及作用
- 函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用;
- 函数的作用,可以提高编写的效率以及代码的重用;
# 函数定义:
# 函数名称命名规则:
# 可以由字母,下划线和数字组成
# 不能以数字开头
def 函数名():
函数封装的代码
# 函数注释:
# 在定义函数的下方,使用连续的三对引号
# 在函数调用的位置,使用"View -> Quick Documentation"可以查看函数的说明信息
# 由于函数体相对比较独立,函数定义的上方, 应该和其他代码(包括注释)保留两个空行
# 函数的参数:
# 需求: 求两个数字的和
def sum_num(num1, num2):
"""对两个数字求和"""
result = num1 + num2
print("%d + %d = %d" % (num1, num2, result))
sum_num(33, 20)
5. 高级变量类型
- 列表
- 元组
- 字典
- 字符串
5.1 列表(List)
- 列表用
[]
定义,数据之间使用,
分隔; - 列表中可以存储不同类型的数据,但是,在开发中,列表经常用于存储相同类型的数据;
- 列表的索引从
0
开始;
5.1.1 列表的常见操作(方法):
- 增加:
insert(索引, 数据)
: 在指定位置插入数据;append(数据)
: 在末尾追加数据;extend(列表2)
: 将列表2的数据追加到列表;
- 修改:
列表[索引] = 新数据
: 修改指定索引的数据;
- 删除:
del 列表[索引]
: 删除指定索引的数据;列表.remove(数据)
: 删除第一个出现的指定数据;列表.pop()
: 删除末尾数据;列表.pop(索引)
: 删除指定索引数据;列表.clear
: 清空列表;
- 统计:
len(列表)
: 获取列表长度;列表.count(数据)
: 数据在列表中出现的次数;
- 排序:
列表.sort()
: 升序排序;列表.sort(reverse=True)
: 降序排序列表.reverse()
: 逆序(反转)
# 列表的循环遍历
name_list = ["zhangsan","lisi","wangwu","zhaoliu"]
for name in name_list:
print(name)
# 向列表中添加元素
t_list = [1, 2]
t_list.extend([3, 4]) # t_list = [1, 2, 3, 4]
t_list.append([5, 6]) # t_list = [1, 2, 3, 4, [5, 6]]
5.2 元组(Tuple)
- 元组表示多个元素组成的序列,元组中的元素不能修改;
- 元组通常用于保存不同类型的数据;
- 元组使用
()
定义; - 元组中只包含一个元素时,需要在元素后面添加逗号:
a_tuple = (3,)
- 元组的常见方法:
元组.index(数据)
: 获取数据在元组中的索引;元组.count(数据)
: 获取数据在元组中出现的次数;
- 元组和列表之间的转换:
List(元组)
: 把元组转换成列表;tuple(列表)
: 把列表转换成元组;
- 元组应用场景:
- 函数的参数和返回值;
- 让列表不可以被修改;
# 格式化字符串后面的 () 本质上就是元组
print("%s 年龄是 %d, 身高是 %.2f" % ("张三", 12, 1.53))
stu_info = ("张三", 12, 1.53)
print("%s 年龄是 %d, 身高是 %.2f" % stu_info)
stu_info = "%s 年龄是 %d, 身高是 %.2f" % ("张三", 12, 1.53)
print(stu_info)
5.3 字典(Directory)
- 字典通常用于存储描述一个物体的相关信息;
- 字典使用
{}
定义; - 字典使用键值对存储数据,键值对之间使用
,
分隔;- 键 和 值之间使用
:
分隔; - 键必须是唯一的;
- 值可以区任何数据类型,但键只能使用字符串,数字或元组;
- 键 和 值之间使用
- 字典和列表的区别:
- 列表是有序的对象集合;
- 字典是无序的对象集合;
- 字典的常见操作:
字典.pop(key)
: 删除键值对;len(字典)
: 统计键值对数量;字典1.update(字典2)
: 合并字典;如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对;字典.clear()
: 清空字典;
5.4 字符串
- 可以使用一对双引号或者一对单引号定义一个字符串;
- 虽然可以使用
\"
或者\‘
做字符串的转义,但是在实际开发中:- 如果字符串内部需要使用双引号,可以使用单引号来定义字符串;
- 如果字符串内部需要使用单引号,可以使用双引号来定义字符串;
- 大多数编程语言都是用
"
来定义字符串; - 字符串的常用操作:
len(字符串)
: 获取字符串的长度;字符串.count(字符串2)
: 获取小字符串在大字符串中出现的次数;字符串.index(字符串2)
: 获取小字符串第一次出现的索引;若不存在,会报错;字符串.find(字符串2)
: 查找字符串,若不存在,返回 -1;字符串.replace(old_str, new_str)
: 替换字符串;该方法执行完成之后,会返回一个新的字符串;而原有字符串不变;- 字符串的切片:
字符串[开始索引:结束索引:步长]
,
# 字符串的遍历
string = "Hello Python!"
for c in string:
print(c)
# string.isdecimal(): 如果 string 只包含数字则返回True, 全角数字
# string.isdigit(): 如果 string 只包含数字则返回True, 全角数字, (1), \u00b2(Unicode 码)
# string.isnumeric(): 如果 string 只包含数字则返回True, 全角数字, 中文数字
# 如果 string 中包含小数, 以上三个方法均返回 False
# 需求: 字符串逆序
str = "abcdefg"
str[::-1]
5.5 高级数据类型的公共方法
- Python 的内置函数(即不需要
import
导入模块就可以调用)len(item)
: 计算容器中元素个数;del(item)
: 删除变量;max(item)
: 返回容器中元素最大值;如果是字典,只针对key
比较;min(item)
: 返回容器中元素最小值;
- 成员运算符
in
: 如果在指定的序列中找到值,返回True,否则,返回False;not in
: 如果在指定的序列中没有找到值,返回True, 否则,返回False;
# 完整的 for 循环语法
for 变量 in 集合:
循环体代码
else:
没有通过 break 退出循环, 循环结束后, 会执行的代码
# 应用场景: 可以用于迭代遍历嵌套的数据类型(例如,一个包含多个字典的列表)
# 需求: 要判断某一个字典中是否存在指定的值
# 如果存在, 提示并且退出循环;
# 如果不存在,在循环整体结束后,希望得到一个统一的提示;
students = [
{"name": "张三",
"age": 18,
"gender": True,
"height": 1.69},
{"name": "李四",
"age": 23,
"gender": False,
"height": 1.74}
]
find_name = "李四"
for stu_dict in students:
if stu_dict["name"] == find_name:
print("找到了 %s" % find_name)
break
else:
print("抱歉,没有找到 %s" % find_name)
print("循环结束!")
参考资料: