本篇主要内容:
• 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='\n',表示输出的内容以换行符为标志换行。
file,表示可以打印文件流。没用过这个
a=10 b=20 c="Hello World!" print(a,b,c,"\nAlbert!",sep=',,,',end='\n')
打印出来就是
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
今天这个就复习到这里。明天写数据类型。