D01——C语言基础学PYTHON

纵饮孤独 提交于 2021-01-04 10:45:17

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)
View Code

 

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")
View Code
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']
View Code

 

8 小结

跟c差不多!但比c简单的多·~~

 

9 练习

 

购物车小程序

需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣钱,不够提醒
4.可随时退出,退出时打印已购买商品和余额

 

这是尾巴:

最后推荐一个链接:python基础教程http://www.runoob.com/python/python-tutorial.html

内容系统全面!

这是随笔~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!