• 【Python | 入门】 五分钟速通语法


    在这里插入图片描述

    🤵‍♂️ 个人主页: @计算机魔术师
    👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。
    🌐 推荐一款找工作神器网站: 宝藏网站 |笔试题库|面试经验|实习招聘内推|

    🎏该篇讲解以代码和结果结合,能够快速上手python基础用法
    源码: 传送门

    一、 编写第一个python.py

    # python中变量不需要声明 但必须赋值 赋值后才能创建 
    # 所以也有人把变量称为名字
    
    # python 的输出代码
    print('hello world') # hello world yyds
    
    魔术师 = 666 # 因为python使用 utf-8编码所以可以用中文
    print(魔术师) # 输出变量
    
    print("Majician",魔术师)# 同时输出字符和变量 
    
    #进阶知识
    print("Majiciam", 魔术师真酷, end='!')  # 设置结尾
    print("Majiciam", 魔术师真酷, sep='-', end='!')  # 设置 间隔
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    结果:

    >>>print('hello world')  # hello world yyds
    hello world
    >>>魔术师真酷 = 666  # 因为python使用 utf-8编码所以可以用中文
    >>>print(魔术师真酷)  # 输出变量
    666
    >>>print("Majician", 魔术师真酷)  # 同时输出字符和变量
    Majician 666
    >>>print("Majiciam", 魔术师真酷, end='!')
    Majiciam 666!
    >>> print("Majiciam", 魔术师真酷, sep='-',end='!')
    Majiciam-666!
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    print函数官方介绍

    二、 固定数据介绍.py

    # 如何用python中的数据结构/数据表示和存放数据
    # 标准数据类型 = 【
    
    # ”Number(数字):[’int.float,bool,complex(复数)'],
    # “String(字符串)”,
    # “list(列表)”,
    # “Dictionary:字典”,
    # “Set:(集合)”,
    # “Tuple:(元组)"
    
    # 】
    
    import math
    
    a = -3.5
    b = abs(a)  # absolute value
    print(b)
    
    c = math.sin(b)
    print(c)
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    三、 列表的性质以及增删改查.py

    # 列表(List)
    all_in_list = [
        1,
        'love',
        True,
        [1, 2, 3]
    ]
    
    # 列表每个元素都是可变的,
    # 列表中每个元素都是有序的,
    # 列表可以容纳Python所有对象
    
    print(all_in_list)
    
    index = all_in_list[1]
    index = all_in_list[-3]
    
    index = all_in_list[0:2]  # 列表的切片,顾头不顾尾,只有1到2,不包括2,
    print(index)
    
    # 列表的增删改查
    
    all_in_list.append("hello world")  # 附加最后一个元素
    all_in_list.insert(0, "pre_hello")  # 插入元素
    print(all_in_list)
    
    all_in_list.remove("hello world")  # 删除指定元素
    print(all_in_list)
    
    del all_in_list[:2]  # 删除元素
    print(all_in_list)
    
    all_in_list[0] = 100
    print(all_in_list)
    
    
    
    #for循环  #效率底 所以使用列表推导式
    x = []
    for i in range(10):
        x.append(i)
    #print(x)
    
    #列表推导式
    x = [i for i in range(3,10)]
    y = [i**2 for i in range(3,10)]
    z = [i**2 for i in range(3,10) if i%2==0]  #输出偶数项
    print(x)
    print(y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    四、 小小的任务:求sinx曲线图形面积.py

    import math
    
    n = 10
    x = []
    y = []
    
    width = 2 * math.pi / n
    
    # 方法一:for循环建立核心数据结构
    for i in range(n):
        x.append(i * width)
        y.append(abs(math.sin(x[i])))  # 绝对值
    sums = sum(y) * width  # 求和函数
    
    
    # 列表推导式建立核心数据结构(尽量不用for循环,时间复杂度高)
    x = [i * width for i in range(n)]
    y = [abs(math.sin(i * width)) for i in range(n)]
    z = [abs(math.sin(i * width)) * width for i in range(n)]
    sums = sum(z)
    
    print(x)
    print(y)
    print(sums)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    五、 常用操作符.py

    # python 操作符 大多与C语言类似
    # 赋值 关系 运算 逻辑 等 (也是返回一个值)
    
    # 逻辑
    
    res = 1 < 2 < 3  # 不同时可以连续比较 猜测其在对 < > 进行重载 没有参数返回Boll型数据,又参数返回类继续比较
    res = 'M' in 'Magic'  # 判断是否在里面
    print(res)
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    六、 条件判断语句.py

    # 只有 if  elif  else while 没有switch了
    
    # 条件判定语句 if 后面语句可以不用加()
    if 1 < 2:
        print('hello')
    
    if 1 < 0:
        print('hello')
    else:
        print("world")
    
    if 1 < 0:
        print('hello')
    elif 1 < -1:
        print("world")
    else:
        print("!")
    
    # 冒泡排序法
    
    x = [1, 2, 3, 4, 123, 1, 64, 1, -2]
    n = len(x)
    for i in range(n):  # 循环次数更多,时间复杂度更高
        for j in range(i):  # 保证在循环中x[i]值最大,前面小于的不管他,一旦有一个x[j]>x[i] j+1后面也全大于 x[j] 和x[i]一直调换
            if x[j] > x[i]:  # 调换方法!!!
                x[i], x[j] = x[j], x[i]
    
    print(n)
    print(x)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    七、 字符串索引&切片&增删改查

    # 字符串
    # 任何在这双引号的文字
    # 单引号其实和双引号完全一样,但在开发时建议引入用单引号,
    # '''三个引号被用于长段文字或说明,只要引号不结束,你就可以任意换行'''
    # 字符串为不可变数据类型
    
    
    string = "字符串"
    
    string = '''hello
    
    嘿嘿
    
    world'''
    
    string = 'my ,name'
    
    print(string)
    
    # 字符串基本用法,
    # 拼接 char1 + char2 + char3,
    # 重复 'word'*3,
    # 转换 int(string),
    # 切片与索引:
    # str[-3],
    # str[1:4],
    # str[3:]
    
    res = string[1]  # 字符串索引
    res = string[1:4]  # 字符串索引
    
    res = string * 3
    
    res = string + ' is '
    
    # 字符串自身属性
    
    # 分割
    res = string.split(sep=',')
    # 默认按照空格切割开,可以设置separate设置隔开符
    # 返回值是一个列表,
    
    #注意!!!!:string是不可变的数据类型,不能对其数据进行改动, 除非对名字重新赋值
    print(1,string)
    string[1] = 'y' #报错!!
    
    #小写变大写
    res = string.upper()
    
    print(res)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    字典的创建 索引&增删改查

    # 字典 大括号 ,列表 中括号
    
    dictionary = {
        'BIDU': 'baidu',
        'SINA': 'sina',
        'YOKU': 'youku',
    }
    
    # 键 - 值 成对出现;
    # 键不能重复,
    # 键不可更改,值可修改!!!!! 字符串也是 列表则可以
    # 键来索引值
    
    dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world'}
    # dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world',[2]:2}
    # 不能以列表为键!!前提是因为键是不可以变得,而序列是可以变的
    
    print(dic)
    
    demo = dic['h']
    demo = dic[0.5]  # 字典中的元素无先后顺序,只能用键来索引
    print(demo)
    
    # 字典的增删改查
    
    # 修改
    
    dic['h'] = 'hi'
    
    # 增加
    
    # 单个
    dic['new'] = 'new dic'  # 如果没有该键,会在字典末尾生成新的键值对
    
    # 多个
    dic.update({1: 2, 3: 4})
    
    # 删除
    # del dic #直接整个删掉
    del dic['h']
    
    # 字典推导式
    
    d = {i: i ** 2 for i in range(10)}
    d = {i: i ** 2 for i in range(10) if i % 2 == 0}
    
    print(dic)
    print(d)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    八、 对文件处理操作

    # 文件操作
    
    # 只读
    f = open('beauty_live.text', 'r')
    
    # 读取文件操作
    
    txt = f.read()
    txt = f.read(100) #设置读取字符的个数
    # 因为是对文件以读的方式打开,
    # 所以在读取文件指针后,
    # 指向文件的指针指向文件尾,就无法再继续读取,需要将指针seek变为0
    
    f.seek(0)
    
    # 只读行(返回值是一个列表)
    txt1 = f.readlines()
    
    # txt1 = f.readline() #只读一行
    
    f.close()
    # print(txt1)
    
    print(txt)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    九、 统计小说的单词词频

    # 统计小说的单词频次
    import re
    
    # 查看当前路径
    import os
    
    path = os.getcwd()  # current word directory 当前目录
    print(path)
    
    f = open('beauty_live.text', 'r')  # 引入当前工程路径 , 如果移动了 需要绝对路径
    txt = f.read()  # 读取进来的数据类型是字符串
    f.close()
    
    txt = txt.lower()
    
    # 去除小数点等符号  用‘’替代 就是空
    re.sub('[,.?!"\'-]', '', txt)
    
    # 由于使用分割后返回值是一个列表 无法使用re.sub 所以先处理在分割
    txt = txt.split()
    
    # 统计频次
    word = {}
    for i in txt:
        if i not in word:
            word[i] = 1
        else:
            word[i] += 1
    
    # 对次数排序
    sor = sorted(word.items(), key=lambda x: x[1], reverse=True)
    print(txt)
    print(word)
    print(sor)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    十、 用户函数自定义

    # 函数自定义
    
    # 简单用lamdba
    y = lambda x: x ** 2
    y1 = lambda x: x[1]
    
    
    # 复杂用def
    
    def Sum(x=1, y=2):  # 设置默认值同于c++,前面设置了后面必须避免歧义,可以只设置后面
        return x + y
    
    
    res = Sum()
    demo = y(3)
    demo = y1(['hello', 'world'])
    
    print(res)
    print(demo)
    
    #求给定序列 偶数个数
    def su(x):
        z = 0
        for i in x:
            if i%2==0:
                z +=1
        return z
    
    print(su([1,2,34,5,6,2,4,]))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    十一、 python方法与函数对比

    # 面对对象编程
    
    list = [2.4, 'hello', 'world']
    list.append('hehe')
    
    print(list)
    
    string = 'myapp'
    
    string.append('hi')  # 对字符串对象而言 没有append方法 ,注意不是函数
    list.split()  # 同样不可以对列表对象 使用split方法 方法与对象挂钩
    
    print(string)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    十二、 面对对象实例

    # 创建自己的类
    
    class human:  # 方法是定义在类内的函数
        def __init__(self, ag=None, se=None):  # 构造函数
            self.age = ag  # 类的属性
            self.sex = se
        
        def square(self, x):  # 方法
            return x ** 2
    
    
    zhangfei = human(ag=28, se='M')  # 类的实例化
    
    demo = zhangfei.square(3)
    demo = zhangfei.age
    
    print(demo)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    十三、 python模块

    # 模块是一个包含了所有你定义的函数的变量的文件,其后缀名为.py其实就是一个脚本文件
    
    import math  # 引入模块
    import def_math
    from def_math import Sum
    
    res = math.sin(1)  # 用模块调用
    res = math.pi
    
    from math import sin, pi  # 从模块引入变量和函数 直接使用 面对多次使用的情况下,建议用此方法 !
    
    # 导入模块全部变量和函数
    from def_math import *  # 不建议这样做 把全部引入 没有库名称区别 与其他库的函数名歧义
    
    res = sin(2)  # 在模块引入直接使用
    res = 2 * pi
    
    res = def_math.Sum(1, 3)
    res = Sum(1, 3)
    
    print(res)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    模块def_math.py

    def Sum(x, y):
        return x + y
    
    
    • 1
    • 2
    • 3

    今日份推荐 —— 牛客网

    python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费
    在这里插入图片描述

    他们的python题单是从最基础的输出、字符串格式化输出开始,经过运算符、列表、循环语句、条件语句、元组、字典、函数等知识点,一步一步教你慢慢学会Python那为数不多的基本语法,最后再配合上8道具有实践意义的综合实践题,可以帮你更加有效的巩固前面学会的知识。

    在这里插入图片描述

    在这里插入图片描述

    牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。
    快点击下方链接学起来吧!
    链接:点击链接跳转牛客网

  • 相关阅读:
    剑指 Offer 38. 字符串的排列
    基于SpringBoot的ElasticSearch操作(超详细教程)
    《动手学深度学习 Pytorch版》 5.6 GPU
    Springboot属性注入
    php 5.3开始使用mysqlnd作为的默认mysql访问驱动
    (Note)机器学习面试题
    《HTML+CSS+JavaScript》之第7章 图片
    (学习日记)2022.8.12
    Procreate iPad绘画教程
    深入浅出Django的MTV架构
  • 原文地址:https://blog.csdn.net/weixin_66526635/article/details/124174983