内容

  1. 模块初识
  2. 数据运算
  3. bytes数据类型
  4. python数据类型
  5. 列表的使用
  6. 元组与购物车操作
  7. 购物车程序练习
  8. 字符串常用操作
  9. 字典的使用
  10. 三级菜单实例
  11. 本周作业-购物车优化

一、模块初识

Python 库分两种:标准库(不需要安装,直接导入就可以直接使用的库)、第三方库(必须安装才能使用如django)。注意:编写代码时,模块名字不要跟库名字相同。系统自带模块简单举例:

 sys库:

1、打印系统环境变量 sys.path:
1 import sys
2 print ("sys.path") 

输出:

['D:\\python\\51CTO\\2day',

'D:\\python\\51CTO',

'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs', 
'C:\\Python27\\lib', 
'C:\\Python27\\lib\\plat-win', 
'C:\\Python27\\lib\\lib-tk', 
'C:\\Python27', 
'C:\\Python27\\lib\\site-packages']

Python的第三方库会存放在site-packages目录下。

2、sys.argv 执行脚本时获取传递的参数:

1 #!/usr/bin/env python
2 #--*-- coding:utf-8 --*--
3  import sys
4  print (sys.argv[3]) #取列表中的第三个数

输出:

执行脚本:

# python sys_argv.py chen chang qing 

qing

os库:

 1、调用系统命令os.system("dir")

import os
print (os.system("dir"))

# 执行命令,结果直接输出,不保存结果。结果出乱码

 2、使用另外一个模块调取使用:os.popen

1 import os
2 cmd_res = os.popen("dir").read() # os.popen会把读取的信息写到内存里面,read()重新把内存里面的信息读取出来
3 print (cmd_res)
   

pycharm 输出结果,中文不显示乱码了。

3、os.mkdir 模块

import os
os.mkdir("new_dir_test") #会在当前的目录下,创建一个新目录

自己写个简单模块:

简单的login登陆判断,模块如下

#vim login.py

#Author:ChenChangQing

_username = "chen"

_password = "chen123"
username = input("name:")
password = input("passwd:")
if username == _username and password == _password:
print (username,password)
else:
print ("IT's error!")

输出:

name:chen
passwd:chen123
chen chen123

导入login.py

#vim login1.py  (注意,与login.py同级目录下导入login模块)

import login

执行脚本:python login1.py

输出:

name:chen
passwd:123
IT's error!

简述Python的运行过程(摘录)

两个概念,PyCodeObject和pyc文件。

我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

二、python 数据运算

1 、Python 算术运算

举例:

 1 #Author:ChenChangQing
 2
 3 a = 10
 4 b = 20
 5 c = 3
 6
 7 #相加 +
 8 d  = a + b
 9 print ("1 - d 的值为:",d)
10
11 #相减 -
12 d = b - a
13 print ("2 - d 的值为:",d)
14
15 #相乘 *
16 d = a*b
17 print ("3 - d 的值为:",d)
18
19 #相除 /
20 d = int(b/a)
21 print ("4 - d 的值为:",d)  #取整数
22 print ("4 - d 的值为:",b/a) #直接打印浮点
23
24 #取余数 %
25 d = a % c
26 print ("5 - d 的值为:",d)
27
28 #幂次方 **
29 d = c**3
30 print ("6 - d 的值为:",d)
31
32 #取整数
33 d = a//3
34 print ("7 - d 的值为:",d)
35
36 输出
37
38 1 - d 的值为: 30
39 2 - d 的值为: 10
40 3 - d 的值为: 200
41 4 - d 的值为: 2
42 4 - d 的值为: 2.0
43 5 - d 的值为: 1
44 6 - d 的值为: 27
45 7 - d 的值为: 3

数字运算

 2、Python 比较运算(关系型运算)

举例:

 1 a = 10
 2 b = 20
 3
 4 #判断a与b相等
 5 if a == b:
 6     print ("1 :a与b相等")
 7 else:
 8     print ("1 :a与b不相等")
 9
10 #判断a与b不相等
11 if a != b:
12     print ("2 :a与不相等")
13 else:
14     print ("2 :a与b相等")
15
16 #判断a 大于 b
17 if  a > b:
18     print ("3 :a大于b")
19 else:
20     print ("3 :a小于b")
21
22 #判断a 小于 b
23 if  a < b:
24     print ("4 :a小于b")
25 else:
26     print ("4 :a大于b")
27
28 #判断a 大于等于 b
29 if  a >= b:
30     print ("5 :a大于等于b")
31 else:
32     print ("5 :a小于b")
33
34 #判断a 大于等于 b
35 if  a >= b:
36     print ("6 :a大于等于b")
37 else:
38     print ("6 :a小于b")
39
40 #判断a 小于等于 b
41 if  a <= b:
42     print ("7 :a小于等于b")
43 else:
44     print ("7 :a大于b")
45
46 输出:
47 1 :a与b不相等
48 2 :a与不相等
49 3 :a小于b
50 4 :a小于b
51 4 :a小于b
52 4 :a小于b
53 4 :a小于等于b

关系运算

 3、Python 赋值运算

