Python 基础

Posted 思考与践行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 基础相关的知识,希望对你有一定的参考价值。

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. 数据类型

  1. 在 Python 中, 定义变量时,不需要指定变量的类型。在运行过程中,Python 解释器会根据赋值语句
    等号右侧的数据自动推导出变量中保存数据的准确类型。
  2. type(变量名) 查看当前变量的类型。
  3. 数据类型分类:数字型和非数字型
    • 数字型:
      • 整型(int)(在 Python2.X 中,整型分为 int,long
      • 浮点型(float)
      • 布尔型(bool)
      • 复数型(complex),主要用于科学计算。
    • 非数字型:
      • 字符串
      • 列表
      • 元组
      • 字典
# 字符串变量之间可以使用"+"进行拼接
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("循环结束!")


参考资料:

以上是关于Python 基础的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档

python 机器学习有用的代码片段