C语言基础学习PYTHON——基础学习D01
20180705内容纲要:
1 PYTHON介绍
2 PYTHON变量定义规则
3 PYTHON文件结构
4 PYTHON语句及语法
5 字符编码
6 数据类型
7 模块
8 小结
9 练习:购物车小程序
- 编译和解释的区别?
编译和解释都有“翻译”的意思,它们的区别在于翻译的时机安排不大一样。打个比方:假如你打算阅读一本外文书,而你不知道这门外语,你可以找一个翻译,给他足够的时间让他从头到尾把书翻译好,然后把书的母语版交给你;或者,你也可以让这名翻译辅助你阅读,让他一句一句地给你翻译,如果你想回看某个章节,他也得给你重新翻译。
1 PYTHON基本介绍
Python是面向对象、动态、解释型、强定义类型脚本编程语言。
2 PYTHON变量定义规则
(1)在python中,标识符由数字、字母、下划线组成;
(2)标识符不能以数字开头,且区分大小写;
(3)以下划线开头的标识符是有特殊意义的。以单下划线开头( _x)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
(4)以双下划线开头的 (__x) 代表类的私有成员;
(5)以双下划线开头和结尾的 (__x__) 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数;
(6)Python 可以同一行显示多条语句,方法是用分号 ; 分开。
3 PYTHON文件结构
(1)起始行:#!usr/bin/env python 可以在view-toolbar-settings中设置
(2)模块文档 “This is a test module”
(3)模块导入 import sys import os...
(4)全局变量定义 debug=True
(5)类定义(若有)
(6)函数定义(若有)
(7)主程序
4 PYTHON语句及语法
(1)注释
a、单行注释 #
b、多行注释 ''' 被注释内容''' 或"""被注释内容 """"
(2)代码组
Python中缩进相同的一组代码组成一个代码块;
首行以关键字开始,如if,while等,以冒号结束;
Python中必须严格执行缩进;
同一行放置多个语句用分号进行分割。
5 字符编码
(1)ASCII
(2)GB2310-GBK1.0-GB18030
(3)Unicode
(4)Utf-8
6 数据类型
(1)数字类型:int float long complex 布尔型
(2)字符型:str
数据类型转换:
1 num1=5.61
2 type(num1)
3 str(num1)
4 print(num1)
5 type(num1)
6 repr(num1)
7 type(num1)
8 str1=repr(num1)
9 type(str1)
10 print(str1)
(3)列表[ ]
容器类型。任意对象的有序集合,通过索引访问其中的元素,可变对象,异构,任意嵌套。
l1=[]
print l1
id(l1)
l2 = [1,2,3,4,5]
print l2
l3 = [1,'b'] #异构
print l3
l4 = [[1,2],['a','b']] #嵌套
print l4
支持原处修改
l2 = [1,2,3,4,5]
print l2
l3 = [1,'b']
print l3
l4 = [[1,2],['a','b']]
print l4
l2[1] =32
print l2
l2[3] = 'xyz'
print l2
l2[1:3]
l2[1:3] = []
print l2
l2[1]
del(l2[1:])
print l2
l3 =[1,2,3,4,5,6]
l3.
l3.append(77)
peint l3
id(l3)
l3.append(106)
id(l3)
print (l3)
l4 =['x','y','z']
l3.append(l4)
id(l3)
print(l3)
l3.sort
help(list.sort)
l3.reverse
(4)元组()
又叫“只读列表”,只支持 .count和 .index,即查询和计数功能。
t1 =(1,2,3,4,5)
t1.index
t1.count(2)
t1.3
t1.index(3)
t1.index(30)
30 in t1
print t1
print t1[1:]
t2=()
len(t2)
t3=(,)
t4 = x
t4 ='x','y','z'
print t4
t1 + t4
t4 * 3
'x' in t4
1 in t4
t5 =['x',[1,2,3]]
print t5
print t5[1]
t5[1].pop()
print t5
id(t5)
t5[1].append(6)
id(t5)
print t5
(5)字典
字典dict是无序的,key必须是唯一的。支持多级嵌套和循环。
d1={‘x’:32,'y':[1,2,3,4]}
d1[0]
d1['x']
d1['y']
d1['y'][1:]
len(d1)
d1['x']
d1['x'] = 504
print d1
d1.
di.copy()
d2 = d1.copy()
d3 = d1
print d3
id(d3)
id(d1)
id(d2)
help(dict.fromkeys)
d1.get('x')
d1.get('y')
d1.has_key('x')
d1.has_key('y')
d1.has_key('z')
help(dice.items)
d1.items()
t1,t2=d1.items()
print t1
print t2
#字典复制
m1,m2={'x':1,'y':2}
print m1
print m2
d1.keys()
d1.items()
d1.values()
d1.pop('x')
print d1
d2.popitem()
d2.popitem()
d2.popitem()
d1={'x':1,'y':2}
d2={'m':21,'n':76,'y':44}
d1.update(d2)
print d1
#Author:ZhangKanghui
info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
'''
#增加
info["stu1104"] ="CangJing Kong"
print(info)
#修改
info["stu1101"]="武藤兰"
print(info)
#删除
info.pop("stu1101") #标准删除姿势,pop(键值)
print(info)
del info["stu1102"]
print(info)
info.popitem() #随机删除
print(info)
#查找
print("stu1102" in info) #标准用法
print(info.get("stu1102")) #获取
print(info.get("stu1105")) #获取
print(info["stu1102"]) #如果一个key不存在你就会报错,get就不会,不存在返回none
'''
'''
#字典多级嵌套
av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
print(av_catalog["大陆"]["1024"])
print(info.values()) #value输出字典所有values成一个列表
#av_catalog.setdefault("台湾",{"www.baidu.com":[1,2]})
av_catalog.setdefault("大陆",{"www.baidu.com":[1,2]}) #setdefault就是如果字典里没有就新创建一个,如果存在就不改动
print(av_catalog)
'''
'''
b ={
"stu1101" :"alex",
1:2 ,
2:3 ,
}
info.update(b) #update取交集
print(info)
print(info.keys())
print(info.items()) #将字典变成列表
c =info.fromkeys([6,7,8],"test") #初始化一个新的字典
print(c)
c =info.fromkeys([6,7,8],[1,{"name":"alex"}])
print(c)
c[7][1]['name'] ="Jack Chen" #fromkeys创建一个新的字典时有个坑!
print(c)
'''
#字典的循环
for i in info:
print(i)
print(i,info[i])
for k,v in info.items():
print(k,v)
7 模块
sys模块在系统文件夹内找不到,是因为这是一个用c语言写的模块,不同于os这些用python语言写的模块。
Python模块可以将代码量较大的程序分割成多个有组织、彼此独立但又能相互交互的代码片段,这些自我包含的有组织的代码就是模块。
模块在物理形式上表选为以.py结尾的代码文件。
一个文件可以被看做一个独立的模块,一个模块也可以被看做一个文件。
每个模块都有自己名称空间。
1 #Author:ZhangKanghui
2
3 '''
4 import sys
5 #print (sys.path) #打印环境变量
6 #print(sys.argv)
7 print(sys.argv[2])
8 '''
9
10 import os
11 '''
12 cmd_res = os.system("dir") #执行命令,不保存结果 0表示执行成功状态
13 print (cmd_res)
14 '''
15
16 '''
17 cmd_res = os.popen("dir")
18 print (cmd_res)
19 '''
20
21 cmd_res = os.popen("dir").read()
22 print (cmd_res)
23 os.mkdir("new_dir")
import sys
print(sys.path) #打印环境变量
'''
['C:\\Users\\miraacle\\PycharmProjects\\s\\day2',
'C:\\Users\\miraacle\\PycharmProjects\\s',
'C:\\Users\\miraacle\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip',
'C:\\Users\\miraacle\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
'C:\\Users\\miraacle\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', #python中存在标准库模块文件路径
'C:\\Users\\miraacle\\AppData\\Local\\Programs\\Python\\Python36-32',
'C:\\Users\\miraacle\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages'] #python中存在第三方模块文件路径
'''
print(sys.argv) #
['C:/Users/miraacle/PycharmProjects/s/day2/sys_mod.py'] #使用pycharm运行结果
['sys_mod.py'] #使用命令行 运行sys——mod.py
>>python sys_mod.py 1 2 3
['sys_mod.py', '1', '2', '3']
8 小结
跟c差不多!但比c简单的多·~~
9 练习
购物车小程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣钱,不够提醒
4.可随时退出,退出时打印已购买商品和余额
这是尾巴:
最后推荐一个链接:python基础教程http://www.runoob.com/python/python-tutorial.html
内容系统全面!
这是随笔~
来源:oschina
链接:https://my.oschina.net/u/4365260/blog/3283545