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) 复制代码
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的区别