美文网首页
第一篇简书-Python入门

第一篇简书-Python入门

作者: 长空一鱼 | 来源:发表于2019-04-25 18:46 被阅读0次

    目录

    image
    1. 题记

    2. Python技巧、避坑及心得

    3. 八种数据类型

    4. 循环

    5. 函数

    6. Homework

    题外话

    之前没有写博客的习惯,现在开始写觉得入门也太晚了吧,看看同龄的大哥都写了十几万字。于是心想,我也要开启我的博客之旅。本篇讲python入门操作,适合新手!!!老鸟拐弯不送。懒得起名字了,“水云疏柳” 挺好的,看着都更有动力学习。哈哈,开始吧...

    Jupyter操作

    不代表咱们就不用Pycharm了,只是为了生活得更优雅

    开启优雅编程(R/Python)之路的神器

    (没有Jupyter?那就百度搜索安装吧,这个不会怎么出错的,正经点,下面放上操作笔记)

    • Markdown书写文本,Script书写代码

    • 下拉框选择,或者选中格子(之后都是选中格子再操作)后摁m

    • 一级标题#;二级标题##;以此类推

    • 往下加一个格子摁b;往上加格子a

    • 运行可以点击上面的Run也可以摁shift enter b

    • 选中代码摁ctrl /为注释,再摁不注释;摁Tab右缩进,shift Tab左缩进

    • 输入?print运行可以查看帮助

    • 输入prin摁Tab可以帮你弥补老年痴呆

    • 另有Latex公式书写见Github Jupyter文档

    Python

    基于Python3,print需要带括号的那版

    • 编程也讲究美观和原则,虽然不报错

    • 但逗号后面还是空一格

    • 加号等号前后空一格

    • 程序宜短不宜长,多用def、推导式、装饰器封装(后面会讲)

    • 命名讲清楚是个啥子(这个要求绝了,但有的大厂就是硬规定): List_of_all_Subway_Stations_Name

    • 多用#解释

    print输出

    print("Hello World!")
    
    #让你的电脑说出划时代的一句话,瞬间让你感觉到步惊云的感觉
    
    print(1+1)
    
    print(x1,x2,"加逗号可以扩展输出")
    
    print("x1加x2等于{}".format(x1+x2)) 
    
    #print("xxx{}".format())常用
    
    print("%f约等于%.2f,%s"%(520.1314, 520.1314, "对吧"))
    

    1 1 加逗号可以扩展输出
    x1加x2等于2
    520.131400约等于520.13,对吧

    比较大小这种就不说了, <, >, ==, !=

    八种数据类型(敲黑板,HR要提问的)

    Type Description
    None 后面会用到
    Number int()或float();数值
    Bool True False
    str() 文本/string,可以看作list来操作
    list [1,2,3,...]; 列表用中括号
    Tuple ("a", "b", "b", "c", ...); 元组用小括号
    Set set(list或tuple), {1, 2, 3,...}; 集合用set得出或大括号得出,元素不能重复
    dictionary {"index1": 1, "index2", 2, ...}; dict用大括号

    列表list

    注意: python中list[0]为第一个元素,list[1]为第二个元素,以此类推

    x = [1,2,3,4,5,"6"]#双引号引着的都是文本
    
    print(len(x))#输出列表长度
    
    print(x[0])#输出列表第一个元素
    
    print(x[:2])#输出列表前两个元素
    
    print(x[-1])#输出列表最后一个元素
    
    print(x[-2:])#输出列表最后两个元素
    

    6
    1
    [1, 2]
    6
    [5, '6']

    range(0,10)
    
    #输出等差序列,默认为+1的等差序列;range(0,10,2)则是+2的等差序列,0为起点;
    

    注意:10为终点+1,实际输出到9结束;这种概念不需要讲,用久了就进潜意识了

    对列表运算,可以直接用sum, max, min将list1(我们命名赋了值的列表,下同)括起来

    文本

    文本/string 本身也是list类型;中文文本操作用jieba package,之后讲

    string1 = "我们都是好孩子"
    
    string1[-3:]
    

    '好孩子'

    "大家"+string1[2:] #+可以连接字符串,若非字符串,先用str()转成字符串再相接
    

    '大家都是好孩子'

    string2 = "i am thinking big dream"
    
    string2_upper = string2.upper()#小写字母大写,小写用lower
    
    string2.split(" ")#通过分隔符" "切割成list,类似Excel split用法(都什么年代了,还用Excel)
    

    ['i', 'am', 'thinking', 'big', 'dream']

    集合Set

    set1 = set([1, 2, 3, 4])
    
    set2 = set([3, 4, 5, 6])
    
    print("交集set1 & set2: " + str(set1 & set2))
    
    print("并集set1 | set2: " + str(set1 | set2))
    
    print("差集set1 ^ set2: " + str(set1 ^ set2))
    
    #可以看出,小学公式(小学没学差集概念,只有韦恩图):差集 + 交集 = 并集
    

    交集set1 & set2: {3, 4}
    并集set1 | set2: {1, 2, 3, 4, 5, 6}
    差集set1 ^ set2: {1, 2, 5, 6}

    循环

    最顺手常用的循环就是 for i in range或list1, 偶尔加个enumerate在list前面;while在减少时间复杂度上常用到,在算法题中会出现(不过我们还没到刷leetcode 阶段)

    for i in range(1,10):
    
        print(i**2)#计算平方
    
    #将x**2放进y
    
    y = []
    
    x = range(1,10)
    
    for i in x:
    
        y.append(i**2)#list 后面接.append可以添加元素;摁Tab可以查看list.后可接什么;摁?y.append()可查看用法
    

    现在都是死数字,死文本,连个图都没有?好,开门,放图

    import matplotlib.pyplot as plt
    
    plt.plot(x,y)
    
    plt.title("y=x^2 (x>0)")
    
    #plt.再摁Tab可看plt接法,不清楚再?plt.title();更方便直接百度"python如何画XX图"(google更好)
    
    plt.show()
    
    image

    其实Jupyter内置Markdown有挺多功能,就像编写cnblog也可以选择Markdown编写

    函数

    def 函数名(): 复杂的有函数嵌套,闭包函数和装饰器等(之后见)

    注意:函数也是对象,比如fun1.name输出函数名

    def Calculate_SE(x, y):
    
        """
    
        注释可要可不要,最好还是添加
    
        input: x type: list
    
              y type: list
    
              length of x equals length of y
    
        output: mean square error of x, and y
    
        such as: x = [1,2,3] y = [2,3,3]
    
                output (1-2)**2 + (2-3)**2 + (3-3)**2 = 2
    
        """
    
        minus_square = 0#之后接纳元素差的平方
    
        for i in range(len(x)):
    
            minus_square = minus_square + (x[i]-y[i])**2 #或用+=写法
    
        return(minus_square)
    
    a = [1,2,3]
    
    b = [2,3,4]
    
    Calculate_MSE(a, b)
    

    3

    当然最方便的方法是调用函数包 import XXX

    import numpy as np#as np可要可不要,是种偷懒写法,之后直接写np.XXX引用函数,摁Tab可以查看np.接什么函数
    
    a = np.array(a)
    
    b = np.array(b)
    
    sum((a-b)**2)
    

    3

    Now, It's your time

    试着完成一个九九乘法表,封装成一个函数,九可以为其他数字(We'll show the answer in next blog)

    我靠,终于编写完第一个blog, 眼睛酸痛

    Jupyter Notebook download here

    https://github.com/EigenLaw

    相关文章

      网友评论

          本文标题:第一篇简书-Python入门

          本文链接:https://www.haomeiwen.com/subject/bbqtnqtx.html