alex python of day2

模块

sys模块:sys模块是用c语言写的,所以在lib下是不会有sys.py这个文件存在

1 import sys
2 print(sys.path)   #打印环境变量
3 print(sys.argv)   #打印相对路径

os模块

1 # author:"Jason lincoln"
2 import os
3 #cmd_res=os.system("dir") #只执行命令,不保存结果
4 cmd_res = os.popen("dir").read()
5 print("-->",cmd_res)
6 os.mkdir("new_dir") #创建一个目录

 Pyc是什么鬼?

当程序执行的时,python内部会先将源代码编译成所谓的字节码的形式,这些字节码可以提高执行速度。python将把程序的字节码保存为一个以.pyc为扩展名的文件(".pyc"就是编译过的“py”源代码)。下一次运行程序时,如果你在上次保存字节码之后没有修改过源代码的话,python将会加载.pyc文件并跳过编译这个步骤。当python必须重新编译时,它会自动检查源文件和字节码文件的时间戳:如果你又保存了源代码,下次程序运行时,字节码将会自动重新创建。

python的数据类型 

整型(int):python2分长整型和整型,整型的内存最大为2的32次方字节

浮点型(float):比如小数

布尔值:真或假 1或0

字符串: "helloword"

数据运算

运算符

+  两个数相加

-

*

% 取模,例如9%4等于1

** 例如 2**3等于8

//  例如9//4等于2

比较运算

== 等于

!= 不等于

<> 不等于

>

<

>=

<=

赋值运算

==

+=   c+=a等效于c=c+a

-=    c-=a等效于c=c-a

*=    c*=a等效于c=c*a

%=    c%=a等效于c=c%a

//=    c//=a等效于c=c//a

**=    c**=a等效于c=c**a

逻辑运算

and 布尔“与” ,x和y同时为真即x and y为真,否则为假

or   布尔“或”,x和y只要有一个为真即 x or y 为真 ,X和y同时为假则x or y为假

not  布尔“非”,x为真则返回为假,x为假则返回为真

成员运算

in         如果在指定序列中找到值返回ture,否则返回Fasle.

in not   如果在指定的序列中没有找到值就返回ture,否则返回false

身份运算

is        is是判断两个标识符是不是引用自一个对象

is not  is not 是判断两个标识符是不是引用自不同对象

位运算

&      按位与运算 两位同时为“1”,结果才为“1”,否则为0

|       按位或运算 只要有一个为1,其值为1

^      按位异或  相同为“0”,不同为“1”

x=0101,y=1011x^y==1110

~      对一个二进制数按位取反,即将0变1,1变0。

<<    a = a << 2 将a的二进制位左移2位,右补0。若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。

a=0011 0011 #十进制等于51
a==a<<2
a==1100 1100 #十进制等于204

>>   a = a >> 2 将a的二进制位右移2位

将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

操作数每右移一位,相当于该数除以2。

a=1100 1100 #十进制为204
a==a>>2
a=00110011 #十进制为51

bytes数据类型

三元运算

1 # author:"Jason lincoln"
2
3 a,b,c=1,3,5
4 d=a if a>b else c
5 print(d)

输出“5”

c语言中的类似语法

python3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分,文本总是unicode,由str类型表示,二进制数据则由byte类型表示。

encode和decode的转换

列表的使用

列表

切片

 1 #print(names[1:3])           #顾头不顾尾 从第一个开始取到第三个不包括第三个
 2 #print(names[3])
 3 print(names[-2:])            #从左往右数
 4 ##[‘Xuliangchen‘, ‘xiangpeng‘]
 5 print(names[0:3])
 6 ##[‘Zhangyang‘, ‘GuYun‘, ‘Xuliangchen‘]
 7 print(names[:3])
 8 ##[‘Zhangyang‘, ‘GuYun‘, ‘Xuliangchen‘]
 9 names.append("Leihaidong")
10 print(names)
11 ##[‘Zhangyang‘, ‘GuYun‘, ‘Xuliangchen‘, ‘xiangpeng‘, ‘Leihaidong‘]
12 names.insert(1,"chenronghua")
13 print(names)
14 ##[‘Zhangyang‘, ‘chenronghua‘, ‘GuYun‘, ‘Xuliangchen‘, ‘xiangpeng‘, ‘Leihaidong‘]
delete
1 ames.remove("chenronghua")
2 del names[1]
3 names.pop()  #如果不输入默认删除最后一个
4 names.pop(1) #和del names[1]效果一样

列表之改

1 print(names)
2 print(names.index("GuYun"))
3 print(names[names.index("GuYun")])

统计

1 print(names.count("chenronghua"))

清空

names.clear()
反转
names.reverse()

排序

names.sort

合并

names.extend()

删变量

del 变量名

copy

