首页 > 编程语言 > 详细

Python基础2

时间:2019-03-07 01:00:39      阅读:355      评论:0      收藏:0      [点我收藏+]

1、模块初识

Python拥有标准库和第三方库

简单介绍一下标准库中的sys模块和os模块:默认找模块从当前目录下面找,然后去全局环境变量下找

(1)sys模块

import sys   #导入sys模块,导入的模块名一定不能和文件名相同

打印环境变量 :

print(sys.path)   # 打印出一条条路径   python的全局变量

print(sys.argv)   #打印脚本的相对路径 

print(sys. argv[2])  #取第二个参数

 (2)os模块

import os   #导入os模块

os.system("dir")   #这个输出是输出到屏幕上的,打印完就没了,不会存下来

执行命令保存结果:

cmd_res = os.popen("dir").read()    #结果存在某个地方,必须通过read读出

print("-->",cmd_res)

创建目录:

os.mkdir("new_dir")  创建目录

 

2、Python的数据类型

(1) 查看数据类型:

type()   

(2)bytes数据类型

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

Python3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。

不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。

 

3、三元运算

语法:

result = 值1 if 条件 else 值2

如果条件为真:result = 值1

如果条件为假:result = 值2

举例:

a,b,c = 1,3,5

d = a if a>b else c

 

4、列表

names = ["Zhangzi","Xixi","Xiangjiang","Tianming"]

print(names)

(1)取值

print(names[1:3])   #切片  取列表的值,包括起始不包括结束

print(names[-1])    #取最后一个值

print(names[-2:])    #取最后两个值

print(names[0:-1:2]) = print(names[::2])     #步长切片

(2)追加

names.append("Lily")

(3)插入

names.insert(1,"Daiwei")  # 1表示插入的位置下标

(4)修改

names[2] = "Xiedi"  # 2表示修改值得下标

(5)删除

names.remove("Tianming")  

del names[1]    #删除下标为1的值,与names.pop(1)效果相同

names.pop()     #不写下标默认删除最后一个值

(6)扩展

names2 = [1,2,3,4]

names.extend(names2) 

(7)统计

names.count("Tianming")

(8)排序

names.sort()   #ASCII

(9)反转

names.reverse()

(10)拷贝

import copy

person = [‘name‘,[‘saving‘,100]]

浅copy的三种方式:只是对列表元素的引用,只copy第一层

p1 = copy.copy(person)

p2 = person[:]

p3 = list(person)

 

深copy

import copy

p4 = copy.deepcopy(person)     #深copy,完全copy一份相同的列表

 

5、元组

特点:一旦创建,不能更改,又叫只读列表

names = (‘Leilu‘,‘Xiaoxiao‘)

 

6、字符串

name = "my name is leilu"

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

print(name.count("m"))     #统计m

print(name.center(50,"-"))     #一共打印50个字符,不够用-补

print(name.endwith("lu"))      #判断一个字符串以什么结尾

print(name.expandtabs(tabsize=30))    #把Tab键转成30个空格

print(name.find("name"))    #查找字符串的开始位置

print(name[name.find("name"):9])    #字符串切片,取出name

 

name = "my \tname is {name} and i am {year} old"

print(name.format(name=‘leilu‘,year=24))    #格式化字符

print(name.format_map({‘name‘:‘leilu‘,‘year‘:24}))

 

print(‘abc123‘.isalnum())   #包含阿拉伯数字和英文字母,不包含特殊字符

print(‘abAB‘.isalpha())   #纯英文字符,包含大写

print(‘1A‘.isdecimal())    #十进制数

print(‘24‘.isdigit())    #整数

print(‘abc123‘.isidentifier())    #判断是不是一个合法的标识符

print(‘abc123‘.isnumeric())     #是不是只有数字

print(‘abc123‘.isspace())        #是不是空格

print(‘My Name is‘.istitle())     #是否是开头

print(‘My Name is‘.isprintable())      #是否能打印   tty file,drive file 一般不能打印

print(‘My Name is‘.isupper())    #是否大写

print(‘+‘.join([‘1‘,‘2‘,‘3‘]))   #将列表变成字符串

print(name.ljust(50,‘*‘))   #一共打印50个字符,不够右边用*补

print(name.rjust(50,‘-*))   #一共打印50个字符,不够左边用*补

print(‘LeiLu‘.lower())    #大写变小写

print(‘LeiLu‘.upper())   #小写变大写

print(‘\nLeiLu\n‘.lstrip())   #去掉左边的空格和回车

print(‘  \nLeiLu\n‘.rstrip())   #去掉右边的空格和回车

print(‘  \nLeiLu\n‘.strip())   #去掉两边的空格和回车

 

实现随机密码:

p = str.maketrans("abueli",‘123456‘)      #对应位数必须相等

print(‘leilu‘.translate(p))

 

print(‘leilu‘.replace(‘l‘,‘L‘))    #将l替换成L

print(‘leilu‘.replace(‘l‘,‘L‘),1)    #只替换第一个

print(‘alex li‘.rfind(‘l‘))    #返回从左到右数第一个l的下标

print(‘alex li‘.split())    #将字符串按照空格分成列表

print(‘alex li‘.split(‘l‘))    #将字符串按照分割符l分成列表

print(‘1+2+3+4‘.split(‘+‘))     #将字符串按照分割符+分成列表

print(‘1+2\n3+4‘.split(‘\n‘))    #将字符串按照换行分成列表

print(‘1+2\n3+4‘.splitlines())     #将字符串按照换行分成列表

print(‘alex li‘.swapcase())     #大写变小写,小写变大写

print(‘alex li‘.title())     #变成标题

print(‘alex li‘.zfill(50))      #打印50个字符不够用0填充

 

Python基础2

原文:https://www.cnblogs.com/leilu/p/10480474.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!