python的出生

1.语言的种类

机器语言------》汇编语言------》高级语言

高级语言按转换方式分为两类:

解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(如python程序,先翻译/编译成字节码,然后由解释器解释执行,这个过程程序员都无需关心了,享受这种便利即可),一边执行

编译类:编译是指在程序执行之前,就将程序源代码“翻译”成机器指令,并保存成二进制文件

2.python 的简介

    Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

3.python的入门

1.第一句python代码

    1. 解释器:即时调试代码,代码无法永久保存

    2. 文件:永久保存代码

     python内部的执行过程:

在linux平台中如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

#!/usr/bin/env python #该行只对linux有效

print('hello world')

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

python执行一个程序的过程的三个阶段:

3.2文件头

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

3.3 注释

当行注视:# 被注释内容

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

3.4 执行脚本传入参数

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

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

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

C:UsersAdministrator>python D:python_testhello.py arg1 arg2 arg3
['D:\python_test\hello.py', 'arg1', 'arg2', 'arg3']

3.5 了解pyc文件

执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

4  输入输出

python3中统一都是input,python2中有raw_input等同于python3的input,另外python2中也有input

1.res=input("python3: ")

2.res=raw_input("python2: ")

3.res=raw_input("python2: ")

1,2无论接收何种输入,都被存为字符串赋值给res,而3的意思是,用户输入何种类型,就以何种类型赋值给res

#!/usr/bin/env python

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

执行

C:UsersAdministrator>python D:python_testhello.py
请输入用户名:egon
egon

===============================================================================

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

#!/usr/bin/env python

import getpass
password=getpass.getpass('请输入密码:')
print(password)

执行(在pycharm中无法执行,需要到终端中执行)

九 流程控制

9.1 条件语句

1 单分支

2 多分支

需求一、用户登陆验证

复制代码
#!/usr/bin/env python

name=input('请输入用户名字:')
password=input('请输入密码:')

if name == 'egon' and password == '123':
    print('egon login success')
else:
    print('用户名或密码错误')
复制代码

需求二、根据用户输入内容输出其权限

复制代码
#!/usr/bin/env python
#根据用户输入内容打印其权限

'''
egon --> 超级管理员
tom  --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
'''
name=input('请输入用户名字:')

if name == 'egon':
    print('超级管理员')
elif name == 'tom':
    print('普通管理员')
elif name == 'jack' or name == 'rain':
    print('业务主管')
else:
    print('普通用户')
复制代码

9.2 循环语句

while 循环

1、基本循环

while 条件:
     
    # 循环体
 
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

2、break

break用于退出本层循环

while True:
    print "123"
    break
    print "456"

 

3、continue

continue用于退出本次循环,继续下一次循环

while True:
    print "123"
    continue
    print "456"

4 tag

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

# while True:
#     username=input('username: ')
#     password=input('password: ')
#     if username == 'egon' and password == '123':
#         while True:
#             cmd=input('>>: ')
#             if cmd == 'q':
#                 break
#             print('------>%s' %cmd)
#         break
tag=True
while tag:
    username=input('username: ')
    password=input('password: ')
    if username == 'egon' and password == '123':
        while tag:
            cmd=input('>>: ')
            if cmd == 'q':
                tag=False
                continue
            print('------>%s' %cmd)
复制代码
View Code

for循环

for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%s' %(i,j,i*j),end=' ')
    print()

 -------------------------------------------------------------------------------------------------------------------------------------------------------

PYthon2 与 python 3中的 input的区别

原文地址:https://www.cnblogs.com/junxiansheng/p/6952696.html