python全栈自动化之路:Day1

python全栈自动化之路:Day1

这次我重新启动了,咱们再从头开始吧。

一、python开发语言与其它语言的对比

不管你有没有听过或学过Basic、R……之类的语言,你一定知道PHP??告诉你,在最新的2016TIOBE排行榜中,Python开发语言赶超PHP占据第五,是一个优秀的简洁的开发语言。

python的创始人是吉多·范多苏姆。1989年圣诞节期间,范多苏姆在阿姆斯特丹为了打发时间,决心开发一个新的脚本解释程序,算是对ABC语言的一种继承。

python正逐渐得到业内的认可。python可以做数据分析、数据挖掘(爬虫)、机器学习、量化交易、云计算之类的。

python主要应用:

云计算:云计算最火的语言,典型应用OpenStack

web框架:python有众多非常不错的web框架,众多大型网站使用python开发,Youtube、dropbox、豆瓣,,,典型web框架Django

金融行业:量化交易、金融分析,python不但是在用,且用的最多,而且重要性逐年提高

剩下的就不说了。好了,看了上面的,我们知道python非常厉害。

二、python发展史

  • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增加了 lambdamapfilter and reduce.
  • Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015

三、python 2 or 3

现在,python发展的很厉害。python1.0已经被彻底淘汰,取代而至的是python2.x。虽然现在我们业余普遍使用python3,但也是有IT行业的公司仅支持python2.x。所以,我们也学习python3,但如果你要用python2.x,好,没问题,因为python2和3有些地方时没改的。建议大家使用python3.5,但有了python3.7,但如果用pycharm的话python3.7比较麻烦,导入报错莫名其妙。

区别:

python2.x : print x
python3.x : print(x)

python2.x : print(x,y)
python3.x : print((x,y))

python2.x : print 
python3.x : print()

 

四、python安装

windows:

安装:www.python.org/downloads/

环境变量:【右键计算机】--》【属性】--》【高级系统设置】--》【环境变量】    找到path,更改地址为默认安装地址:

C:/users/(you name)/appdata/local/programs/python/python35-32
注:you name的部分可以在cmd中通过whoami命令寻找。

 

五、Hello World

在你开始使用一个语言的时候,必须要有仪式性。一般老师,都会让同学先打印hello world。让我们看一下代码。

1 #-*- coding:utf-8 -*-
2 print("Hello World!")
python

很简单。第一行代码不用写也可以打印出Hello World!。只要使用print加上小括号,然后在括号里加上双引号,再把你要打印的写出来,就OK了。对比其它语言:

 

1 #include <iostream>
2 int main(void)
3 {
4 std::cout<<"Hello world";
5 }
C++
1 public class HelloWorld{
2   // 程序的入口
3   public static void main(String args[]){
4     // 向控制台输出信息
5     System.out.println("Hello World!");
6   }
7 }
JAVA

经过对比Java和C++的代码,我们发现了,python更加简洁。

 

六、变量

还记得初中数学的变量吗?也就是代数算式中的x和y值。在python中也差不多。但python里的变量名是得提前定义的,而且还可以命名为单词(字符串),但不能命名为数字。定义一个变量特别简单:

1 a = 3
View Code

现在,我们定义了一个变量名叫a。就相当于:变量名=变量值。如果想定义成字符呢:

1 author = "Jerry Huang"
View Code

是不是特别简单?你还可以定义后打印:

1 author = "Jerry Huang"
2 print(author)
View Code

还可以删除这个变量,这样的话,再打印这个变量,就会出现报错信息了。

1 author="jerry huang"
2 del author #删除这个变量
3 
4 print(author)
View Code

当我们再打印的时候,就会出现报错信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

 这个就是我们学习的第一个报错信息。现在我们就要学习认识这个报错信息。首先,第一行我们不管,因为这仅仅是告诉你这是python解释器提供的报错。在第二行中,line元素中,line 1代表第一行,line ?代表第?行(代数)。第三行代表报错信息。NameError是目前我们学习的第一个报错信息。冒号后面,便是报错文了。name ”a" is not defined,就是代表这个变量没定义,因为你删除了。

