从0到1 Python基础

从0到1 Python基础

文章目录

语法基础

  1. 变量:一个可以改变的量

    (1) 变量的命名规则:变量由字母、数字与下划线组成;第一个字母必须是下划线或者字母;不能是关键字

    (2)变量的声明:所有的变量都不需要声明,因为python会自动识别数据的类型

    语法:变量名 = 值

    声明就是指出变量的数据类型并根据数据类型分配空间给变量

  2. 常量:一个不改变值的量,其实也是变量一般用大写字母组成的名称表示

  3. 查阅python的关键字

python 复制代码
import keyword
print(keyword.kwlist)
  1. 数据类型

    • 数字
      • 整数型
      • 浮点型
      • 复数complex(a,b)
      • 布尔型(只有True和False)
    • 字符串
    • 列表
    • 元组
    • 字典
    • 集合

    使用type()判断变量是什么类型

  2. 运算符

    • 算数运算符

      优先级:乘、除 > 加、减 ; 取余与乘除优先级相同 。

    • 逻辑运算符

      与 and

      或 or

      非 not

    • 身份运算符:判断两个变量的引用对象是否是同一个

      == 用于判断两个变量的值是否相同

      a. is

      b. not is

    • 成员运算符:判断某个值是否存在于序列当中(列表、元组、字符串)

      a. in

      b. not in

  3. 类型转换

    • 数字 -> 字符串 str(数字)

    • 字符串->数字

      int(字符串) #字符串中只有数字

      float(字符串)

    • 整数yu浮点数

      int(浮点数) #只保留了整数部分

      float(整数)

  4. print

    语法:print(变量1,变量2,变量3,····)

    ​ print(值列表,sep = "分隔符",end = "结束符",file = "文件对象")

    sep 默认为空格

    end 默认为"\n"

    file 用于指定将内容输出到哪个文件当中

    python 复制代码
    file = open("D:\\hello.txt",'w',encoding="utf-8")
    print("从0到1快速上手",file = file)
  5. input

    语法:a = input()

    通过input()从键盘中读取内容赋值给变量,但input()读取的内容永远是字符串

    赋值

    python的多重赋值:可以同时为多个变量赋值

    • 基本用法

      python 复制代码
      a,b = 1,2
    • 交换变量的值

      python 复制代码
      x,y = y,x
    • 同时为多个变量赋值

      python 复制代码
      a,b,c = 1,2,3
    • 从序列中赋值

      python 复制代码
      #列表中的元素赋值
      a,b,c = [1,2,3]
      #解构元组给变量赋值
      first_name,second_name = ("Jenny","Danny")
      #结构字符串给变量赋值
      first_char,second_char = "HE"
    • 与函数返回值结合使用

      python 复制代码
      def get_min_max(numbers):
          return min(numbers), max(numbers)
      
      min_val, max_val = get_min_max([1, 2, 3, 4, 5])

      python函数可以同时返回多个值

    • 注意事项

      • 多重赋值要求右侧表达式的长度与左侧变量的数量相匹配。
      • 如果数量不匹配,Python会抛出 ValueError

结构流程控制

  1. if···elif···else

  2. while/ do···while

  3. for

    for i in range(n) #从0到n-1

    range(start,end,step) #[start,end)

