python3 基础知识学习笔记-字典-数据类型-列表-模块-元组(二)

 andlly   2018-06-24 00:02   49 人阅读  0 条评论

import sys


print(sys.path) #打印环境变量


print(sys.argv[2]) #取列表值模块


---------------------------------------

import os


cmd_res = os.system("dir") #执行命令,不保存结果


cmd_res = os.popen("dir").read() #执行命令,保存结果


print(cmd_res) #返回值为0表示正常,返回值为1表示出错


os.mkdir("new_dir") #在当前目录下创建一个名为new_dir的目录


----------------------------------------

数据类型


一、数字

   1、int (整数,整型)

   2、float (浮点型,小数。举例:52.3E4 E表示10的多少次方,这里表示10的4次方。)

   3、complex


二、布尔值

    (只有两个值,一个真一个假,真:true 假:false  真为1,假为0)


三、字符串


-----------------------------------------

三元运算


a = 1

b = 3

c = 5

d = a


if a >b else c  #结果为5,a是小于b的,执行c赋值给a,c=5


if a <b else c  #结果为1,a是小于b的,执行a赋值给a,a=1


-----------------------------------------

bytes类型


字节类型,音频视频文件都是二进制,用这个数据类型存。


-----------------------------------------

二进制与字符串互转


msg ="字符串"

print(msg.encode(encoding="utf-8")) #字符串转成二进制,用utf-8编码


print(b'\xd7\xd6\xb7\xfb\xb4\xae'.decode(encoding="GB2312")) 

#二进制转成字符串,用utf-8编码


-----------------------------------------

列表数据类型


names =["数据1","数据2","数据3","数据4"] #可以存N个数据

name2 =["同学1","同学2","同学3","同学4",["同学5","同学6"]] #列表套列表


print(names[0],names[2]) #取值从0开始计算,0就是第一个。

print(names[1:3]) #取值顾头不顾尾,取值从1位置到3位置前一个。术语切片

print(names[-1]) #取最后一个数据。

print(names[-2:]) #取最后二个数据。

print(names[0:-1:2]) #布常调取数据,各2个数取一次数据


names.append("数据5") #追加一个“数据5”,自动追加位置在最后一个。

names.insert(1,"数据6") #把“数据6”插入在“数据2”的前面

names[2] ="数据7" #把“数据3”改为“数据7”


删除有三种方法:


names.remove("数据1") #方法一:就把“数据1”删除了。

del names[0] #方法二:就把“数据1”删除了。

names.pop(0) #方法三:默认删除最后一个,添加参数删除对应数据。



print(names.index("数据3")) #查找“数据3”的位置,返回结果为2

print(names[names.index("数据3")])


names.clear() #清空列表

names.reverse() #反转列表顺序

names.sort() #排序,首字符优先符号-》数字-》字母

names.extend(names2) #将names2中的列表数据并入names中

name3 = names.copy() #复制一份names数据到names3中

-----------------------------------------------

复制模块


import copy


person =['name',['a','100']]


names3 = copy.deepcopy(names) #完整复制一份names数据到names3中

'''

三种浅copy方法

p1=copy.copy(person)

p2=person[:]

p2=list(person)

'''


p1[]='kasuo'

p2[]='suoka'


p1[1][1]=50


print(p1) #类似于联合账号使用。

------------------------------------------------

元组 tuple


names = ("a1","a2","a3")


只可以查,不可以修改。什么上时候用?比如连接数据库。

----------------------------------------------------

字符串的用法


name = "Python \source code and {keywords}installers {description} for"


print(name.capitalize()) #首字母大写

print(name.count("a")) #查找字符串中有多少个a字母

print(name.casefold()) #不知道

print(name.center(50,"-")) #一共打印50个字符串,不够的用"-"代替,字符串放在中间。

print(name.encode()) #把字符串转换成二进制

print(name.endswith("or")) #以什么结尾,判断字符串以什么结尾,如果判断网址以.com结尾,如果是就返回 True 

print(name.expandtabs(tabsize=20)) #把字符串中有"\"的符号转换为多少个空格,这里是20,就是20个空格

print(name.find("code")) #查找,查找字符code的位置

print(name.[name.find("code"):]) #从code开始截取后面的所有字符串

print(name.[name.find("code"):20]) #从code开始截取后面到20位置的字符串

print(name.format(keywords="IDC",description="壹佰网络")) #字符串keywords和description就赋值到了对应位置。

