韩顺平老师Python学习笔记【持续更新...】

1、Python语言概述

1.1、转义字符

1.1.1、常用的转义字符

常用转义字符列表
\t一个制表位,实现对齐的功能
\n换行符
\\一个\
\'一个'
\"一个"
\r一个回车

1.2、注释

1.2.1、单行注释

# + 其他

1.2.2、多行注释

三个单引号 ''' + xxx + '''   或   三个双引号 """ + xxx + """

1.2.3、文件编码声明注释

# coding:编码
# coding:utf-8

## 用途:用于指定文件的编码格式(放在文件开头)

2、变量

2.1、变量基本原理

变量三要素 = 类型 + 名称 + 值

2.2、格式化输出

2.2.1、%操作

age = 80
score = 70.5
gender = 'male'
name = 'John'

print("info: %s %d %s %.1f" % (name, age, gender, score))

2.2.2、format()函数

print("info: {} {} {} {} ".format(name, age, gender, score))

2.2.3、f-strings

print(f"info: {name} {age} {score} {gender}")

2.3、加法运算

  • 左右两边都是数值型时,则做加法运算。
  • 左右两边都是字符串时,则做拼接运算。

2.4、数据类型

2.4.1、通过使用 type() 来查看数据的数据类型

type(object)

2.4.2、整数类型

2.4.2.1、进制

2.4.2.2、Python中的整型占多少个字节

字节(byte):计算机中基本存储单位。

位(bit):计算机中的最小存储单位。

1byte = 8 bit

  • 字节数随着数字的增大而增大(Python整型是变长的)。
  • 每次的增量是4个字节。

2.5、浮点类型

  • 其实也就是小数。
  • 科学计数法表示:
    # 5.12乘以10的2次方
    5.12e2
    # 5.12除以10的2次方
    5.12E-2
    
  • 浮点类型计算后,存在精度的损失,可以使用 Decimal 类进行精确计算。
    b = 8.1 / 3 # 2.7
    
    # 解决方法
    from decimal import Decimal
    b = Decimal("8.1") / Decimal("3")
    

2.6、布尔类型

2.6.1、知识点

  • 布尔类型也叫bool类型,取值为 True 和 False。
  • bool类型适用于逻辑运算,一般用于流程控制。
  • bool在运算中,True为1,False为0。
  • 在Python中,非0值被视为真值,0值被视为假值。

2.7、字符串类型

2.7.1、知识点

  • 使用引号(单双引号都可以)包括起来,创建字符串。
  • 在字符串前面加 'r' 可以使整个字符串不会被转义。

2.7.2、字符串的驻留机制

  • 相同值的变量指向同一个内存地址。

2.8、数据类型转换

2.8.1、隐式类型转换

  • 在运算的时候,数据类型会向高精度自动转换。

2.8.2、显式类型转换

  • 借助一些函数来做转换。


3、运算符

3.1、运算符介绍

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
  • 位运算符

3.2、算术运算符

3.2.1、知识点

3.3、比较运算符

3.3.1、知识点

  • 比较运算符的结果要么是 True,要么是 False。

3.4、逻辑运算符

3.4.1、知识点

假设:a=10,b=20

3.5、赋值运算符

3.5.1、知识点

  • 赋值运算符就是将某个运算后的值,赋给指定的变量。

3.6、三元运算符

3.6.1、知识点

  • 语法是:max = a if a > b else b

3.7、运算符的优先级

3.8、标识符的命名规则和命名规范

  • 凡是可以自己起名字的地方都叫标识符。

3.9、关键字

  • 被Python语言赋予了特殊含义,用作专门用途的字符串(单词)。这些关键字不要用做标识符了。

3.10、键盘输入

  • 需要接收用户输入的数据,可以使用键盘输入语句来获取。
  • 一般使用:input()函数。
  • 从控制台接收到的数据类型是 字符串类型。

4、进制(先跳过,后续补充!)


5、程序控制结构

三大流程控制语句:

  • 顺序控制。
  • 分支控制。
  • 循环控制。

5.1、顺序控制

5.1.1、知识点

  • 程序从上到下逐行地执行,中间没有任何判断和跳转。

5.2、分支控制if-else

5.2.1、单分支

if 条件表达式:
    代码块(可以有多条语句)

5.2.2、双分支

if 条件表达式:
    执行代码块1
else:
    执行代码块2

5.2.3、多分支

if 条件表达式:
    执行代码块1
elif:
    执行代码块2
......
else:
    执行代码块n+1

5.3、嵌套分支

  • 在一个分支结构中又嵌套了另一个分支结构。

5.4、for循环控制

5.4.1、知识点

for <变量> in <范围/序列>:
    <循环操作语句>

5.5、while循环控制

while 判断条件:
    循环操作语句

5.6、多重循环

思路如下:

  • 1、矩形:
    # i控制层数
    for i in range(1, 6):
        # j控制每层输出的*的个数
        for j in range(1, 6):
            # 这里的end=''表示输出不换行
            print("*", end='')
        # 表示每层输出后换行
        print('')
  • 直角三角形:
    # i控制层数
    for i in range(1, 6):
        # j控制每层输出的*的个数
        for j in range(i):
            # 这里的end=''表示输出不换行
            print("*", end='')
        # 表示每层输出后换行
        print('')
  • 金字塔:
    # i控制层数
    for i in range(1, 6):
        for k in range(5-i):
            print(' ', end='')
        # j控制每层输出的*的个数
        for j in range(2*i-1):
            # 这里的end=''表示输出不换行
            print("*", end='')
        # 表示每层输出后换行
        print('')
  • 空心金字塔:
    # i控制层数
    for i in range(1, 6):
        for k in range(5-i):
            print(' ', end='')
        # j控制每层输出的*的个数
        for j in range(2*i-1):
            # 这里的end=''表示输出不换行
            if j == 0 or j == 2*i-1-1 or i==5:
                print("*", end='')
            else:
                print(' ', end='')
        # 表示每层输出后换行
        print('')

最终代码如下:

total_level = int(input())

# i控制层数
for i in range(1, total_level+1):
    for k in range(total_level-i):
        print(' ', end='')
    # j控制每层输出的*的个数
    for j in range(2*i-1):
        # 这里的end=''表示输出不换行
        if j == 0 or j == 2*i-1-1 or i==total_level:
            print("*", end='')
        else:
            print(' ', end='')
    # 表示每层输出后换行
    print('')

5.7、break语句

  • 终止循环用的语句。

5.8、continue语句

  • continue语句用于for或while循环所嵌套的代码中。
  • continue语句用于结束本次循环,继续执行循环的下一个轮次。

5.9、return语句

  • return使用在函数,表示跳出所在的函数。
  • 注意,break语句只是结束当前循环,而return语句直接跳出了这个函数。

6、函数

6.1、知识点

  • 普通传参:
    def xxx(args):
        xxx
  • 传入多个的位置参数:
    def xxx(*args):
        xxx

  • 传入关键字可变参数:
    def xxx(**args):
        xxx

6.2、函数的传参机制

6.3、函数的递归调用

  • 简单来讲,递归就是函数自己调用自己,每次调用时传入不同的值。
  • 递归有助于编程者解决复杂问题,同时可以让代码变得简洁。

  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不错就是对

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值