很简单。注意!!!变量名的规则:

1.开头不能是数字。

2.变量名是由字母、数字和下划线组成的字符串。

3.变量名不能是敏感的关键字:

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

七、字符编码

参考:https://www.cnblogs.com/alex3714/articles/5465198.html

 

八、用户输入

之后,就业、作业都是需要用户交互的。既然有用户交互,就有用户输入。

1 #python3.x
2 a = input("Password:")
3 #变量名 = input(”用户输入信息头“)
4 
5 #python2.x
6 a = raw_input("Password")
7 #变量名 = raw_input(”用户输入信息头“)
View Code

代码上也有解释。如果你想让密码不可见:

1 import getpass
2 pwd = getpass.getpass("Password:")
getpass

 

九、数据类型初识

python的数据类型很简单,你可以看看我的另外一篇博客:

https://www.cnblogs.com/HeckerH/p/9355426.html

 

十、数据运算

算数运算:

+ 对变量/字符串/数字进行加运算。

- 对变量/字符串/数字进行减运算。

* 对变量/字符串/数字进行乘运算。

/ 对变量/字符串/数字进行除运算。

% 对变量/字符串/数字进行求余数运算。

** 对变量/数字进行求幂运算。

// 对变量/字符串/数字进行整除运算。

比较运算:

 

十一、数据判断

 

ifelse是以后非常常用的表达式之一。

代码:

 

 

 1 if 1==2:
 2     print("1==2")
 3 #如果1等于2:打印1=2
 4 
 5 else:
 6     print("1 != 2")
 7 
 8 #不然的话,就打印1不等于2.
 9 
10 elif 1 + 2==411     print(”1 ? 2“)
12 
13 #或者1+2==4:打印1?2
View Code

不讲了。

 

十二、猜年龄程序

现在,我有个需求,要你写出一个有正确答案(无挂)、可以进行用户输入的猜年龄程序。写写试试看?

 1 answer_true = 45
 2 #正确答案 = 45
 3 for i in range(3):
 4     answer = input("answer:")
 5     
 6     if answer == answer_true:
 7         print(“你赢了!”)
 8         break
 9     else10         print(“你输了。。。”)
View Code

这里面涉及一个新的知识:for循环。

 

十三、for……in……循环

https://www.cnblogs.com/alex3714/articles/5465198.html十四、while loop循环

while 循环是一个很棒的循环。告诉你,while不能指定执行次数,只能指定break。当然 for loop循环也能指定break。但是,如果没有被break的话,就会出现死循环。就像这样:

1 a = 1
2 while True:
3     a+=1
4     print("面朝土地,海枯石烂。”,a)
海枯石烂代码

 这样的话,while loop就会无限的加a,也不停的打印。

但如果指定break的话:

1 a = 0
2 while True:
3     a+=1
4     print(a)
5     if a == 1000:
6         import sys
7         sys.exit(0)
春暖花开代码

sys.exit(0)命令你不用管,看懂了就行。就是到1000了就退出,只打印到999。

 

十五、bytes字节数据类型

byte_test1 = b"Jack Chen"

byte_test2 = b"陈杰克“
#报错

byte_test2 = "吃鸡枪王”.encode()

 

bytes字节是以b开头的字符串。但b要写在双引号前面。byte类型不支持ASCII码以外的字符串,但你可以把字符串进行,encode()。

十六、作业:登录接口

作业:登录接口

需求:

1.用户名和密码、密钥可以输入。

2.判断用户名、密码和密钥是否正确

3.利用for loop设置循环次数、事件break。

4.密码不用getpass,密钥要getpass。

 

作业代码发到评论里。

 

   
posted @ 2018-08-13 10:56  等待唐僧的电脑人  阅读(99)  评论(0)    收藏  举报