1 names=["Zhangyang","GuYun",["alex","jack"],"xiangpeng","Xuliangchen"]
2 name2=names.copy()
3 print(names)
4 print(name2)
5 names[3]="向鹏"
6 names[2][0]="ALEX"  #浅copy,只copy内存地址,同一块内存
7 print(names)
8 print(name2)

深copy
 1 # author:"Jason lincoln"
 2 import copy
 3 names=["Zhangyang","GuYun",["alex","jack"],"xiangpeng","Xuliangchen"]
 4 #name2=copy.copy(names)  #和浅copy一样
 5 name2=copy.deepcopy(names) #深copy
 6 print(names)
 7 print(name2)
 8 names[3]="向鹏"
 9 names[2][0]="ALEX"  #浅copy,只copy内存地址
10 print(names)
11 print(name2)

浅copy

元组

1 names=(‘jack‘,‘alex‘)2 names.index
3 names.count

购物车程序

需求:

1.启动程序后,让用户输入工资,然后打印商品列表

2.允许用户根据商品编号购买商品

3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒

4.可随时退出,退出时,打印已购买商品和余额

字符串操作

字典

多层嵌套

时间: 2024-10-14 20:34:53

alex python of day2的相关文章

python s12 day2

python s12 day2 入门知识拾遗 http://www.cnblogs.com/wupeiqi/articles/4906230.html 基本数据类型 注:查看对象相关成员 var,type,dir 一.整数 如: 18.73.84 每一个整数都具备如下功能: class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number o

(转)Python作业day2购物车

Python作业day2购物车 原文:https://www.cnblogs.com/spykids/p/5163108.html 流程图: 实现情况: 可自主注册, 登陆系统可购物,充值(暂未实现),查询余额. 撸了两天一夜的代码,不多说,直接上码,注释神马的后面再说 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码 分类: python作业 标签: 购物车

oldboy ALEX Python day2

'''----list------''''''name=[1,2,3,4]print(name[0])#第一个print(name[:]) #全部#print(name[1:3]) #切片#print(name[-3:-1])#倒取值print(name[-2:-1])#[头:尾] 顾头不顾尾print(name[0:-1])#改 name[2]='元素'name.append('元素')#默认插在最后面name.extend([])#以列表形式插入多个name.insert('要插位置','待

python之day2

模块初识   模块分两种:标准库和第三方库 Sys和os模块,标准库 Import sys Sys.path    #print(sys.path) 起名字时不能与导入的库名一样,因为导入的时候首先会到当前目录中找,这样就会导入自己. Python和系统都有一个环境变量,print(sys.path)可以打印出python的环境变量,输出结果如下: ['D:\\python_file\\day2', 'D:\\python_file', 'C:\\Python35\\python35.zip',

Python自学day-2

一.模块  模块分两种:标准库和第三方库,标准库是不需要安装就可以使用的库.  import [模块名]:导入一个库,优先是在项目路径中寻找.自定义模块名不要和标准库模块名相同. sys模块: import sysprint(sys.path) sys.path保存的是Python内部调用或模块的查找路径.结果如下: ['D:\\pycharm_workspace\\FirstProject\\day2', 'D:\\pycharm_workspace\\FirstProject', 'D:\\

python学习-day2

列表: 1.找出某个元素有多少个 字符串: 1.字符串去除空格 .strip() username = input("user:") if username.strip() == 'alex': print("welcom") 2.字符串分隔 split() 分隔后是一个列表 names = "alex,jack,rain" name2 = names.split(",") #split()默认是以空格 print("

alex python of day1

Print("hello word!")#打印hello word!向python世界发生第一声呐喊,仪式很重要 定义变量 name="Alex Li" name2=name print("my name is ",name,name2) 输出结果:my name is Alex Li Alex Li name="paoche ge" print(name,name2) 输出结果:Alex Li paoche ge   #na

python 3 day2(下)

对一.今天主要讲的是python中浅copy和深copy的用法和区别.如下图,使用copy可以完整的复制一个列表. 将下标为3的值alex更改为ALEXANDER的方法为 names[3][0] = 更改后的值(注意后面一个下标0为小列表中alex下标位置的意思) 此时的打印结果为: 我们会发现"向鹏"在names和name2中选择性copy了,但是ALEXANDER在1和2 中都被copy了.说明copy只是浅copy只copy了第一层. 如果我更改了name2的值,names会跟着

Python开发Day2(练习解答)

练习一 1 a=[11,22,33,44,55,66,77,88,99,90] #定义列表 2 b={ 3 'k1':[], 4 'k2':[] 5 } #定义一个空的字典一会吧列表里符合条件的添加进去 6 for i in a: #for循环取列表中的元素 7 int(i) #将列表中的值将之转换成整型 8 if i > 66: #判断i数字是否大于数字66 9 b['k1'].append(i) #将判断数字大于66的添加进k1字典中 10 elif i < 66 : #判断i数字是否小于