Python之路-Day2
二进制
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的更多相关文章
- Python之路,Day2 - Python基础(转载Alex)
Day2-转自金角大王 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存 ...
- Python之路,Day2 - Python基础2
def decode(self, encoding=None, errors=None): """ 解码 """ ""& ...
- Python之路 day2 字符编码及转换
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import sys print("sys default encodin ...
- Python之路 day2 文件基础操作
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #f,文件句柄;模式 a : append 追加文件内容 f = open( ...
- Python之路 day2 集合的基本操作
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #集合是无序的 集合的关系测试, 增加,删除,查找等操作 ''' #列表去重 ...
- Python之路 day2 按行读文件
#1. 最基本的读文件方法: # File: readline-example-1.py file = open("sample.txt") while 1: line = fil ...
- Python之路 day2 购物车小程序1
#Author:ersa ''' 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时 ...
- Python之路Day2
-->the start 养成好习惯,每次上课的内容都要写好笔记. 第二天内容主要是熟悉int.long.float.str.list.dict.tuple这几个类的内建方法. 对于Python ...
- 小白的Python之路 day2 文件操作
文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- Python之路,Day2 - Python基础,列表,循环
1.列表练习name0 = 'wuchao'name1 = 'jinxin'name2 = 'xiaohu'name3 = 'sanpang'name4 = 'ligang' names = &quo ...
随机推荐
- 坑的可以呀re
.findall() 直接匹配字母和数字 元字符:. ^ $ * + ? {} [] () \ import re print(re.findall("alex"," ...
- 关于a标签点击会出现的背景色的问题
同事今天在tap里面有a标签,并且给a标签块化之后,点击tap切换时会出现背景色,解决方案: body { margin: 0 auto; max-width:100%; background: #f ...
- Serif和Sans-serif字体的区别
在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Monospace这一种类,例如在Web中,表示代 ...
- JVM实用参数(七)CMS收集器
HotSpot JVM的并发标记清理收集器(CMS收集器)的主要目标就是:低应用停顿时间.该目标对于大多数交互式应用很重要,比如web应用.在我们看一下有关JVM的参数之前,让我们简要回顾CMS收集器 ...
- HTTP返回码总结(转)
HTTP协议状态码表示的意思主要分为五类 ,大体是 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1×× 保留 2×× 表示请求成功地接收 3×× 为完成请求客户需进一步 ...
- Java创建WebService服务及客户端实现(转)
简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...
- Android Studio使用总结
记录Android-Studio遇到的各种坑 http://blog.csdn.net/u012874222/article/details/50616698 Android Studio 权威教程 ...
- phpinfo有mysqlnd没有mysql
这个着实是个坑,使用phpinfo查看,明明有mysqlnd这个项目,就是找不到mysql.以前用直接运行php.exe的方法可以看到错误,可是这次就没有任何错误. 中间把php的安装路径添加到了系统 ...
- ajax提交请求返回对象异常问题
很早之前的一个ajax请求今天突然不能正常显示数据了. 控制台看到报错 POST http://xxx:8081/spider-war/spiderControl.do?method=getTaskL ...
- xcode 工具学习笔记
1. 快速打开辅助界面 快捷键:使用Option + 单击文件 2. 辅助编辑器更多打开方式 快捷键: Option+shift +单击文件 3. tab页面快捷键 快捷键: Co ...