二进制

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 <!--采用终端默认设置,即取消颜色设置-->
  • 备注:

    • \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)

Python之路-Day2的更多相关文章

  1. Python之路,Day2 - Python基础(转载Alex)

    Day2-转自金角大王 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存 ...

  2. Python之路,Day2 - Python基础2

    def decode(self, encoding=None, errors=None): """ 解码 """ ""& ...

  3. Python之路 day2 字符编码及转换

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import sys print("sys default encodin ...

  4. Python之路 day2 文件基础操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #f,文件句柄;模式 a : append 追加文件内容 f = open( ...

  5. Python之路 day2 集合的基本操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #集合是无序的 集合的关系测试, 增加,删除,查找等操作 ''' #列表去重 ...

  6. Python之路 day2 按行读文件

    #1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = fil ...

  7. Python之路 day2 购物车小程序1

    #Author:ersa ''' 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时 ...

  8. Python之路Day2

    -->the start 养成好习惯,每次上课的内容都要写好笔记. 第二天内容主要是熟悉int.long.float.str.list.dict.tuple这几个类的内建方法. 对于Python ...

  9. 小白的Python之路 day2 文件操作

    文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  10. Python之路,Day2 - Python基础,列表,循环

    1.列表练习name0 = 'wuchao'name1 = 'jinxin'name2 = 'xiaohu'name3 = 'sanpang'name4 = 'ligang' names = &quo ...

随机推荐

  1. 坑的可以呀re

    .findall()   直接匹配字母和数字 元字符:. ^ $ * + ? {} [] () \ import re print(re.findall("alex"," ...

  2. 关于a标签点击会出现的背景色的问题

    同事今天在tap里面有a标签,并且给a标签块化之后,点击tap切换时会出现背景色,解决方案: body { margin: 0 auto; max-width:100%; background: #f ...

  3. Serif和Sans-serif字体的区别

    在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Monospace这一种类,例如在Web中,表示代 ...

  4. JVM实用参数(七)CMS收集器

    HotSpot JVM的并发标记清理收集器(CMS收集器)的主要目标就是:低应用停顿时间.该目标对于大多数交互式应用很重要,比如web应用.在我们看一下有关JVM的参数之前,让我们简要回顾CMS收集器 ...

  5. HTTP返回码总结(转)

    HTTP协议状态码表示的意思主要分为五类 ,大体是 :   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  1×× 保留   2×× 表示请求成功地接收   3×× 为完成请求客户需进一步 ...

  6. Java创建WebService服务及客户端实现(转)

    简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...

  7. Android Studio使用总结

    记录Android-Studio遇到的各种坑 http://blog.csdn.net/u012874222/article/details/50616698 Android Studio 权威教程  ...

  8. phpinfo有mysqlnd没有mysql

    这个着实是个坑,使用phpinfo查看,明明有mysqlnd这个项目,就是找不到mysql.以前用直接运行php.exe的方法可以看到错误,可是这次就没有任何错误. 中间把php的安装路径添加到了系统 ...

  9. ajax提交请求返回对象异常问题

    很早之前的一个ajax请求今天突然不能正常显示数据了. 控制台看到报错 POST http://xxx:8081/spider-war/spiderControl.do?method=getTaskL ...

  10. xcode 工具学习笔记

    1. 快速打开辅助界面   快捷键:使用Option + 单击文件   2. 辅助编辑器更多打开方式   快捷键: Option+shift +单击文件   3. tab页面快捷键   快捷键: Co ...