举例:

 1 #把ab值的和赋给C
 2 a = 10
 3 b = 20
 4 c = 0
 5
 6 c = a + b
 7 print ("1 - c 的值:" ,c)
 8
 9 #+=的用法
10 a = 10
11 b = 20
12 c = 0
13
14 c += a #等同于 c = c+a
15 print ("2 - c 的值:" ,c)
16
17 #-=的用户
18 a = 10
19 b = 20
20 c = 30
21
22 c -= a #等同于 c = c - a
23 print ("3 - c 的值:" ,c)
24
25 #*= 的用法
26 a = 10
27 b = 20
28 c = 3
29
30 c *= a #等同于 c = c * a
31 print ("4 - c 的值:" ,c)
32
33 #/= 的用法
34 a = 10
35 b = 20
36 c = 5
37
38 c /= a #等同于 c = c / a
39 print ("5 - c 的值:" ,c)
40
41
42 #%= 的用法
43 a = 10
44 b = 20
45 c = 3
46
47 c %= a #等同于 c = c % a
48 print ("6 - c 的值:" ,c)
49
50 #**= 的用法
51 a = 10
52 b = 20
53 c = 2
54
55 c **= a #等同于 c = c**a
56 print ("7 - c 的值:" ,c)
57
58 #//= 的用法
59 a = 10
60 b = 20
61 c = 50
62
63 c //= a #等同于 c = c//a
64 print ("8 - c 的值:" ,c)
65
66 输出:
67 1 - c 的值: 30
68 2 - c 的值: 10
69 3 - c 的值: 20
70 4 - c 的值: 30
71 5 - c 的值: 0.5
72 6 - c 的值: 3
73 7 - c 的值: 1024
74 8 - c 的值: 5

赋值运算

4、Python 逻辑运算

举例:

逻辑运算

 1 #Author:ChenChangQing
 2
 3 a = 10
 4 b = 20
 5 c = 0
 6
 7 if a and b: #a与b的数值其中有一个为0,则为假
 8     print ("1:a为真,b为真,则为真")
 9 else:
10     print ("1:否则为假")
11
12 if a or c:
13     print ("2:a为真,b为真,或其中一个为真,则为真")
14 else:
15     print ("2:变量a 、c 都不为真")
16
17 #not 逆向理解:当a为真时,返回假;当a假时,则返回真。。C = 0 为假
18 if not c:
19     print ("3:true")
20 else:
21     print ("3:fales")
22 输出:
23 1:a为真,b为真,则为真
24 2:a为真,b为真,或其中一个为真,则为真
25 3:true

 5、python 成员运算

Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

举例:

成员运算

 6、Python 身份运算

举例:

 1 a = 10
 2 b = 10
 3 c = 5
 4 d = (5,15,12,45)
 5
 6 if a is b:
 7     print ("1 - a与b有相同的标示位")
 8
 9 if a is not c:
10     print ("2 - a与c没有相同的标示位")
11
12 if a is not d:
13     print ("3 - a 不在d 列表里面")
14
15 输出:
16 1 - a与b有相同的标示位
17 2 - a与c没有相同的标示位
18 3 - a 不在d 列表里面
19
20 备注:身份运算,个人理解更多的是交集跟非交集合之间的运算。

身份运算

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

  7、Python 运算符优先级

简单举例:

 1 a = 35
 2 b = 25
 3 c = 15
 4 d = 5
 5 e = 0
 6
 7 f = (a + b) * c / d       #( 30 * 15 ) / 5
 8 print  ("(a + b) * c / d 运算结果为:",  f)
 9
10 f = ((a + b) * c) / d     # (30 * 15 ) / 5
11 print ("((a + b) * c) / d 运算结果为:",  f)
12
13 f = (a + b) * (c / d);    # (30) * (15/5)
14 print ("(a + b) * (c / d) 运算结果为:",  f)
15
16 f = a + (b * c) / d;      #  20 + (150/5)
17 print ("a + (b * c) / d 运算结果为:",  f)
18
19 输出:
20 (a + b) * c / d 运算结果为: 180.0
21 ((a + b) * c) / d 运算结果为: 180.0
22 (a + b) * (c / d) 运算结果为: 180.0
23 a + (b * c) / d 运算结果为: 110.0

优先级运算

8、Python位运算符

按位运算符是把数字看作二进制来进行计算的。

根据数字与二进制的转换方法来计算:

网上摘录列子,可参考:

位运算

三、bytes数据类型

1、bytes数据类型

先看一下string和bytes的关系

1 msg = "很好"
2
3 print (msg)
4 print (msg.encode(encoding="utf8"))
5
6 输出:
7 很好
8 b'\xe5\xbe\x88\xe5\xa5\xbd'

View Code

音频、视频都是二进制文件,要变成读的字符编码,就需要设置到转码。

2、三元运算

语法:result =  1 if 条件 else 2

理解过程:一条命令解决。三元运算,先看中间if的语句部分

A 、IF中如果a 大于 b成立 ,则d = b, 否则d = c 。实际a = 1 ,b=5 ,a>b不成立。则d = c ,所以d  的值为 7 ;

