D01——C语言基础学PYTHON
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
内容系统全面!
这是随笔~