非空即真 非0即真

 

name = input('请输入名字:').strip()
if name:
    print('name不能为空')
else:
    print('输入不能为空')

交换变量

a = 1
b = 2
c = None
c = b
b = a
a = c
print(a,b)
# 运行后
2,1

python中可以像下面这样写(python底层引入第三方变量在交换):

a = 1
b = 2
b,a = a,b
print(a,b)
#运行后
2,1

在不引入第三方变量情况下交换:

a = 1
b = 2
a = a+b# a = 3
b = a-b #b = 1
a = a-b #a = 2
print(a,b)
#运行后
2,1

字符串方法

 1 # a = 'python'
 2 # print(a.count()) #出现的次数
 3 # print(a.index())# 下标  找不到抱错
 4 # print(a.find()) #下标  找不到返回-1
 5 # print(a.replace('t','T'))
 6 # print(a.islower()) #是否全部都是小写
 7 # print(a.isupper())#是否全部都是大写
 8 # print(a.isdigit())#是否都是数字
 9 # print(a.isalpha())#是否全都是汉字或字母
10 # print(a.isalnum())#只要不是特殊符号,就返回true
11 # print(a.lower()) #变成小写
12 # print(a.upper())#变成大写
13 # print(a.startswith())#以什么开头
14 # print(a.endswith())#以什么结尾
15 #''.join('')#连接字符串
16 l = ['a','b','c','d']
17 res = ''.join(l)#把list转换成字符串
18 print(res)
19 #运行结果
20 #abcd
21 res1 = '11'.join(l)
22 print(res1)
23 #运行后 通过某个字符串把list中的元素连接起来
24 #a11b11c11d
方法详解

import string

1 # import string
2 # print(string.ascii_lowercase)#所有的小写字母
3 # res = ','.join(string.ascii_lowercase)#所有小写字母用,
4 # print(string.ascii_uppercase)#所有的大写字母
5 # print(string.digits)#所有数字
6 # print(string.ascii_letters)#所有的字母
7 # print(string.punctuation)#所有的特殊字符

.spilt()分割,用某个字符串分割字符串

names = 'niuhanyang,zch,wyf'
name_list = names.split(',')#根据某个字符串分割字符串
name_list = names.split('h')#用h分割字符串
#运行后
#['niu', 'anyang,zc', ',wyf'] print(name_list) #运行后 #['niuhanyang', 'zch', 'wyf']

集合---天生去重, 无序的一种数据类型

创建集合:

1.set1 = set() 
1 set1 = {1,2,3}

集合的添加:add和update。
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:

a = set('boy')
a.add('python')
print(a)
#运行后
{'b', 'o', 'python', 'y'}

集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:

a = set('boy')
a.update('python')
print(a)
#运行后
(['b', 'h', 'o', 'n', 'p', 't', 'y'])

集合删除操作方法:remove

a = {1,2,3}
a.remove(2)
print(a)
#运行后
{1, 3}

集合之交集,并集,差集

a = {1,2,3}
b = {1, 3}
print(a&b) #取交集
#运行后
#{1, 3}
print(a|b) #取并集
#运行后
#{1, 2, 3}
print(a.union(b))#取并集
#运行后
#{1, 2, 3}
print(a-b)#取差集
#运行后
#{2}

文件操作

# 读模式  写模式  追加模式
f = open('names','a+',encoding='utf-8') #打开文件
print(f.read()) #读文件
# print(f.readline()) #读取一行内容
# print(f.readlines())  #是把文件的每一行放到一个list里面
f.write('双方都')#写入
# print(f.read())
#只要沾上了r,文件不存在的就会报错
#只要沾上了w,都会清空原来的内容
# 读模式    r    读写模式 r+
    #1、不能写
    #2、文件不存在的话会报错
# 写模式  w  写读模式   w+
    #1、文件不存在的话,会帮你新建文件
    #2、打开一个已经存的文件,他会清空以前文件的内容
    #3、不能读

# 追加模式  a   追加读模式 a+  #文件末尾去增加内容
    # 1、文件不存在的话,会帮你新建文件
    # 2、打开一个已经存的文件,不会清空,末尾增加
    # 3、不能读
import random
#18612343,
#12384234
# 1861253 2945
print(random.randint(1,9999))
print('1'.zfill(4))

#1、先随机产生一些手机号
#2、写到文件里面
f = open('phones.txt', 'w')
num = input('请输入你要产生的手机号个数:')
for i in range(int(num)):  #
    start = '1861235'
    random_num = str(random.randint(1, 9999))
    new_num = random_num.zfill(4)#补0
    phone_num = start+new_num  #这一行有问题
    f.write(phone_num+'\n')
f.close()

文件指针:

# 文件指针:
# 用来记录文件到底读到哪里了
# f = open('naems','a+',encoding='utf-8')
# a模式的文件指针是在末尾的
# f.write('呵呵呵')
# f.seek(0)  #移动文件指针到最前面
# f.write('鹏妹妹')   #移动完文件指针之后,是只能读,写的时候还是在文件末尾写
# print(f.read())