python 2 和 3 的区别
1、用户输入的命令:python 2 中是raw_input("");python 3 中是input(“”)。
2、默认字符编码:python 2 是ASCII码;python 3 是 Unicode码。
3、windows的默认安装路径不同:python 2.7是c:\python27;python 3 是C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.5(user表示当前安装的用户名)
4、2 和 3 同时安装在Windows上需要更改环境变量,要将不是默认的python环境变量加到系统的环境变量中(如默认的python3.5,就将python2.7的加到系统的环境变量中)。具体如下(win8为例):
Python文件的
运行方法
1、python filename.py
2、./filename.py
Python文件的注意事项
1、文件命名的后缀为py
2、文件编写时,开头两行要指定解释器和字符编码,如下
#!/usr/bin/env python 指定解释器为Python,就可以使用./filename.py执行此文件
# -*- coding: utf-8 -*- 指定此文件的编码类型为UTF-8,就可以在此文件中输入中文
3、对filename.py要具有执行的权限,如果没有可以使用chmod 755 filename.py命令添加
Print语句
Print的作用
打印变量、数字和字符串
Print的用法
print(“”)
Print的注意事项
1、打印数字和变量不需要加引号。如print(name)、print(888)。
2、打印字符串需要引号。如print(“Welcome”)。
变量
语法
variable = "value"
ps:当value是数字或变量时不使用引号
变量的命名
1、只能为字母、数字和下划线
2、第一个字符不能为数字
3、命名较复杂时使用单词首字母大写或用下划线隔开,如:FileName或file_name
4、不能是一下名称['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']
字符编码
电脑可以识别的二进制码与语言的对应关系
1、ASCII码:发明最早;占用空间小;只适用于英文,不兼容其他语言;使用一个字节(8位),可以表示2**8=256-1个符号。
2、 Unicode码(又为万国码或统一码):占用空间较大;适用于所有语言;最少使用两个字节,可以表示2**16=65536-1个符号
3、UTF-8:集成了ASCII码和Unicode的优点,将语言分类保存,用一个字节保存英文,两个字节保存欧洲语言,三个字节保存东亚语言
Python注释
作用
1、不被python程序执行的内容
2、用于注明、解释某一行或某一段代码的作用和说明
3、多行注释可以设置成变量的值被打印出来,效果类似于制作文本模版
方法
1、单行注释:#+被注释的内容
2、多行注释:'''被注释的内容'''
input语句
用于用户输入数据使用
语法
input("")
ps:1、一般作为变量的值使用,如name = input("input your name:")
2、python 2 的用户输入是raw_input
import语句
可以调用系统自带的标准模块,也可以调用第三方模块
语法
import 模块
例如:import os #调用系统自带的OS模块
import的查找列表
使用print(sys.path)命令查看import的调用模块的目录列表,列表用逗号隔开,从左到右依次调用,第一个位置是当前目录。下图是以linux下的python3.4举例,其中红框中的/usr/local/lib/python3.4/dist-packages是全局环境变量的位置,一般将第三方的模块放到这个位置就可以随时调用了,
下图为python2.7中的路径是/usr/local/lib/python2.7/dist-packages(如下图,有时目录名是site-packages)。
getpass语句
用于用户输入密文的数据
语法
import getpass
password = getpass.getpass("")
ps:此语法只适用于在linux下使用,不能在pycharm下使用
标准库——os模块
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。
语法
import os
os.system("系统命令“)
举例
import os
os.system("ll /etc") #调用linux系统下”ll“命令查看/etc下的目录文件列表
第三方库——tab补全模块
默认linux和mac系统下的python是没有tab补全功能的,需要手动创建tab.py,将写好的tab.py文件放到全局环境变量(dite-packages)目录里,就可以随时使用import调用了
tab.py文件的内容
1 import sys 2 import readline 3 import rlcompleter 4 5 if sys.platform == 'darwin' and sys.version_info[0] == 2: 6 readline.parse_and_bind("bind ^I rl_complete") 7 else: 8 readline.parse_and_bind("tab: complete") # linux and python3 on mac
1 #!/usr/bin/env python 2 # python startup file 3 import sys 4 import readline 5 import rlcompleter 6 import atexit 7 import os 8 # tab completion 9 readline.parse_and_bind('tab: complete') 10 # history file 11 histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 12 try: 13 readline.read_history_file(histfile) 14 except IOError: 15 pass 16 atexit.register(readline.write_history_file, histfile) 17 del os, histfile, readline, rlcompleter
if语句
判断语句,逻辑上解释就是:如果符合某条件则执行对应的操作
语法
if 条件:
执行的操作
elif 条件:
执行的操作
else:
执行的操作
ps:注意冒号和缩进;如果判断的条件有很多,可以增加elif
举例
1 _numbuter = 55 2 _guess = int(input("请输入你的猜测数字:”)) 3 if _numbuter == _guess: 4 print("恭喜您,猜对了“) 5 elif _numbuter > _guess: 6 print("不好意思,您猜大了”) 7 else: 8 print(“不好意思,您猜小了”)
ps:1、判断语句的符号有:<(小于)、>(大于)、==(等于)、>=(大于等于)、<=(小于等于)
2、判断多个条件同时成立是用“or”和“and”,or表示或者(其中一个条件满足即可),and表示且(同时满足)
3、当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。如下例:
for循环语句
是从某个对象里面依次将元素读取出来,并在所有元素都处理过后结束循环
语法
for 变量 in 取值对象
...代码块...
break
举例
username = "aaa" passwd = "888" for i in range(10): if i < 3: user = input("请您输入用户名:") password = input("请您输入密码:") if user == username and passwd == password: print("恭喜您,输入正确") break else: print("您输入的用户名密码不匹配,请重新输入。。。") else: print("您输入的错误次数过多") break
文件的操作
python可以对文件进行打开,追加写入,关闭操作
打开文件
后台打开文件
语法
变量 = open("文件路径“,”打开模式“)
如:filename = open("/home/aa.txt","r") 命名变量filename以只读的方式打开/home/aa.txt文件
打开的模式有如下几种:
w:以写方式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )
读取文件内容
结合打开文件使用,可以在后台调去文件中的内容
语法
filename.readline()
如下,调取文件内一整行的内容:
1 filename = open("/home/aa.txt","r") 2 filename.readline()
文件写入
可以将对象写入到文件内,结合打开文件使用
语法
filename.write("content") #content可以是字符串、变量和数字,为变量时不使用引号
如下将”公司名“写入到文件aa.txt中
1 filename = open("/home/aa.txt","r") 2 filename.write("公司名")
文件关闭
对文件进行操作后,一定要将文件关闭
语法
filename.close()
如下
1 filename = open("/home/aa.txt","r") 2 filename.write("公司名") 3 filename.close()