python入门(三)

一、判断(精简代码)

非空为真,非0为真
# 不为空的话就是true,是空的话就是false
# 只要不是0就是true,是0就是false
a=[]#list也是假的
b={}#字典也是假的
c=0 #也是假的
f=tuple() #也是假的
e= ''#也是假的
name = input('请输入姓名').strip()
if name:
print('输入正确')
else:
print('输入不能为空')

二、字符串方法

print(a.isalpha())#是否全是都是汉字或者字母
print(a.isalnum())#是否全是数字汉字或字母,只要没有特殊字符都返回true
import string
print(string.ascii_lowercase)#所有小写字母
print(string.ascii_uppercase)#所有大写字母
print(string.ascii_letters)#所有字母
print(string.digits)#所有数字
print(string.punctuation)#所有特殊字符 ''.join.''#连接字符串
l = ['sdf','sadf','dsf']
res = ''.join(l)#1.把list变成字符串2.通过某个字符把list里面的元素连接起来3.只要是可以循环的都可以连接起来 name = 'asfdsf,oisuer.jbhu.aiue'
name_list = name.split(',')#根据某个字符串,来分割字符串,什么都不传的话,以空格分隔
hh1=names.split('h')#aplit只能是字符串方法 print('hahhaha'.center(20,'===='))#字符串居中,两边以''补齐,长度为设置长度

三、集合

l = [1,1,2,3,4,5,6,8]#循环删list结果会不正确
l2 = [1,1,2,3,4,5,6,8]
l2 = copy.deepcopy(l)#深拷贝
l2 = l#浅拷贝
# 浅拷贝和深拷贝的区别就是深拷贝会重新开辟一个内存空间
print(id(l))#看l内存地址
for i in l2:
if i%2 != 0:#取余数
l.remove(i)
print(l) 集合--天生去重,定义空集合bunengyong{},集合也是无序的
s = set() #空集合
s2 = set('123544125887963325')
print(s2)
s3 = {'2','3','8','9','4','5','7'}
d = {'k':'v'}
# 交集,并集,查集
print(s3 & s2)#取交集
print(s3.intersection(s2))#取交集
# 并集,两个集合合并,去重
print(s2 | s3)#取并集
print(s2.union(s3))#取并集
# 查集--去掉两个集合中都有的值
s4 = {3,2,5}
s5 = {3,4,6}
print(s4 - s5)
print(s4.difference(s5))
对称差集--去掉两个集合里面都有的
print(s4 ^ s5)
print(s4.symmetric_difference(s5)) s4.add('sdf')#添加元素
s4.pop()#随机删一个
s4.remove('sdf')#制定删除
s4.update({1,2,3})#把另一个集合添加进去

四、文件操作

文件主要有三种模式分别为:读模式、写模式、追加模式

f = open('koukou.txt','r+',encoding='utf-8')#打开文件,'r+'为打开文件的模式
print(f.read())#读文件
print(f.readline())#读取一行内容
print(f.readlines())#把文件每一行放到一个list里面
f.write('都可以')#写入
print(f.read())
# 读模式 r 读写模式r+
#1.不能写
#2.文件不存在的话会报错
# 写模式 w 写读模式w+
#1.文件不存在的话会帮你创建文件
#2.打开一个已经存在的文件,会清空以前文件内容
#3.不能读
# 追加模式---文件末尾取增加内容 a 追加读模式a+
# a模式默认文件指针在末尾
f.seek(0)#移动文件指针到最前面
#1.文件不存在,新建文件
#2.打开一个已经存在的文件,不清空内容,在末尾怎加
#3.不能读

五、文件指针

# 用来记录文件到底读到哪里了
f=open('names','a+',encoding='utf-8')
#a模式默认文件指针是在末尾的 所以读不到文件内容
f.write('嘻嘻')
print(f.read()) f = open('name','a+',encoding='utf-8')
f.seek(0)#移动文件指针到最前面 就能读出文件
f.write('\n哈哈哈')#移动完文件指针之后,是只能读,写的时候还是在文件末尾写
print('read读的:',f.read())
import random
#随机生成一些手机号 1861253 3453
# print(random.randint(1,9999))#随机产生一个1到1000的数字
# print('1'.zfill(4))#这个方法用于补领
# 1.先随机产生一些手机号
# 2.写到文件里面
f=open('phone.txt','w')
num = input('请输入你要产生的手机号个数:')
for i in range(int(num)):
start = '1861253'
random_num=str(random.randint(1, 9999))
new_num = random_num.zfill(4)
phone_num = start+new_num
f.write(phone_num+'\n')#\n代表就是换行的意思
f.close()#关闭文件

六、自动关闭文件

with open('names', 'a+') as f:
for line in f:
print(line)
上一篇:(原)JNI中env->GetByteArrayElements和AndroidBitmap_getInfo的冲突


下一篇:LeetCode 108. Convert Sorted Array to Binary Search Tree (有序数组转化为二叉搜索树)