二进制

1bit = 一个二进制位

8bit = 1byte

循环

for

while

数据类型

  数字、字符串、列表、元祖、字典、集合

  字符编码

  文件处理

for循环:

for i in range(10)    range表示从0-9中一次取数[0,1,2,3,4,5,6,7,8,9],  打印0-4的格式为range(0,5)

for循环中也有else,如果for循环正常执行完,就执行else下面的语句。可以判断循环是否顺利执行完毕

for i in range(3):
age = int(input('nianling:'))
if age == 22:
print("you are right")
break
else:
print("try")
else: #若果循环顺利执行,就执行else
print("haha")
print("")

嵌套循环:

break:跳出整个当层循环。

continue:跳出当次循环,进入下次循环。

for i in range(10):
for j in range(10):
if j < 5:
continue
print(i,j)

while循环

count = 0
while count < 100:
print('haha')
count +=1

回到上面for 循环的例子,如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。

count = 0
age = 29
while count < 3:
user_input = int(input('input you guess:')) if user_input == age:
print('right')
break
elif user_input > age:
print('bigger')
elif user_input < age:
print('smaller')
count +=1
else:
print('太笨了')

九九乘法表

first=1
while first<=9:
sec =1
while sec<=first:
print(str(sec)+"*"+str(first)+"="+str(sec * first),end="\t")
sec+=1
print()
first+=1

变量:用来记录状态。

变量值:记录状态的变化。

程序运行:处理一系列状态的变化。

数据类型

1.数字

2.字符串

3.列表

4.元组

5.字典

数字

特性:

1.只能放一个数

2.一经定义,不可更改

整形、长整形(python3种没有长整形)

1.int(10,base=2)   告知int,我输入的是2进制数。

age = 10 ----> int(10) -------> __init__

2.布尔bool:

True和False

3.浮点型float:

4.复数:

复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

整形与浮点做运算,得出的结果是浮点型。

字符串

print(r'asdf\ndfd') -------r表示按书写的内容输出    在shell中\n是换行。

msg = 'hello world'

print(msg.capitalize()) 首字母大写

print(msg.center(20,'*'))  居中,首尾各空20,以*填充

print(msg.count('l',4,9))统计数量,从左边数第4索引个开始,到第九个结束。

print(msg.endswith('l')) 以...结尾 (判断)

msg1 = 'a\tb'

print(msg1.expendtabs(10))   增加tab的长度

print(msg[10])    打印第十个索引

注意:tab键占一个位置。

print(msg.find(d))  找到这个元素所对应的索引。如果没找到就会返回-1,只要在范围内出现第一个符合条件的就会停止寻找。

花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。

print('{0}{1}'.format('name','age'))  可以多次取数  print('{0}{1}{1}'.format('name','age'))

print('{name}'.format(name='alex'))   调用变量值

print('{}{}'.format('name','age'))    一一对应

print(msg.index('e'))    取索引,取第一个遇到的。

msg3 = 'a123'

print(msg3.isalnum)   al代表字母,num代表数字,判断字符串是否由字母和数字组成。

print(msg.isalpha)   判断是否是字母组成

msg4 = "10"   isdigit 判断是否是整形

print(msg4.isdigit())

msg5 = "10.2"  isdecimal 判断字符串是否只包含十进制字符,是返回True,否则返回False

print(msg5.isdecimal())

msg6 = '12312332'

print(msg.isnumeric()) 判断是否是数字。

isidentifier判断是否是关键字,一个单词中是否包含关键字。

msg7 = 'while'

print(msg7.isidentifier())

msg9 = 'aaa'

print(msg9.islower())小写     isupper全都是大写

msg10 = ' '

print(msg10.isspace()) 判断是否有空格

msg11 = 'Hello'

print(msg11.istitle()) 判断是否是标题

ljust 左对齐 rjust 右对齐

msg13 = 'abc'

print(msg13.ljust(10,'*'))

lower将大写转化为小写,upper将小写转化为大写。

print(msg13.lower())

