时间:2017-04-23
地址:沙河城铁a1口右转右转直走--汇德商厦401
python基础回顾
一、语言分类
c语言:机器码
其他高级语言:字节码——机器码
-python语言分类
cpython:代码——c字节码——机器码——执行代码(逐行转换成字节码,逐行转换成机器语言——特点:编译时间短,执行缓慢)
pypy:代码——c字节码——机器码——执行代码 (代码批量转成字节码,批量转成机器语言——特点:编译时间长,执行速度快)
其他python:代码——其他字节码——机器码
附加python基础
a、打开文件、读取文件内容
b、词法分析,语法分析
c、字节
解释器:
windows:
C:\Python35\python.exe D:\1.txt
Linux:
C:\Python35\python.exe D:\1.txt
潜规则:.py结尾
二、编码
ascii(阿斯克编码):专为英语设计编码 只有字母+数字 a:0110 0001
Unicode(万国码、至少16位,2个字节):为全世界语言设计 a:0000 0000 0110 0001
utf-8(万国码的压缩版本):a: 0110 0001 ,一个中文 3个字节
gbk,gb2312:适用中文,一个中文2个字节
三、pycharm
python 3.5 推荐
pycharm license server:http://pycharm.tyr.gift:8888
pycharm——file——default settings
1、encoding :设置utf-8编码格式
2、templates——python script
#!/usr/bin/python3 #制定解释器路径
# -*- coding:utf-8 -*- #解释器使用的编码格式
# author jinxj #作者信息
3、mouse 鼠标移动
##以下pycharm配置谢谢回炉再造的周军同学的告知:
4、pycharm——preferences——appearance——theme:darcula(德库拉吸血鬼)
pycharm——preferences——editor——colors & fonts——scheme:darcula(德库拉吸血鬼)
5、添加django环境
pycharm——preferences——project:自定义项目名——project interpreter——“+”添加django环境
6、快捷键
ctrl+? 批量注释与删除注释
# 注释
“”“
批量注释
“””
加debug调试
.pyc 字节码
四、变量
字母
数字(不能开头)
下划线
不能使用python的内置关键字
变量命名通过下滑线:user_id
五、输入和输出
print(‘A’)
input(‘请输入你的名字’)
import getpass
getpass.getpass('请输入你的密码') # 只能在终端里输入
--应用:
import getpass
name = input("请输入姓名:")
pwd = getpass.getpass('请输入密码:')
if name == 'alex' and pwd == 'sb':
print('欢迎登陆')
else:
print('滚蛋')
六、条件语句
if 1 == 1 and 3 == 3:
elif 2 == 2 :
else:
pass
--应用:
username = input('>>>')
if username == 'alex':
print('普通管理')
elif username == 'oldboy':
print('超级管理')
elif username == '郭少龙':
print('人')
elif username == '刘一':
print('装逼犯')
else:
print('再见...')
print('end')
七、循环语句
while 条件 :
continue #跳出本次循环
break #跳出当前循环
for 条件 :
continue #跳出本次循环
break #跳出当前循环
八、文件操作
v = open(1.txt,r) #只读方式打开
v = open(1.txt,w) #写覆盖的方式打开
v.close() # 关闭文件
九、文件格式化操作
-移除操作
val = ‘ alex ’
q_val = val.strip()
l_val = val.lstrip()
r_val = val.rstrip()
-切割
val = 'alex#sb#num'
f_val = val.split('#')
l_val = val.split('#',1)
r_val = val.rsplit('#',1)
—包含
val = ‘今天课上到很晚’
if ‘晚’ in val :
print(‘包含敏感词汇’)
— 切片
name = '我叫李杰,性别我今年岁,我在说谎!'
print(name[0])
print(name[0:2])
print(name[5:9])
print(name[5:])
print(name[5:-2])
print(name[-2:])
—索引
val = "李杰sb"
v = val[0]
print(v)
val = input('>>>')
i = 0
while i < len(val):
print(val[i])
i += 1
十、列表
list = []
len(list) #列表长度
append() #增加
insert() #插入
remove() #删除
list[0:x:x] #索引以0开始,中间数字结束,最后数字为步长
——应用
创建:
a = ['alex','狗','eric',123]
a = list(['alex','狗','eric',123])
in判断:
if 'al' in a:
pass
if 'al' in a[0]:
pass
索引:
val = a[0]
长度:
val = len(a)
切片:
a = ['alex','狗','eric',123]
v = a[0::2]
print(v)
追加:
a = ['alex','狗','eric',123]
a.append('xxoo')
print(a)
插入:
a = ['alex','狗','eric',123]
a.insert(0,'牛')
print(a)
删除:
a = ['alex','eric','狗','eric',123]
# a.remove('eric')
del a[0]
print(a)
更新:
a = ['alex','eric','狗','eric',123]
a[1] = '阿斯顿发送到'
print(a)
For循环:
a = ['alex','eric','狗','eric',123]
for item in a:
print(item)
# break
# continue
十一、字典
dic = {}
dic.keys() #获得键列表
dic.values() #获得值列表
dic.items() #获得键值组成的列表
—应用
- 创建
v = {
'name': 'alex',
'password': '123123'
}
# 常用操作
# 索引获取值
# n = v['name']
# print(n)
# 增加,无,增加;有,修改
# v['age'] = 19
# print(v)
# 删除
# del v['name']
# print(v)
# 循环
# for item in v.keys():
# print(item)
# for item in v.values():
# print(item)
# for key,val in v.items():
# print(key,val)
print(len(user_dict))
PS: 相互嵌套
user_dict = {
'k1': 'v1',
'k2': {'kk1':'vv1','kk2':'vv2'},
'k3': 123,
'k4': ['alex','eric',['a','b','c'],'李杰',{'k11':'vv1'}],
}
user_dict['k4'][2].append('123')
user_dict['k4'][4]['n'] = '过啥龙'
十二、运算符
a、i += 1
b、
if 1 == 1 or 1 > 2 and 1 == 4
print('正确')
else:
print('错误')
c、
content = "Alex 前几天去泰国玩姑娘,一不小心染上了病,他的内心活动是,真该多来几个"
if "前几天去" in content:
print('包含敏感字符')
else:
print(content)
十三、python数据类型
a、整数 int
-创建
a = 123
a = int(123)
-转换
age = ‘18’
new_age = int(age)
b、布尔值
-创建
a = True
b = False
-转换
-数字转换,只有0是False,其他True
-字符串,只有“”是False,其他True
c、字符串
-创建
a = ‘alex’
a = str(‘alex’)
-转换
age = 19
new_age = str(age)
-字符串的拼接
name = ‘alex’
gender = ‘女’
new_str = name + gender
print(new_str)
-字符串格式化
#占位符
#name = ‘我叫李杰,性别:%s,我今年%d岁,我在说谎!’
#new_str = name %(‘男’,19)
#print(new_str)
#name = ‘我叫李杰,性别:%s,我今年%s岁,我在说谎!’ %(‘男’,19)
#print(name)
十四、练习题:
a. 元素分类
有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
v2 = {'k1': [],'k2':[] }
b. 功能要求:
v = 2000
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
num = input('>>>') # 1
num = int(num)
goods[num]['price']
c. 用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
}
}
for v in dic.keys():
print(v)
inp = input('>>>')
dic[inp]
1 #练习——A 2 # v1 = [11,22,33,44,55,66,77,88,99,90] 3 # v2 = {'k1': [],'k2':[] } 4 # for i in v1: 5 # if i > 66: 6 # v2['k1'].append(i) 7 # elif i < 66: 8 # v2['k2'].append(i) 9 # print(v2)
1 #练习--B 2 # goods = [{"name": "电脑", "price": 1999}, 3 # {"name": "鼠标", "price": 10}, 4 # {"name": "游艇", "price": 20}, 5 # {"name": "美女", "price": 998}] 6 # num = input('请输入总资产:') 7 # num = int(num) 8 # user_goods = input('请输入你想要的物品:') 9 # for item in goods: 10 # if user_goods == item["name"] and num < item['price']: 11 # print('账户余额不足') 12 # elif user_goods == item["name"] and num > item['price']: 13 # print('购买成功')
1 # #练习——C 2 # dic = { 3 # "河北": { 4 # "石家庄": ["鹿泉", "藁城", "元氏"], 5 # "邯郸": ["永年", "涉县", "磁县"], 6 # }, 7 # "河南": { 8 # "郑州": ["中原区", "金水区", "二七区"], 9 # "开封": ["鼓楼区", "龙亭区", "顺河区"], 10 # }, 11 # "山西": { 12 # "太原": ["杏花岭区", "小店区", "迎泽区"], 13 # "大同": ["矿区", "南郊区", "新荣区"], 14 # } 15 # } 16 # for v in dic.keys(): 17 # print(v) 18 # prov = input('请输入了解的省:') 19 # if prov == "河北": 20 # for city in dic["河北"].keys(): 21 # print(city) 22 # c = input('请输入你要了解的市区:') 23 # if c == "石家庄" : 24 # for zone in dic["河北"]["石家庄"]: 25 # print(zone) 26 # if c == "邯郸": 27 # for zone in dic["河北"]["邯郸"]: 28 # print(zone) 29 # elif prov == '河南': 30 # for city in dic["河南"].keys(): 31 # print(city) 32 # c = input('请输入你要了解的市区:') 33 # if c == "郑州": 34 # for zone in dic["河南"]["郑州"]: 35 # print(zone) 36 # if c == "开封": 37 # for zone in dic["河南"]["开封"]: 38 # print(zone) 39 # elif prov == '山西': 40 # for city in dic["山西"].keys(): 41 # print(city) 42 # c = input('请输入你要了解的市区:') 43 # if c == "太原": 44 # for zone in dic["山西"]["太原"]: 45 # print(zone) 46 # if c == "大同": 47 # for zone in dic["山西"]["大同"]: 48 # print(zone)
1 # for v in dic.keys(): 2 # print(v) 3 # prov = input('请输入了解的省:') 4 # print(dic[prov]) 5 # city = input('请输入你要了解的市区:') 6 # print(dic[prov][city])
疑惑:列表,字典 表示方式