一、第一句Python代码
在/home/dev/目录下创建hello/py文件,内容如下:
print "hello world"
执行hello.py文件,即:python /home/dev/hello.py
二、解释器
上一步中执行python /home/dev/hello.py时,明确指出hello.py脚本是由python解释器来执行
如果想要类似于执行shell脚本一样执行python脚本,例如:.hello.py, 那么久需要在hello.py文件的头部指定解释器
如:
在linux中 可在文件h.py开头加上#!/usr/bin/env python
执行前需要给与h.py执行权限chmod 755 h.py
执行./h.py
三、内容编码
python 解释器在加载.py文件中的代码时时,会对内容进行编码(默认AscII)
ASCII unicode utf-8
# -*- coding:utf-8 -*-
#解码,需要指定原来是什么编码
实例
1 #-*- coding:utf-8 -*- 2 3 #py2 4 5 temp="李杰" #utf-8 6 7 #解码,需要指定原来是什么编码 8 9 temp_unicode=temp.decode('utf-8') 10 11 #编码,需要制定要编成什么编码 12 13 temp_gdk=temp_unide.encode("gdk") 14 15 16 17 print(temp_gbk)
#py3
1 #py3,自动装换 utf-8 unicode gbk 2 3 #py3,移除了Python的Unicode类型 4 5 temp=“李杰” 6 7 #自动装换 utf-8 unicode gdk 8 9 temp_gbk=temp.encode('gbk') 10 11 12 13 print(temp_gbk)
#windows终端需要gbk
小结
1、unicod,gbk,utf-8
2、对于python27
utf-8>gbk
utf-8解码Unicode编码gbk
py3.5
utf-8编码成gbk
3、window上输出
utf-8 > unicode
四、注释
#无效内容,只作为注释用
“”“多行注释“”“
五、
写各种各样的功能
import lib
#找到lib.py,将文件内容替换 import lib
#1、连接数据库
#2、数据增删改查
六、密码隐藏
输入密码是,如果想要不可见,需要利用getpass模块中的getpass 方法,即
import getpass
#将用户输入的内容赋值给name变量
pwd=getpass.getpass("请输入密码:")
例子
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 #import lib 5 import getpass 6 7 #print('index') 8 i1 = raw_input("username:") 9 #i2 = raw_input("password:") 10 i2=getpass.getpass("password:") 11 12 print(i1) 13 print(i2)
七、python运行的基本流程
1、创建 XXX.py 文件
ps:不要有中文路径
2、写代码
a、头部两行
b、写功能代码
#写功能代码的规则
3、执行代码
a、打开终端
功能键+R
b、python代码文件的路径
八、条件
if 条件,elif 条件,else
九、流程控制和缩进
#raw_input()等待用户输入
需求一、用户登录验证
1 #!/usr/bin/env/ python 2 3 # -*- coding: encoding -*- 4 5 #提示输入用户名和密码 6 7 #验证用户名和密码 8 9 #验证用户名和密码 10 11 #如果错误,则输出用户名和密码错误 12 13 #如果成功,则输出 欢迎,XXX 14 15 import getpass 16 17 name = raw_input('请输入用户名:') 18 19 pwd = getpass.getpass('请输入密码:')
需求二、根据用户输入内容输出其权限
1 #根据用户输入内容打印其权限 2 3 #alex-->超级管理员 4 5 #eric-->普通管理员 6 7 #tony,rain-->业务主管 8 9 #其他-->普通用户 10 11 12 13 name=raw_input("请输入用户名:”) 14 15 if name == "alex": 16 17 print "超级管理员" 18 19 elif name=="eric": 20 21 print "普通管理员” 22 23 elif name =="tony" or name=="rain": 24 25 print "业务主管" 26 27 else: 28 29 print "普通用户"
十、while循环
1、基本循环
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 import time 4 kaishi=1 5 while True: 6 print(kaishi) 7 if kaishi == 10: 8 break 9 kaishi =kaishi + 1 10 time.sleep(1) 11 12 print('end')
2、break关键字
用于跳出所有循环,并且break下面的代码,将不再执行
3、continue关键字
用于跳出本次循环,继续下一次循环(终止当前循环,开始下一次循环)
十一、for循环
1、基本循环
1 s="alex" 2 3 for item in s: 4 print(item)
2、break关键字
1 s="alex" 2 3 for item in s: 4 if item =="l": 5 break 6 print(item)
3、continue关键字
1 s="alex" 2 3 for item in s: 4 if item =="l": 5 continue 6 print(item)
其他功能
1、enumrate
为可迭代的对象添加序号
1 li=[11,22,33] 2 for k,v in enumerate(li,1): 3 print(k,v) 4 #输出结果 5 (1, 11) 6 (2, 22) 7 (3, 33)
1 #实例 2 #enumerate 自动生成一列,0自增一 3 #字符串 4 #for key,item in enumerate(li,1):表示从1开始 5 li=['电脑','鼠标垫','U盘','游艇'] 6 print(li) 7 for key,item in enumerate(li,1): 8 print(key,item) 9 inp = input("请输入商品:") 10 #字符串转换成int 11 inp_num = int(inp)-1 12 print(li[inp_num])
2、range 和 xrange
指定范围,生成指定数字
print range(1,10) print range(1,10,2) print range(30,0,-2) #输出结果 [1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 3, 5, 7, 9] [30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
1 #range xrange 2 #py2.7 3 #range,用获取指定范围内的数,range(0,10000000) 会在内存中创建,内存占满 4 #xrange,用获取指定范围内的数,xrange(0,10000000) 不会在内存中创建 5 for i in xrange(1,1000): 6 print(i) 7 8 #py3,range,等同关于2.7的xrange 9 range(1,10)
#从10开始取10到1的数字间隔为1,左开右闭
1 for i in xrange(10,1,-1): 2 print(i) 3 #输出结果 4 10 5 9 6 8 7 7 8 6 9 5 10 4 11 3 12 2
#输出li元素中的索引 li=['alex','eric'] leee=len(li) for i in range(0,leee): print(i,li[i]) #输出结果 (0, 'alex') (1, 'eric')