列表与元组

  1. introduce 列表

    列表可以存储一组数据,且列表中的元素可以不同数据类型,且列表元素可以是一个列表。

    这也是列表与数组的不同,数组要求元素是同一数据类型。

    列表是python内置的数据类型,若要创建数组需要使用numpy模块

  2. 创建列表

    语法:列表名 = [元素1,元素2,元素3,···]

    python 复制代码
    #创建一个空表
    list1 = []
    #创建一个包含3个元素的列表
    list2 = ["red","green","gray"]
    #列表元素可以是不同数据类型
    list3 = ["red",1,True,2]
    #列表元素还可以是列表
    list4 = [[1,2],[3,4],[5,6]]
  3. 基本操作

    • 获取元素:通过下标

    • 修改元素:列表名[i] = 新值

      对列表来说,不能使用下标的方式给不存在的元素赋值,否则程序报错

      python 复制代码
      #将一个二维列表的行和列元素进行互换,然后存到另一个二维列表中,最后输出结果
      """
      a = [[1,2,3],[4,5,6]] -> b = [[1,2],[3,4],[5,6]]
      
      #错误代码
      a = [[1,2,3],[4,5,6]]
      b = []
      for i in range(len(a)):
          for j in range(len(a[i])):
              print(a[i][j])
      print(b)
      """
      a = [[1, 2, 3], [4, 5, 6]]
      b = []  # 用于存储转置后的矩阵
      
      # 假设a是一个非空的二维列表,且所有子列表长度相同
      for i in range(len(a[0])):  # 遍历列数,即a[0]的长度
          b.append([])  # 为b的每列创建一个空列表
      
      # 转置矩阵
      for i in range(len(a)):  # 遍历行
          for j in range(len(b)):  # 遍历列
              b[j].append(a[i][j])  # 交换行和列的元素
      
      print(b)
    • 增加元素

      python 复制代码
      insert(下标,值) #在列表任意位置插入元素
      append(新元素) #在列表末尾插入新元素
    • 删除元素

      python 复制代码
      #根据下标删除某一个元素
      del 列表名[i]
      #删除某一个元素,默认删除末尾元素
      列表名.pop(i)
      #根据值删除某一个元素
      列表名.remove("值")
  4. 获取列表长度:len(列表名)

  5. 获取元素个数:列表名.count(元素)

  6. 获取元素下标

    语法:列表名.index(元素)

    只返回第一次出现时的下标,如果没有找到那么就报错,因此使用起来有一定风险

  7. 合并列表

    • 语法:A.extend(B)

    将B列表合并到A列表中并且A列表已经被改变

    • C = A + B

    将A、B列表合成一个新的列表,并且A、B列表均未被改变

  8. 清空列表

    列表名.clear()

  9. 切片

    • 列表名[m:n] #截取范围[m,n)
    • 列表名[m:] #截取范围为m到结尾位置
    • 列表名[:n] #截取范围为开始到n-1
    • 列表名[:] #截取整个列表
  10. 遍历列表

    • for item in 列表名

    • enumerate()函数:可以在遍历列表的同时获得元素的下标

      语法:for index, item in enumerate(列表名)

  11. 检索列表:用来判断值是否在列表中

    item in 列表名

    item not in 列表名

  12. 颠倒顺序:列表名.reverse()

  13. 大小排序

    语法:列表名.sort(reverse = True或False)

    reverse为True则为降序排列,为False则为升序排列

  14. 数值计算

    max(列表)

    min(列表)

    sum(列表)

  15. 列表与字符串的互转

    • 列表转换为字符串: "连接符".join(列表名)
    • 字符串转换为列表:列表名 = string.split("分隔符")
  16. 列表运算

    列表只有乘法和加法

    python 复制代码
    [1,2]*3 -> [1,2,1,2,1,2]
    ["红","橙","黄"]+[1,2,3] = ["红","橙","黄",1,2,3]
  17. 二维列表

  18. 元组

    元组是不能被改变的数据类型

    元组的创建:tuple = (元素1,元素2,元素3,·····)

  19. 实战题

    • 输入任意5个整数到一个列表中,然后求出该列表中的最大值,并输出这个最大值。

      python 复制代码
      nums = []
      for i in range(5):
          nums.append(int(input()))
      temp = 0
      for index,item in enumerate(nums):
          if index == 0:
              temp = item
          elif item > temp:
              temp = item
    • 输出星期数,输入一个数字(1~7),然后输出对应的星期数。

      python 复制代码
      weekdays = ["Friday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
      i = int(input())
      print(weekdays[i-1])

字符串

  1. 多行字符串

  2. 原始字符串

    在字符串前面加上r或者R,表示这是一个原始字符串

    python 复制代码
    print("C:\northwest\northwind")
    """
    C:
    orthwest
    orthwind
    """
    print(r"C:\northwest\northwind)
    # C:\northwest\northwind
  3. 获取某一个字符:字符串名[n]

  4. 获取字符串长度:len(字符串)

  5. 统计字符的个数:count()

    语法:字符串名.count(字符)

  6. 获取字符下标:index()

    字符串名.index(子字符串)

    找不到报错

  7. 截取字符串:字符串名[m:n]

  8. 替换字符串

    语法:字符串名.replace(old,new,n)

    old表示原字符,new表示替换字符

    n是可选参数,表示替换次数不超过n

  9. 分割字符串

    语法:字符串名.split("分隔符")

    默认为空格,且空格次数不限

  10. 去除首位符号:strip()

    语法:字符串名.strip(指定字符) #去除字符串首尾指定的字符,默认空格

    lstrip() 去除左边的

    rstrip() 去除右边的

  11. 大小写转换

    • 大写转小写 :字符串名.lower()
    • 小写转大写 :字符串名.upper()
    • 大写转小写,小写转大写:字符串名.swapcase()
  12. 检索字符串:判断一个字符串中是否包含另一个字符串

    • A.find(B)

      判断A是否包含B

      A.find(B,start,end) #start表示开始下标,end表示结束下标,全都省略表示检索整个字符串

    • A.startwith(B)

      判断A是否以B开头

      A.startwith(B,start,end)

    • A.endwith(B)

      判断A是否以B结尾

      A.endwith(B,start,end)

  13. 拼接字符串

    • "+"来实现

    • %s

      可以使用"%s"来实现字符串的拼接,也就是字符串的格式化

      python 复制代码
      print("绿叶学习网成立于%s年"%2015)
    • 字符串.format()

      python 复制代码
      print("{0}成立于{1}年".format("绿叶学习网",2015))
  14. 类型转换

    • 将"元组"或"字符串"转换为一个列表:list()
    • 将"列表"或"字符串"转换为一个元组:tuple()
  15. 实战演练

    python 复制代码
    #统计单词个数
    string = "As we know,rome was not built in a day"
    count = 0
    for i in string:
        if i == ' ' or i == ',':
            count += 1
    print(count+1)
    
    
    #将首字母转换为大写
    string = "a friend in need is a friend indeed"
    strs = string.split()
    for index,item in enumerate(strs):
        strs[index] = item[0].upper()+item[1:]
    print(" ".join(strs))
    
    
    #方法二
    string = "a friend in need is a friend indeed"
    result = ""
    for i in len(string):
        if i == 0:
            result += string[i].upper()
        else:
            if string[i-1] == ' ':
                result += string[i].upper()
            else:
                result += string[i]

字典与集合

  1. 字典的创建

    语法:字典名 = {键1:值1,键2:值2,·····}

  2. 基本操作

    • 获取某个键的值

      语法:dict.get(key) dict[key]

    • 修改某个键的值

      语法:dict[key] = value

    • 增加键值对

      语法:dict[key] = value

    • 删除键值对

      语法:del dict[key] = value

  3. 获取长度:len(dict)

  4. 清空字典:dict.clear()

  5. 复制字典:dict.copy()

  6. 检索字典

    语法:用来判断某个键是否"存在"与字典中

    key in dict

    key not in dict

  7. 获取键或值

    下面三个方法返回的是迭代器对象。

    迭代器对象有两个特性:

    • 可以使用list()函数转换成列表
    • 可以直接使用for···in···,循环对其遍历
    • 字典.keys():获取所有的键
    • 字典.values():获取所有的值
    • 字典.items():获取所有的键和值
  8. 集合操作

    • 交集 {} & {}
    • 并集 {} | {}
    • 差集 {} - {}
  9. 实战题

初始函数

数学计算

  1. 求绝对值:abs()

  2. 四舍五入:

    语法:round(x,n)

    • 参数x是一个数,n表示保留几位小数
    • 若省略n则保留整数部分
  3. 取整运算

    • 向上取整 ceil()
    • 向下取整 floor()
  4. 平方根运算 sqrt()

  5. 圆周率 math.pi

    度数表示:度数*math.pi/180

  6. 生成随机数

    • 随机整数

      语法:random.randint(x,y)

      生成随机整数n∈[x,y]

      ​ random.randrange(x,y,step)

      表示生成随机整数的范围n∈[x,y) step表示每次循环后变量增加的额值

    • 随机浮点数

      语法:random.random() 生成0~1的随机整数

      ​ random.uniform(x,y) 生成n∈[x,y)的随机整数

    • 随机序列

      语法:random.choice(seq)

      seq:列表、元组或字符串

      从序列中随机获取一个元素

      ​ random.sample(seq,n)

      从序列中随机获取n个元素组成的一个列表

      每个元素的值不同

      ​ random.shuffle(list)

      表示将一个列表的元素顺序打乱

日期时间

  1. time模块

    time.方法名()

    • 获取时间

      time() 获取时间戳

      localtime(时间戳) 将时间戳转换为本地时间,返回的是struct_time元组

      strftime(格式化字符串,本地时间) 将本地时间格式化为指定格式

    • 格式化时间

    ​ time.strftime(format,tuple)

    符号 说明
    %Y
    %m
    %d
    %H 小时
    %M 分钟
    %s
    %a 简写星期
    %A 完整星期
    python 复制代码
    import time
    local = time.localtime(time.time())   #local是一个struct_time元组
    year = time.strftime("%Y",local)
    month = time.strftime("%m",local)
    • struct_time元组的属性
属性 说明
tm_year
tm_mon
tm_mday
tm_hour
tm_min
tm_sec
tm_wday 星期
tm_yday 一年第几天
tm_isdst 夏令时
  1. datetime模块

    • 获取日期时间

      语法:datetime.datetime.方法名()

      第一个datetime是模块名,第二个datetime是模块中的类

      result = datetime.datetime.now() #获取完整的日期时间

      date = result.date() #获取日期

      time = result.time() #获取时间

      #格式化时间

      year = result.strftime("%Y")

    • 设置日期时间

      语法:datetime.datetime(year,month,day,hour,minute,second)

      year、month、day是必选参数

      hour、minute、second是可选参数

相关推荐
Juchecar13 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805113 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_13 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机20 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机21 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机21 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机21 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i21 小时前
drf初步梳理
python·django
每日AI新事件21 小时前
python的异步函数
python
这里有鱼汤1 天前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python