Python20-Day02
1、数据
数据为什么要分不同的类型
数据是用来表示状态的,不同的状态就应该用不同类型的数据表示;
数据类型
数字(整形,长整形,浮点型,复数),字符串,列表,元组,字典,集合
2、字符串
1、按索引取值,只能取
input_info = 'Hello World' print(input_info[6])
2、切片(顾头不顾尾)
input_info = 'Hello World' print(input_info[0:5])
3、长度len
input_info = 'Hello World' print(len(input_info))
4、成员运算in和not in
input_info = 'Hello World' # if 'Hello' in input_info: # print('OK') if 'wang' not in input_info:print('wang is not in input_info!' )
5、移除空白strip (移除开头和结尾的空格)
input_info = ' Hello World' input_info2 = ' Hello World ' print(input_info) print(input_info.strip()) print(input_info2.strip())
6、切分split
input_info = 'egon,alex,wupeiqi,oldboy' #默认按照空格进行切分 # print(input_info.split()) #切分完成后得到一个列表 print(input_info.split(',')) #指定分隔符进行切分
7、循环
input_info = 'hello world' for item in input_info:print(item)
#字符串需要掌握的方法
1、lower,upper
input_info = 'Hello World' print(input_info.upper()) print(input_info.lower())
2、startswith和endswith
input_info = 'hello world' print(input_info.startswith('hello')) #返回布尔值 print(input_info.endswith('world')) #返回布尔值
3、format
res='{} {} {}'.format('egon',18,'male') res='{1} {0} {1}'.format('egon',18,'male') res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
4、join
tag=' ' print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
5、replace
name='hello,every one,are you ok,are you good' print(name.replace('hello','Hello')) print(name.replace('you','then',1))
6、isdigit
res_input = input('Input>>: ') print(res_input.isdigit())
#字符串类型总结:
1、只能存一个值,2、有序3、不可变:值变,id就变。不可变==可hash
3、列表
定义:[]内可以有多个任意类型的值,逗号分隔
#按索引存取值(正向存取+反向存取):即可存也可以取 my_girl_friends=['alex','wupeiqi','yuanhao',4,5] print(my_girl_friends[0]) my_girl_friends.insert(1,'zhaoliying') print(my_girl_friends)
#切片(顾头不顾尾,步长)
my_girl_friends=['alex','wupeiqi','yuanhao',4,5,'zhaoliying','wangxiaomi'] print(my_girl_friends[1:6:2])
#长度
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] print(len(my_girl_friends))
#成员运算in和not in
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] if 'alex' in my_girl_friends:print('This is ok') if 'zhaoliying' not in my_girl_friends:print('ni xiang sha ne')
#追加
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] my_girl_friends.append('zhaoliying') #append,在列表的尾部添加 print(my_girl_friends) my_girl_friends.insert(1,'zhaoliying') #insert,可以指定列表的下标添加元素 print(my_girl_friends)
#删除
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] print(my_girl_friends.pop()) #pop,删除列表中的元素,从尾部开始删除,并且会返回删除的值 print(my_girl_friends.pop()) print(my_girl_friends.pop())
#循环
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] for item in my_girl_friends:print(item)
#步长
l=[1,2,3,4,5,6] print(l[0:3:1]) #正向步长 print(l[2::-1]) #反向步长 print(l[::-1]) #列表翻转
#列表类型总结
1、可以存多个值,值都可以是字符串,列表,字典,元组
2、有序
2、可变:值变,id不变。可变==不可hash
4、元组
#按索引取值(正向取+反向取):只能取
age=(11,22,33,44,55) print(age[1])
#2、切片(顾头不顾尾,步长)
age=(11,22,33,44,55) print(age[1:3])
#3、长度
age=(11,22,33,44,55) print(len(age))
#4、成员运算in和not in
age=(11,22,33,44,55) if 11 in age:print('This is ok!') if 88 not in age:print('This is error')
#5、循环
age=(11,22,33,44,55) for item in age:print('your age is %s' %item)
5、字典
作用:存多个值,key-value存取,取值速度快
定义:key必须是不可变类型,值可以是任意类型
info={'name':'egon','age':18,'sex':'male'}
#1、按key存取值:可存可取
info={'name':'egon','age':18,'sex':'male'} print(info['name'])
#2、长度len
info={'name':'egon','age':18,'sex':'male'} print(len(info))
#3、成员运算in和not in
info={'name':'egon','age':18,'sex':'male'} if 'name' in info:print(info['name'])
#4、删除
info={'name':'egon','age':18,'sex':'male'} print(info.pop('age')) print(info)
#5、键keys(),值values(),键值对items()
info={'name':'egon','age':18,'sex':'male'} for item in info:print(item,info[item])
6、集合
作用:去重,关系运算
定义集合:
集合可以包含多个元素,用逗号分隔
集合的元素遵循三个原则:
1. 每个元素必须是不可变类型
2. 没有重复的元素
3. 无序
注意:集合的目的是将不同的值存放到一起,不同的集合用来做关系运算
#1、长度len
# pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'} # print(len(pythons)) pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'} linuxs={'wupeiqi','oldboy','gangdan'}
#3、|合集 # print(pythons|linuxs) #4、&交集 # print(pythons & linuxs) #5、-差集 # print(pythons - linuxs) #6、^对称差集 # print(pythons ^ linuxs)
7、 文件编码
字符编码的发展3个阶段:
1、 现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII
2、为了满足中文和日文,中国定制了GBK
3、每一个国家都有自己的标准,就不可避免的会有冲突,在多语言混合的文本中,显示出来就会乱码,如何解决:
1. 能够兼容万国字符
2. 与全世界所有的字符编码都有映射关系,这样就可以转换成任意国家的的字符编码。
总结:内存中统一采用Unicode,浪费空间来换取可以转换成任意编码(不乱码),硬盘可以采用各种编码,如utf-8,保证存放于硬盘或者基于网络传输的数据量很小,提高传输效率与稳定性。
总结:保证不乱码的的核心法则:
字符按照什么标准而编码的,就按照什么标准解码。
在内存中写的所有字符,都是Unicode编码。
8、 文件操作
1、文件操作流程
打开文件,得到文件句柄并赋值给一个变量
通过句柄对文件进行操作
关闭文件
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb
ab
f = open('文件操作.file','r',encoding='utf-8') # print(f.read()) print(f.readline(3).strip()) #readline每次读一行,可以设置limit(字符)
2、with语句
为了避免打开文件后忘记关闭,可以用with:
with open('文件操作.file','r',encoding='utf-8') as f:pass
python2.7后,with支持对多个文件的上下文进行管理
with open('log1') as obj1, open('log2') as obj2:pass
转载于:https://www.cnblogs.com/mrwang1101/p/8023521.html
Python20-Day02相关推荐
- 马哥2013年运维视频笔记 day02 Linux系统常识
day02 ①.回顾 SHELL的概念:用户和内核之间进行命令传递的通道 分为:GUI:Graphic User Interface Windows--->桌面 Linux ---> Gn ...
- c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...
常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...
- JavaWeb图书管理系统day02
视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ 提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...
- Python基础day02 作业解析【6道 if 判断题、9道 循环题】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day02[if结构.if elif 结构.while循环.for循环.Break ...
- Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题] 学习目标: 能 ...
- Python20行代码实现视频字符化
Python20行代码实现视频字符化 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触opencv模块, ...
- Python学习【day02】-str类型方法记录
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 #测试并记录str数据类型的各个方法 5 6 str1 = "root" 7 ...
- 三元运算符运算(Day02)
三元运算符运算(Day02) 运算符:用来对常量或者变量连接的符号,称为运算符. 表达式:用运算符连接起来的整个式子成为表达式.比如:a+10,10+20 运算符有以下五种: 1.算术运算符 2.赋值 ...
- 【老杜】MySQL—day02
文章目录 day02课堂笔记 1.把查询结果去除重复记录[distinct] 10.连接查询 10.1.什么是连接查询? 10.2.连接查询的分类? 10.3.当两张表进行连接查询时,没有任何条件的限 ...
- HTML day02
前端班day02课堂内容记录 主要内容:HTML a标签,表单及css基本内容 ①关于a标签 <a href=" "> </a> href:核心属性 ...
最新文章
- 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?
- noclobber:避免文件的重写
- CloudNative时代践行DevOps躲坑指南
- 我的程序员之路(4)——工作半年
- html5中control,HTML5.(control-shift)
- s5原生android 5.0,三星Galaxy S5/S4吃上原生安卓5.0棒棒糖
- 分布式系统原理_分布式系统架构设计 第19式 分布式系统八卦思维模型
- Linux系统调用接口添加简单示例
- 考研高等数学张宇30讲笔记——第八讲 一元函数积分学的概念与计算
- windows自带录屏_电脑版免费的录屏软件有哪些?
- 操盘软件富赢版V7 2016正式版
- YOLO3实践应用之搭建开发环境(Python 3.6 、TensorFlow1.5版本)
- Kali Linux 软件源与更新源和更新命令
- VSTOhowtoreferene.Net3.5(VSTO如何引用.NET3.5的外接程序)
- OriginLab学生版激活码续期
- Leftist Heaps
- 使用无序列表ul实现多级菜单
- WordPress采集wordpress挂机采集插件
- c中宏定义的特殊符号
- 自动化刷取购物红包脚本@安卓(每年持续更新)
热门文章
- 跨域部署Silverlight时需要注意的问题
- php页面刷新$_session会变化,每次刷新页面都会生产新的session_id
- pygame是python的一个库吗,python学习pygame,,基本库导入impor
- xp启动java设置_Windows XP快速启动经典六招
- 服务器温度3d显示,智能问答助手、3D可视化展示,腾讯医典“黑科技”助力科普更有温度...
- java变量存储位置_java 中变量存储位置的区别
- php 7 显示错误信息,PHP 7 错误处理
- 未来计算机体系结构,华中科大金海:未来是计算机体系结构的“黄金十年” 要培养大量创新人才...
- python检查_python设置检查点简单实现
- java批量执行sql语句_Java中批量执行sql语句