B 、IF中如果a 小于 b成立 ,则d = b, 否则d = c 。实际a = 1 ,b=5 ,a<b成立。则d = b,所以d  的值为 5;

3、进制的理解

  • 二进制,01
  • 八进制,01234567
  • 十进制,0123456789
  • 十六进制,0123456789ABCDEF  #A-F 表示 10-15的对应数字。

理解: 二进制到16进制转换  http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1

转载于:https://www.cnblogs.com/chen170615/p/7183326.html

Python 第2周 - Python基础-模块\数据运算相关推荐

  1. 【计算机科学基础】数据运算

    文章目录 逻辑运算 位层次上的逻辑运算 模式层次上的逻辑运算 移位运算 逻辑移位运算 算术移位运算 算术运算 逻辑运算和算术运算的区别 用来置位/复位/反转的二元运算 二进制补码整数的加法进位 算术移 ...

  2. python与数据思维基础笔记_Python小课笔记--Python基础:数据和函数(二)

    截图来自Python小课 文|仟樱雪 在Python小课-1-2节中,已经学习了基础模块--数据--数据类型(整数.字符串),以及基础模块--变量,基础模块--函数(input函数.print函数). ...

  3. python的init方法在哪个模块_Python学习笔记(九)——Python _init_特殊方法和模块...

    一.特殊方法 特殊方法就是形如_future_\_main_这类方法的统称. 1.特殊方法 #__init__构造方法 class FooBar: def __init__(self): #构造方法, ...

  4. 掉进悬崖的小白,捡到python基础秘籍,学习第一周——语法基础,小游戏,无脑循环

    掉进悬崖的小白,捡到python基础秘籍,学习第一周--语法基础,小游戏,无脑循环 人生苦短,我用python 语言的种类: 语言的发展: 什么是python 搭建 Python开发环境: 集成开发环 ...

  5. python 南京大学_南京大学python课程系列笔记之python基础之第一周:走进python

    1.1 python简介: 历史,特点,应用 1.2 第一个python程序: 1.输出: print(字符串) print(变量) 2.输入: varibale = input("mess ...

  6. 01 Python学习--第一周--开课介绍、数据类型、数据运算、表达式、循环、三元运算、对象基本概念...

    模块一主要内容 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 ...

  7. Python基础第一周--Python语言家族

    在这里插入图片描述 一.Python语言家族 1 Introduction 1.1 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 简单来说,Pyt ...

  8. Python爬虫实战,requests+tqdm模块,爬取漫画数据(附源码)

    前言 今天给大家介绍的是Python爬取漫画数据,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取 ...

  9. python数据处理电脑配置_『大数据python计算机基础教学视频教程』入门学python需要什么配置的电脑...

    x = 1 if x 4.2 1) else匹前的缩进相同且最接近的if 2) 改之前y=x 2行,之后是y=x 1先执行 第5题 代码还n = 1 while n <= 5: i = 1 wh ...

最新文章

  1. java期末考试试卷及答案文库_JAVA期末考试试卷及答案
  2. VS2010中的新特点(上)
  3. C++建立动态二维数组
  4. treeview递归
  5. SpringBoot 应用程序启动过程探秘
  6. linux 下tomcat服务每天定时启动
  7. 转:ffmpeg编码h264
  8. 【校招VIP】测试脚本语言之系统状态(内存、网络)
  9. 对数似然值 matlab,matlab aic准则 怎么计算对数似然值
  10. AndroidStudio制作登录和注册功能的实现,界面的布局介绍
  11. 推广引流方法有哪些方式,平台有哪些?各平台引流方法分析!
  12. 2.1 新版个人所得税计算
  13. HTML+CSS学习打卡第一周
  14. A graph auto-encoder model for miRNA-disease associations prediction 论文解析
  15. 核函数(Kernels)
  16. 线程分离pthread_detach、pthread_attr_setdetachstate (attr, PTHREAD_CREATE_DETACHED);
  17. Java练手项目实战——五子棋游戏实现思路及源码
  18. 计算机微格教学教案设计表,微格教学教案设计表模板
  19. 流行的Go语言web框架简介
  20. 通过左旋和右旋来实现搜索二叉树的自平衡

热门文章

  1. 解决h5py\_init_.py:26:FutureWarning: Conversion of the second argument of issubdtype from `float`^……
  2. php 数组存入mysql_PHP将数组存入数据库中的四种方式
  3. 200 ssl服务器证书无效_服务器证书无效网站显示异常怎么办?
  4. 计算机系统字的描述性定义,CTCS系统11CTCS系统描述定义
  5. 图文分析 OSPF 的特点
  6. obs多推流地址_抖音obs推流直播怎么操作,抖音直播推流地址如何获取?
  7. Jmeter之断言操作
  8. Linux+nfs配置开机启动,linux NFS配置:NFS开机自动启用及其原理
  9. ubutnu16.04搭建LAMP环境(搭建wordpress博客)
  10. c语言如何给阻塞函数加超时,在代码中写一个延时而不阻塞的函数方法,给大家的参考 - 单片机 - 电子工程世界-论坛 - 手机版...