print(name.format_map({'keywords':'IDC','description':'壹佰网络'}))

print('ab12'.isalnum()) #判断字符串为字母和数字混合为True,如果有标点符号就为False

print('aA'.isalpha())  #判断字符串为纯字母,包含大写为True,否则为False

print(name.isdecimal()) #不常用,以后要用了再看方法吧。

print(name.isdigit()) #判断是否是整数数字

print(name.isidentifier()) #判断是不是一个合法的标识符,是不是一个合法的变量名

print(name.islower()) #判断是否小写字母

print(name.isnumeric()) #判断是否整数数字

print(name.isspace()) #判断是否是一个空格

print(name.istitle()) #判断每个首字母是否大写,是就为True

print(name.isprintable()) #如果是tty文件或者驱动文件,是不能输出的。

print(name.isupper()) #判断是否全部大写

print('+'.join(['1','2','3'])) #输出结果 1+2+3

print(name.ljust(50,'=')) #设置长度为50,不够用=补齐。

print(name.lower()) #把大写变成小写

print(name.upper()) #把小写变成大写

print('\nAndlly'.lstrip()) #去左边的空格和回车

print('\nAndlly'.rstrip()) #去右边的空格和回车

print('\nAndlly'.strip()) #去两边的空格和回车

-----------------

md5 = str.maketrans("1234567890",'pkjhwsxcmy')

print("123".translate(md5))

# 可以做简单的加密,123加密后为pkj

-----------------

print('andlly'.replace('l','L',1)) #替换一个l为大写L,全部替换,不加参数1

print('andlly'.rfind('l')) #查找最后一个l的位置,这里l的位置是4

print('an d ll y'.split('l')) #把字符串空格分开的,自动分成列表。加上参数'l'后,就把l当做分割部分,同时显示l。

print(and\nlly.splitlines()) #按换行来分

print('an dll y'.swapcase()) #字母转换为大写

print('andlly'.zfill(50)) #字符不够50个,自动在左边用0补够.

---------------------------------------------------------------

字典

#key-value 键或者说是编号,每一个编号对应一个值

info = {

     'no1':'kasuo',

     'no2':'andlly',

     'no3':'jiji',

}


print(info) #字典的排列顺序是无序的。

print(info["no2"]) #查询编号 no2 的值,就是andlly

info["no2"] ="卡索" #修改编号 no2 的值为 卡索,如果没有编号no2,侧添加一条信息。

del inf["no2"] #删除编号 no2

info.pop("no2") #删除编号 no2

info.popitem() #随机删

print(info.get('no3')) #有就返回,没有就none,没有也不会出错。

pint('no2' in info) #判断有没有编号数据,如果没有就创建一个


---------------------

b ={

    'no1':"wh100idc",

   1:3,

   3:5

}

info.update(b)  #与info有相同的编号替换原有的,没有的部分之间添加上去。

print(info)


print(info.items()) #把字典转换成列表


d = dict.fromkeys([6,7,8],"text") #创建新的字典

print(d)



-----------------------------------------------------

多级字典嵌套


av_catalog = { #catalog是目录的意思

    "网站":{

        "www.wh100idc.com": ["服务器租用,配置比较高","价格便宜"],

        "www.2021edu.com": ["湖北教育网,湖北最大的教育资讯门户","教育栏目丰富,还可以投稿"],

        "58ddk.com": ["一个资讯网站","内容不多有待加强"],

        "10tf.com":["质量很高,权重也很高","百度全部收录,就是牛逼,好像可以发外链"]

    },

    "中国网站":{

        "baidu.com":["最大中文搜索引擎","听说想要排名那是要收费的"]

    },

    "大陆":{

        "chuyingnet.com":["湖北新闻网","被整改了,暂时还打不开"]

    }

}


av_catalog["大陆"]["chuyingnet.com"][1] += "用爬虫爬下来" #修改值"被整改了,暂时还打不开"为"用爬虫爬下来"


av_catalog.setdefault("中国网站",{"www.58ddk.com":[1,2]}) #如果取得到这个值,就返回值,如果取不到就创建一个新的。


----------------------------------------------------------------------------

字典循环


info = {

     'no1':'kasuo',

     'no2':'andlly',

     'no3':'jiji',

}


for i in info:

    print(i)  #只打印编号

    print(i,info[i]) #打印编号和值


本文地址:http://10tf.com/post/12.html
版权声明:本文为原创文章,版权归 andlly 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?