python基础大满贯——20170423

时间: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])

 

疑惑:列表,字典 表示方式

posted @ 2017-04-24 23:32  扑克脸的笔记本  阅读(267)  评论(0编辑  收藏  举报