msg = ' 2323  '
print(msg.strip()) #去掉首尾空格 如果在stip的()中填写的字符串,表明要删除
print(msg.rstrip()) #去掉右边空格
print(msg.lstrip()) #去掉左边空格 msg16 = 'my name is abcd'
table = str.maketrans('abcd','alex')#做一张表(table)
print(msg16.translate(table)) #翻译(翻译的长度必须相同)
msg = 'abc'
print(msg.zfill(20)) #右对齐,不够用0
print(msg.rjust(20,'0'))
print(msg.ljust(20,'0'))
msg.replace() 替换(‘old’,‘new’)

split翻译为分裂。  split()就是将一个字符串分裂成多个字符串组成的列表。

split()当不带参数时以空格进行分割,当代参数时,以该参数进行分割

>>> str="hello boy<[www.doiido.com]>byebye"
>>> str.split("[")[1].split("]")[0]
'www.doiido.com'
>>> str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']

字符串常用功能:
1.移除空白
2.分割 -----取范围 print(msg[0:3]) 顾头不顾尾 [0:3:2]如果再加一个:表示步长
msg = 'nihao 123'
print(len(msg))
3.索引
4.切片 与分割类似
5.长度len(msg) 运算符 1.算数运算符
地板除 // 除完以后取整数 3.2 // 2.1
% 取余
2.比较运算符
3.赋值运算
4.位运算符
&与 只有对应位都是1,才是1,否则均为0
| 或 只要有一个为1则为1
^ 异或 相同为0,不同为1
>>运算的各位结果右移 3>>2 二进制三右移两位
5.逻辑运算符
and、or、not
布尔值:
非零数字自带bool值都是True
非空字符串自带bool值都是True
6.成员运算符
判断一个元素是否是字符、数字、列表、元组、字典的成员 in not in
如果两个变量所附的值一样,如果长度较小,就会暂时指向同一块地址,如果比较长,就会重新创建一个。
7.身份运算符
id查看所在内存位置。
is 是 列表
names = ['hsc','dt','lwq']
name1 = ['qq','ww','ee']
#增
names.append('ls') #新增 ,这样默认将元素添加到最后,并返回空值
#插
names.insert(2,'wt') # 2表示在2的索引之前插入
#删除的3种方法
names.remove("dt")
del names[2]
print(names.pop(3)) #删除并返回值,默认删除最后一个
#改
names[0] = 'sb'
#查
print(names[2])
print(names[0::2]) 查询的范围是0-最后,步长为2
print(names[-3:]) #取最后三个元素
names.index('dt') #取元素的下标
#first_index = names.index("wt")
#second_index = names[] names.count('wt') #统计
names.clear() #清空列表
names.extend('name1') #扩展,用于两个列表的合并
print(names)
names.reverse() 反向排列列表
print(names)
names.sort() #按照asscii码顺序排列
print(names)
names.copy() n3 = names.copy()
n4 = names
names = names.pop()
#这样的话,names修改的话,n4会改变,但是n3是copy的,所以不会改变。 print(name)
for i,ele in enumerate(name): #打印下标
print(i,ele)
enumerate用于遍历列表中的元素以及他们的下标。
设置输出颜色
格式:\033[显示方式;前景色;背景色m

说明:
前景色 背景色 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
显示方式 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见 例子:
\033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色-->
\033[0m <!--采用终端默认设置,即取消颜色设置-->
Python之路-Day2-LMLPHP
  • 备注:

    • \033[1;31;40m: 代表接下来输出内容为:高亮显示,前景色为红色,背景色被黑色。
    • \033[0m:代表接下来的输入内容为终端默认设置,也就是取消之前的颜色设置,如果没有这个,接下来的输出,都是上面的设置。
  • 例子:
password = raw_input('请输入用户密码,如果不设置,\033[5;33;40m请回车!\033[0m。默认密码为: NewPassWord2016)')
    • 我的设置是,闪烁、前景色为黄色,背景色为黑色。输出的效果是:”请回车“  这三个字一直在闪烁,且字体为黄色,背景色为黑。

针对列表元素进行拼接

name = ['id>','','and','id','< 10']     #针对字符串进行拼接
list = []
char = ''
list1 = ['and']
for i in name:
if i in list1:
list.append(char)
list.append(i)
char = '' #此处将char清空,否则将会与第一次的数据进行合并
else:
char += i
else: #利用for循环中的else将最后的结果加入的列表中
list.append(char)
print(list)
05-11 15:47