第三天
1. in 和not in的区别
#/usr/bin/env python
#-*-coding:utf-8-*-
name = "郑建文"
# if "建文" in name:
# print('ok')
# else:
# print('error')
if "文1" not in name:
print('1')
else:
print('2')
2.布尔值:
要么真 True
要么假 False
3.基本数据类型
数字 int所有的功能都放在int里 ---------int ####将字符串转换为数字 a = "123" print(type(a),a) b = int(a) print(type(b),b) num = "0011" v = int(num,base=16) #####base后面表示是几进制 print(v) ---------bit_lenght ######当前数字的二进制,至少用N位表示 age = 10 r = age.bit_length() print(r)
字符串 str
test = "alex"
##########capitalize首字母大写
v = test.capitalize()
print(v)
test = "aLex"
###############center
#设置宽度,并将内容居中
#20代指总长度
#*空白未知填充,一个字符,可有可无
v = test.center(20,"*")
print (v)
# test = "aLexalex"
###########count去字符串中寻找,寻找子序列的出现次数,也可以定义起始位置,和结束为止。
# v = test.count('ex')
# print(v)
test = "aLexalex"
v = test.count('ex',5,6)
print(v)
test = "alex"
###endswith以什么结尾###startswith开始#
v = test.endswith('ex')
v = test.startswith('a')
print(v)
test = "alexalex"
##从开始往后找,找到第一个之后,获取其位置
#>或>=
v = test.find('ex',5,8)
print (v)
test = 'i am {name},age{a}'
#format 格式化,将一个字符串中的占位符替换为指定的值
print(test)
v = test.format(name='alex',a=19)
####b = test.format_map("name":'alex',"a":19)
print (v)
################################
test = 'i am {0},age{1}'
print(test)
v = test.format('alex',19)
print (v)
test = "uasf890"
###判断字符串中是否只是包含字母和数字
v = test.isalnum()
print(v)
######expandtabs断句20 可以制作成表格
test = "username\temail\tpassword\nzhao\tzhao@q.com\t123\nzhao\tzhao@q.com\t123\nzhao\tzhao@q.com\t123\n"
v = test.expandtabs(20)
print(v)
#######判断是否为字母
test = "abcd"
v= test.isalpha()
print (v)
#######判断是否为数字
test = "11"
v1 = test.isdigit()
print (v1)
######swapcase大小写转换
test = "abcde"
v = test.swapcase()
print (v)
#####所有小写变成大写
test ="AleX"
v2 = test.upper()
print(v2 )
#####判断是否都为大写
test ="AX"
v1 = test.isupper()
print(v1 )
##############所有字母变成小写
test ="AleX"
v1 = test.lower()
print(v1)
######islower检测字符串是否由小写字母组成
test = "abcde"
v = test.islower()
print(v)
###isidebtifier 判断字符串是否由字母,数字,下划线组成标识符 def class
a = "def"
v = a.isientifier()
print (v)
####isprintable包含可打印的字符####是否存在不可见的字符
####\t 制表符
####\n 换行符
test = "oiusdfkj"
v = test.isprintable()
print(v)
#####is判断是否首字母为大写
test ="A1 A2 A3"
v = test.istitle()
print(v)
###### title把首字母都变成大写 也就是标题
test = "A1 a2 A3 a4"
v1 = test.title()
print (v1)
####将字符串中的每一个元素按照指定分隔符进行拼接
test = "你是风儿我是沙"
v = '_'.join(test)
print (v)
###########填充 在右边填充###20是长度,*代表的用*填充
test ="alex"
v = test.ljust(20,"*")
print (v)
###########填充 在左边填充###20是长度,*代表的用*填充
v1 = test.rjust(20,"*")
print(v1)
###################用000代替前面一共20个字节长度
v2 =test.zfill(20)
print(v2)
##############默认去除空格,去除\n换行去除\t,也可以去除指定的字符
#test = " alex "
# test = "\talex"
# v = test.lstrip()#####去除左边空格
#v = test.rstrip() #####去除右边空格
# v = test.strip() #####两边空格都去除
test = "xalex"
v = test.lstrip('xa') #### lex ####
#v = test.rstrip('x') #### xale ###
#v = test.strip('x') ##### ale ###
print (v)
#############
test = "testtasdsddfg"
#v = test.partition('t') #####从左边永远切割成3分
#v = test.rpartition('s') #######从左边开始切割成3份
#v = test.split('s',2) ###### 根据什么来分割,参数是可以选择分割个数
test = "testt\nasdsd\ndfg"
v = test.splitlines(True) ###########根据换行符来切割,true 保留,false不保留
# test.rsplit()
print(v)
##############
test = "backend 1.1.1.1"
#v= test.startswith('ba') ###############以什么开头的
v =test.endswith('1') ###############以什么结尾的
print(v)
###################字符串修改
test = "alexalexalex"
v = test.replace("alex","made",2) ##### 前面是内容参数,后面是要替换的参数,数字代表要替换前几个,默认不加替换全部
print (v)
######### python2.7里内存立马就出来了,###python3 不会在内存立马创建##只会在调用的时候创建
############这是一个优化机制
v = range(0,100,5) ####帮助创建连续的数字也可以通过设置步长来决定不连续
for i in v:
print(i)
####字符串的7个基本魔法########
###join 拼接 ### split 分隔符 #### find 查找### strip 去除空格## upper 替换大写 ## lower 替换成小写## replace 替换字符
####range 创建数字
####字符串的4个灰魔法#############
for 循环 ##### len 计算字符 ### 切片### 索引###
#####字符串的深灰魔法##########
####字符串一旦创建,不可修改
####一旦修改或拼接,都会造成重新生成字符串
练习:
#################随便输入字符,通过字符打印出来字符和对应的索引
test = input(">>>")
for i in range(0,len(test)):
print(i,test[i])
1 执行 Python 脚本的两种方式
2 直接调用python脚本,用python解释器去调用python脚本
3
4 简述位、字节的关系
5 一个字节是8位,计算机计算是以字节为单位,存储是以位单位
6
7 简述 ascii、unicode、utf-‐8、gbk 的关系
8 最先出现的是ascii编码,其次是unicode编码,又因为每个国家的标准不同,继而出现unicode的压缩编码utf-8。ascii码8位,unicode码16位。用ascii码表示的字符,再用unicode表示就会造成内存浪费,提出的utf-8编码,能用多少表示就用多少表示。
9
10 4、请写出 “李杰” 分别用 utf-‐8 和 gbk 编码所占的位数
11 Utf-8 中文一个字代表3个字节,占了6个字节
12 Gbk是一个代表2个字节,占了4个字节
13 5、Pyhton 单行注释和多行注释分别用什么?
14 单行用# 多行用””” “”“”“”
15 6、声明变量注意事项有那些?
16 数字,下划线,字母,数字不能开头,一定不能和关键字名重复。尽量不要用 python内置函数名,可能会出错。
17 如有一下变量 n1 = 5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?
18 n = 5
19 print n.bit_length()
20 3个
21
22 8、布尔值分别有什么?
23 True False
24 9、阅读代码,请写出执行结果
25
26 a = "alex"
27 b=a .capitali()
28 print(a) print(b)
29
30 请写出输出结果:
31
32 alex Alex
33
34
35
36 10、写代码,有如下变量,请按照要求实现每个功能
37 name = " aleX"
38
39 移除 name 变量对应的值两边的空格,并输入移除后的内容 print name.strip()
40 b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果 print(name.startswith('al'))
41
42 c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 print(name.endswith('X'))
43
44
45 d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
46
47 aname=name.replace("l","p")
48
49 f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
50 print(type(name.split('e')))
51
52
53 g. 将 name 变量对应的值变大写,并输出结果
54 print(name.upper())
55
56 h. 将 name 变量对应的值变小写,并输出结果
57 print(name.lower())
58
59 i. 请输出 name 变量对应的值的第 2 个字符?
60 print(name[1])
61
62 j. 请输出 name 变量对应的值的前 3 个字符?
63
64 print(name[0:3])
65
66 k. 请输出 name 变量对应的值的后 2 个字符?
67 print(name[-2:])
68
69 l. 请输出 name 变量对应的值中 “e” 所在索引位置?
70 print(name.find("e"))
71
72 m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
73 print(name[:len(name) -1])
74
75 21、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
76
77 name ="aleX"
78 for i in name:
79 print(i)
80
81
82 22、请用代码实现:
83
84 a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
85 a = "alexericrain"
86 v = ("_".join(a))
87 print(v)
88
89 23、Python2 中的 range 和 Python3 中的 range 的区别?
90 Python 2里会在内存直接创建出,而python3是在调用的时候才在内存创建,属于优化机制,省内存
91
92 24、实现一个整数加法计算器:
93
94 如:
95
96 content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
97 value = input("shuru")
98 v1,v2 = value.split('
99 v1 = int(v1)
100 v2 = int(v2)
101 print(v1+v2)
102
103
104 25、计算用户输入的内容中有几个十进制小数?几个字母?如:
105
106 content = input('请输入内容:') # 如:asduiaf878123jkjsfd-‐213928 26、简述 int 和 9 等数字 以及 str 和 "xxoo" 等字符串的关系?
107
108
109
110 27、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
111
112 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
113
114 28、制作随机验证码,不区分大小写。流程:
115
116 -‐ 用户执行程序 -‐ 给用户显示需要输入的验证码 -‐ 用户输入的值
117
118 用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入生成随机验证码代码示例:
119
120
121
122 29、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师" "东京热",则将内容替换为 ***
123
124
125
126 30、制作表格循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
127
128 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐

浙公网安备 33010602011771号