Day01——Python简介

一、Python简介

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承,Python通过C语言开发。

TIOBE开发语言排名(2018-01-17),python排名第四

https://www.tiobe.com/tiobe-index/

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

1、优点:

  python的类库齐全并且使用简洁,10行代码可以解决c100行代码处理的问题

2、缺点:

      python运行速度慢于C。C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作。其他语言:代码编译得到字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

默认Python使用的是Cpython,即变异后会生成.pyc的文件,pyc文件为字节码文件,代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

二、Python安装

Windows下安装python

1、下载安装包
    https://www.python.org/downloads/
2、安装
    默认安装路径:C:python27
3、配置环境变量
    【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
    如:原来的值;C:python27,切记前面有分号

Linux下安装python

无需安装,linux默认自带Python环境

ps:如果自带2.6,请更新至2.7

查看默认Python版本
python -V
  
1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包,https://www.python.org/ftp/python/
3、解压并进入源码文件
4、编译安装
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默认Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
    vi /usr/bin/yum
    将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

三、Python基本使用

本次学习全部采用Python3.0+版本python

1、第一python脚本编写和运行

#!/usr/bin/env python
# -*- UTF-8 -*-
# Author:Rangle

print("Hello world !")
[root@localhost ~]# python py01.py 
Hello world !

内部执行流程如下:

 2、编码

 python2.X默认是ascill,3.0默认采用utf-8编码,可以再文件开头指定文件编码格式

#!/usr/bin/env python
# -*- coding: utf-8 -*-

3、注释

当行注视:# 被注释内容

多行注释:""" 被注释内容 """

4、脚本传参

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

[root@localhost ~]# more py02.py 
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
  
print (sys.argv )
[root@localhost ~]# python py02.py  a b c
['py02.py', 'a', 'b', 'c']

5、变量声明

变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名
      ['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']
#!/usr/bin/python

name="Tomy"

6、输入和输出 

密码隐式输入,需要通过getpass模块,利用getpass.getpass

#!/usr/bin/env python
# -*- UTF-8 -*-
# Author:Rangle
name=input("请输入你的名字:")
alt="帅哥"

print("我的名字是:%s , %s" %(name,alt))

输出结果:

  请输入你的名字:黎明
  我的名字是:黎明 , 帅哥

#!/usr/bin/env python
# -*- UTF-8 -*-
# Author:Rangle
import getpass

name = input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')

print(name,pwd)

结果如下:
请输入用户名:黎明
请输入密码:
黎明 123456

7、流程控制(if.. else语句)

Python流程控制通过if else语句和If .. elif ...else控制,具体语法设示例如下:

语法1:
if 条件:
   语句1
else:
   语句2
语法2:
if 条件1:
   语句1
elif 条件2:
   语句2
else:
   语句3

示例:

#!/usr/bin/env python
# -*- UTF-8 -*-
# Author:Rangle
import getpass

name = input('请输入用户名:')

if name=="黎明":
   pwd = getpass.getpass('请输入密码:')
   if pwd=="123456":
       print("用户密码正确!")
   else:
       print("密码错误!")
elif name=="郭富城":
    pwd = getpass.getpass('请输入密码:')
    if pwd == "qwe123":
        print("用户密码正确!")
    else:
        print("密码错误!")
else:
    print("用户名错误")

8、循环语句(while)

python中循环有while和for两种,这里就介绍while循环使用方法

语法:

while 条件:
    # 循环体

##备注说明 ##如果条件为真,那么循环体则执行 ##如果条件为假,那么循环体不执行 ##循环体如果含有continue表示跳出本次循环,继续下一次循环 ##循环体如果含有break表示结束循环,即跳出循环体对应的循环

示例:

#!/usr/bin/env python
# -*- UTF-8 -*-
# Author:Rangle

num=1

while num<=10:
    if num==5:
        num = num + 1
        continue
    elif num==8:
        break
    else:
        print(num)
        num = num + 1

四、Day-01练习题

 1、使用while循环输入 1 2 3 4 5 6     8 9 10

2、求1-100的所有数的和

3、输出 1-100 内的所有奇数

4、输出 1-100 内的所有偶数

5、求1-2+3-4+5 ... 99的所有数的和

6、用户登陆(三次机会重试)

 本文内容参考:http://www.cnblogs.com/wupeiqi/articles/5433925.html

五、附录

编码

原文地址:https://www.cnblogs.com/rangle/p/8305671.html