Python开发、安装、执行、基础第一天 2018.10.13
开发:
语言
高级语言:Java、C++、PHP、GO、ruby ->字节码
低级语言:C、汇编 ->机器码
机器码:二进制数字串,计算机直接识别
字节码:高级(各自的字节码)->低级->机器码
高级语言--->低级语言--->计算机操作系统(字节码--->机器码--->操作系统)
语言之间的对比:c语言工作后一定要自学
C运行时会开辟内存,运行结束后不会自动删除所开辟的内存(浪费内存,占用内存大)
Python和Java--->既能写页面也能写后端,Java比Python执行效率高(快)Python能做的比Java多。Python开发效率高(语言和语言间执行效率差别很小--->都转化为低级语言,由低级语言执行)
PHP:只写网页,做网页,快速(国外已经被淘汰了)局限性
Python种类:
JPython---->Java开发的Python(JPython代码--->Java代码--->低级语言)
TronPython---->用C#开发的Python
cPython---->一般情况下说的Python说的就是cPython
JavaScriptPython
RubyPython
。。。
pypy---->cPython开发的Python:对Python的升级,第一次效率低
(pypy代码--->cPython代码--->字节码--->低级语言--->机器码)
之后每次pypy代码--->cpython代码--->机器码 实质上是对Python的一个升级,不够稳定不是主流。

安装 :
Linux,win
Python安装在OS上 执行操作:写一个文件,文件中按照Python规则写,将文件交给Python软件,读取文件中的内容,然后进行转换和执行,最终才获取结果
Python---->Python解释器(内存管理,垃圾回收机制)
win环境变量:不配置在终端需要一步一步进入路径执行需要执行的文件
path路径: 配置在终端只需要输入要执行的文件名就可以执行
执行:
1、单个文件后缀名可以是任意--->内容符合Python规则就可以
多个文件导入模块时,后缀名不是.py报错
2、两种执行方式:
Python解释器---->py文件路径
Python进入解释器,实时输入并得到执行结果
3、解释器路径:
Linux(不需要配置环境变量---->自带Python2)
#!/usr/bin/env python
没配置环境变量,Python解释器路径 ./2.文件名 加权限
4、编码解码
-*-coding:utf8-*-
只存在Python2中,Python2解释器默认ASCII编码解码
Python3默认utf8
ASCII--->2^8
unicode--->2^16(浪费内存)--->万国码
utf8(utf-8)Python2出现中文头部必加
补充:gbk--->中文编码2字节表示
基础
1、执行一个操作提醒用户输入用户名密码
检测用户信息,正确成功,错误失败
遇到input一直等待直到用户输入
user=input('请输入用户名:')
password=input('请输入用户密码:')
if user =='小明':
if password=='123':
print("通过检测登录成功")
else:
print('登录失败')
2、变量名:数字、字母、下划线(不能是数字开头,不能是关键字,不要和Python内置的东西重复)
关键字:
'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'
变量名---->有意义些,让人一看就懂得(单词间用下划线连接)
3、条件语句
代码块:冒号后的代码
if 条件:
else:
支持嵌套(多if) 支持多条件判断(elif)
补充:pass代表过,什么都不执行 continue跳过本次循环 break跳出循环
if 1!=1:
print(0)
else:
print(0.0)
while循环+if
#1-2+3-4+5....+99
n=1
sum=0
while n<100:
if n%2==0:
sum=sum-n
else:
sum=sum+n
n+=1
print(sum)
运算符:
算数运算符、赋值运算符
布尔值:
逻辑运算符(and、or)、成员运算符(...in...)、比较运算符(>,<...)
name='abc'
if 'ac' in name:
print('ok)
else:
print(no) #--->no字符之间连续不可以间隔
v=1==1
print(v) #-->True
user='alex' pwd='123' v=user=='alex'and pwd=='123'or 1==2 and pwd=='99854'and 1==2 print(v)
or前为真则计算机会认为全为真不考虑后面的
and两边有一个假则计算机会认为全为假不考虑后面的了
补充:
先计算括号内(一般用括号,看起来不乱)
执行顺序:从前到后 结果 True OR---->True True AND---->继续走 False OR---->继续走 False AND---->False
浙公网安备 33010602011771号