代码改变世界

python学习_day02

2018-01-16 14:36  殇晨  阅读(148)  评论(0)    收藏  举报

 

-----------sys模块------------

#!/usr/bin/env python 
#_*_coding:utf-8_*_
import sys
print(sys.path) #python路径的环境变量
print(sys.argv[1]) #文件相对路径,可以传参

----------os模块--------------

#!/usr/bin/env python 
#_*_coding:utf-8_*_
import os
a = os.system('dir') #打印当前路径下的所有文件,并返回执行结果,0代表成功
b = os.popen('dir').read() #不返回执行结果
print(a)
print(b)
os.mkdir('test') #当前目录下创建目录

--------------------位运算-------------------

二进制运算

& = 都为真为真

| = 一个为真即为真

^ = 相同为0,不同为1

~ = 按位取反-256

>> = 左移

<< = 右移

8bit = 1byte(字节)

 

三元运算

result = 值1 if 条件 else 值2

如果条件为真 result = 值1

如果条件为假 result = 值2

 

切片:顾头不顾尾

 

----------------list列表----------------------

#!/usr/bin/env python
#_*_coding:utf-8_*_
names = ['sxw']
print(names)
#添加到列表最后
names.append('gaoshuai')
print(names)
#添加到指定下标位置
names.insert(1,'wangwanxing')
#返回列表值的下标
print(names.index('sxw'))
#列表反转
names.reverse()
print(names)
#排序:顺序:特殊符合>数字>大写字母>小写字母
names.sort()
print(names)
#修改下标对应的值
names[1] = 'licheng'
#统计licheng出现的次数
print(names.count('licheng'))
#清空列表
names.clear()
print(names)
#删除列表的值
names.remove('licheng')
print(names)
#按下标删除
del names[1]
print(names)
#默认删除最后一个,可以按下标删除
names.pop()
print(names)
#将列表names1合并到names,names1不变
names.extend(names1)
#删除列表
del names1

 

#!/usr/bin/env python

#_*_coding:utf-8_*_

names = ['sxw','gaoshuai','sunzhao']

#浅copy,只copy独立第一层,更深层的还指向同一内存地址 #如需深copy,需要单独import copy模块调用copy.deepcopy(names)

names1 =names.copy()

print(names)

print(names1)

#深copy i

mport copy

names1 = copy.deepcopy(names)

 

-------------------tuple元组----------------------

不可变列表,一旦定义,只能查,可以定义数据库连接串

-----------------简易购物额车-------------------

 

__author__ = '27995'
product = [['longyuan',20],['xiangjiao',10],['dianao',8999],['iphon',6999]]
product_jilu = []
wage = int(input('请输入你的工资:').strip())
while True:
    for index,i in enumerate(product): #enumerate函数:边里列表中所有值与下标
        print(index,i)
    product_id = input('请输入要购买的商品编码:')
    if product_id == 'q':
        print('你本次购买的商品为',product_jilu,'剩余金额为',wage)
        break
    money = product[int(product_id)][1]
    if money <= wage:
        print('商品已加入购物车')
        product_jilu.append(product[int(product_id)])
        wage -= money
    else:
        print('余额不足,请重新选择')
简易购物车

 

 -----------------字符串-----------------

name = 'sxw'
names = '{name} is {years} years'
print(name.capitalize()) #首字母大写
print(name.count('s')) #查询字符出现的次数
print(name.center(50,'-')) #打印50个字符,不够以-补充
print(name.endswith('w')) #判断字符串以什么结尾,返回真假
print(name.find('x')) #查询字符的开始位置
print(names.format(name='sxw',years=18)) #格式化
print(name.isalnum()) #如果只包含数字和字母则返回真,否则返回假
print(name.isalpha()) #如果是纯英文字母则返回真,否则返回假
print((name.isdecimal())) #是数字责则返回真
print(name.isdigit()) #是整数则返回真
print(name.isidentifier()) #判断是都是合法的变量名
print(name.isnumeric()) #判断是否是数字
print(name.isspace()) #判断是否是空格
print('-'.join(['7','6','5'])) #将列表变为字符串
print(name.strip()) #去除两边的空格和回车
print(name.split('x')) #以x分割

------------------字典-------------------

info={
    'sxw':18 ,
    'gaoshuai':17
}
name = {
    'wwx':16,
    1:3,
    2:4
}
info.update(name) #键相同就覆盖,没有就添加
print(info.items()) #将字典转为列表,将键值对转为元组
print(info.get('wwx')) #有就返回值,没有返回none
print('sxw' in info) #查看是否存在,只能查看键
del info['sxw'] #删除
info.pop('gaoshuai') #删除
info.popitem() #随机删

 ---------------集合---------------------

list_1 = [1,1,2,3,4,4,6,6,6,8,9]
list_1 = set(list_1) #将列表转为集合,集合没有重复数据,集合是无序的
print(list_1)
list_2 = set([2,6,5,7])
print(list_1.intersection(list_2)) #求两个集合的交集
print(list_1.union(list_2)) #求两个集合的并集
print(list_1.difference(list_2)) #求两个集合的差集
print(list_1.symmetric_difference(list_2)) #对称差集,只有一遍有的
list_2.add(999) #单个添加
list_2.update([777,666]) #添加多个
list_2.remove(999) #单个删除
print(list_2)

 

 

------------------单词-------------------

An operation:位运算