day01 基础一
一、概述
C 语言 代码编译得到机器码,在处理器上直接执行,每条指令控制CPU工作
其他语言 代码编译得到字节码,虚拟机执行字节码并转换成及其码再到处理器上执行
JAVA虚拟机 JVM python虚拟机 PVM
python版本
CPython 由C语言实现,官方版本
JPython 由JAVA实现, 好处是 可以掉很多JAVA的库
IronPython 由C#实现
。。。。
2.7版本 过度版本,只支持到 2020年,会直接换到起码 3.4版本
2版本和3版本变化
如 2 中 print ‘123‘ 到 3 就是 print(‘123‘) print(‘11‘,‘12‘)
2中需要先申明字符编码才能写中文,而3中直接就可以
2与3某些库名更改了,大小写
Twisted不支持3
安装 装 3.5 和 2.7 双版本
配置环境变量 编辑 path 添加路径目录 如 c:\\python27
linux下
代码中加入
#!/usr/bin/python 指明解释器,才能 ./*.py 执行
#!/usr/bin/env python 这样写法更好,避免 装的版本不在 /usr/bin 下的情况
工具pycharm 社区版 免费
pycharm 按住 ctrl+d 复制一行
tab 缩进 选中多行 按 tab 多行缩进,
shift+tab 反向缩进
按ctrl+某个方法,则可以看到该方法的源代码
变量的标示作用,有意义的名称 复杂的名称下划线的使用 son_of_twins_brother 或驼峰法 SonOfTwinsBrother
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
[‘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‘]
user,passwd = ‘aaa‘,‘123‘
二、编码格式
ASCII 一个字节标示一个字符,一个字节8个bit 一个字节表示的最大数字 255
ASCII 码 127 个字符
中文字符设计为存储在另一张表中,在 ASCII表中有一个位置指向,即如果访问中文字符则访问ASCII中某个位置,再连接到 中文字符的表
如果链接位置出现交叉等情况,则不同国家语言字符出现乱码的情况
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536
则 原本1M的英文文档,就变成2M了
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill 2版本时)
python 开发规范,每一行最多不超过 80个字符
三、用户输入
Python3.0中的写法
user_input = input("input your name:")
print("user input msg",user_input)
2.7版本写法
user_input = raw_input("input your name:")
user_input = input("your name:") //需要输入变量或数字,直接输入字符串会报错
输入密码时不可见 使用 getpass 库
import getpass
password = getpass.getpass(‘input pass:‘)
四、模块使用
os.system() 先返回执行的结果,再返回 成功的话 返回0 错误返回其他数字
如 aa=os.system() 则 aa 只会保存 返回的状态数字
aa = os.popen("df -h").read() 可以把命令执行的结果保存起来
模块存放的路径 sys.path
一般是在 Python2.7/site-packages
或者 usr/lib/python2.7/dist-packages
sys.path 列表中 第一位是 当前目录,则查找模块的顺序时 按 sys.path 列表先找 当前目录,找到一个就不继续找了
tab补全代码
#!/usr/bin/env python # python startup file import sys import readline import rlcompleter import atexit import os # tab completion readline.parse_and_bind(‘tab: complete‘) # history file histfile = os.path.join(os.environ[‘HOME‘], ‘.pythonhistory‘) try: readline.read_history_file(histfile) except IOError: passatexit.register(readline.write_history_file, histfile) del os, histfile, readline, rlcompleter
五、格式化字符串
站位符 %s 字符串
%d 数字
%f 浮点数
pip install readline 使用 pip 安装
#pip python安装后就会有,需要配置环境变量 pip也有版本的区别
六、基本的if 判断及循环语句
if
elif
else
循环
for i in range(10): 将 range中的值 逐个取出来赋值给 i
break 和 continue
while
死循环
while True:
print ‘123‘
在线画流程图 processon.com