zoukankan      html  css  js  c++  java
  • Python——初识Python

    本篇主要内容:

    • Python的特点

    • Python的种类

    • Python的编码

    • Python的安装环境推荐

    • Python的基础用法:输入输出,算术运算符,逻辑运算符,基本程序结构语法

      我为什么要学Python呢?很简单,Python实在是太强大了。它不需要很专业的数据结构、算法知识,需要用的路别人都铺好了,并且铺的特别平正,我们需要做的就是去调包即可,可以节省大量的时间。但是正是由于别人都把工作安排的明明白白,导致很多学Python的人到头来只会搬砖,所以我要清楚,语言只是工具,不管去用来做什么,都要懂得其中之理。

      Python的特点:即快又慢,快在它开发速度快,搭建一个网站只需要几行代码,做大量数据的数据也只是需要几行代码,开发者在很短的时间内就能做出自己想做的产品。慢在它的性能,执行同样的功能,C需要1秒,Python就至少需要10秒,就是因为Python的高度封装性,可能只是一行打码,但其底层会花费大量的时间。但是随着现在CPU执行速度的快速发展,Python的劣势越来越低,C的0.01s和Python的0.1s在我们看来没有任何区别,都是瞬间出结果。所以Python这几年的使用率一路飙升,已经超过了C++位居第三。

      Python的种类:目前用的最多的Python是用C语言写的,也叫CPython,其任何操作都是由Python解释器解释为C代码再执行的,效率也比较高。除此之外,还有JavaPython,C#Python,PyPy,他们的底层分别是Java,C#,Python,Pypy是对Python的再度封装,使其更加简洁,但是使用率不高。这三种Python几乎没人用,因为Java,C#也都是以C为底层的。。。直接用CPython就行啦。除非一些限制场景,比如Python要跟Java交互,这样的话用JavaPython会更好。大概就是下面这幅图的关系。

    知道为什么大学里面第一个编程基础课是C了吧。他几乎是所有编程语言的祖宗。简单而又底层。所以如果想学好编程语言,还是要把C学踏实。学其他语言的时候才更容易理解,更容易找到错误所在。

      Python的编码:Python3的py文件都是以utf-8编码的。Python2则不是,需要加上#  -*- coding:utf-8 -*-。各种编码关系如下图所示。

      出现utf-8就是因为Unicode在处理字母时,也会编码为16位,这样的话高8位就全为0,反而浪费很多空间,所以utf-8就把字母编码为8位(1字节),把汉字编码为16位。其他国家语言的可能还有24位的。

      Python安装:

      强烈建议安装anoconda!!!他是Pyhon的开源环境管理包,安装了它,就有了Python,同时也会有Numpy,matplotlib这种非常常用的库,还会附带的有jupyter notebook,写Python的利器。具体安装方法网上多的是,只需要注意一定要勾选把路径配置到环境变量就行。

      IDE的话,上面说的jupyter notebook很不错,还有更专业的Pycharm(网上各种破解方法)。这两个就完全够了,Pycharm属于重量级的PythonIDE,比较吃内存,但他的功能也是十分的强大,想写个小项目,大项目完全没问题。jupyter notebook支持分段运行程序,在日常的学习中非常有用。

    Python基础:

    1、输入输出

    a=input("Input something")

     这一句就相当于C里面的scanf,C++里面cin了,不过Python的input把所有输入的都储存为字符串了。

    其实这个输入并没什么卵用。知道就行了。

    print("Hello World!")

    惊不惊喜,意不意外,一个Hello World!程序就这样写好了。。。。哈哈哈

    源码里面是这样的。。。(pass是什么鬼,就不能写写是怎么实现的么,直接Pass了,应该在其他地方)这个

     这个API

    *args 表示可以同时输出多个内容,

    sep=' ',表示输出多个内容时中间用空格隔开

    end=' ',表示输出的内容以换行符为标志换行。
    file,表示可以打印文件流。没用过这个

    a=10
    b=20
    c="Hello World!"
    print(a,b,c,"
    Albert!",sep=',,,',end='
    ')

    打印出来就是

    10,,,20,,,Hello World!,,,
    Albert!

    有时候想格式化打印还是挺有意思的。

    2、算数运算符

    对于数字的+ - * /就不用多说了。

    %表示求余,

    /表示除(不用处理整型浮点型问题,/会自动处理)

    //表示求商,就相当于将除的结果取整,得到的还是整数。

    **表示乘方运算。相当于数学符号^

    注意Python可以直接用+ -  *对字符串进行操作。

    3、逻辑运算符

    Python里与是and,或是or,非是not。这个跟C里面就不一样的,当成我就用混过,

    不过经过试验,与可以用&,或可以用|,非不可以用!。

    还有一个非常好用的in

    a in b会返回a是否在b里面,这个以后在列表,字典,元组,字符串中很好用。判断不在就是a not in b。

    这样就不用自己去写遍历,或者二分查找算法了。

    4、程序结构

    当然是顺序,分支,循环啦。

    分支:

    a=97
    b=99
    if a>b:
        print("a大于b")
    elif a==b:
        print("a等于b")
    else:
        print("a小于b")

    注意:Python里面不{}表示代码块,而是用的不同的缩进。同样的缩进表示在同一个代码块里面,而不用大括号括住了。

             注意冒号:,这个也跟其他编程语言不一样。刚开始我就有点没反应过来。

    循环

    while 1==1:
        print("I LOVE YOU")

    注意循环条件,冒号,缩进就行(缩进用tab键)

    a=[1,2,3,4,5,6]
    for i in a:
        print(i)

    最常用的还是这种,遍历所有元素。也不用什么i++,他会自己进行迭代。

    输出

    1
    2
    3
    4
    5
    6

    他能遍历很多数据类型。

    a="I LOVE YOU"
    for i in a:
        print(i)
    
    
    输出:
    I
     
    L
    O
    V
    E
     
    Y
    O
    U

    今天这个就复习到这里。明天写数据类型。







  • 相关阅读:
    jmeter(46) redis
    jmeter(45) tcp/ip协议
    Codeforces Round #538 (Div. 2)D(区间DP,思维)
    Codeforces Global Round 1D(DP,思维)
    Educational Codeforces Round 57D(DP,思维)
    UPC11073(DP,思维)
    Yahoo Progamming Contest 2019D(DP,思维)
    Atcoder Beginner Contest 118D(DP,完全背包,贪心)
    Xuzhou Winter Camp 1C(模拟)
    Educational Codeforces Round 57 (Rated for Div. 2)D(动态规划)
  • 原文地址:https://www.cnblogs.com/albert-yzp/p/10054333.html
Copyright © 2011-2022 走看看