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相关推荐

  1. 马哥2013年运维视频笔记 day02 Linux系统常识

    day02 ①.回顾 SHELL的概念:用户和内核之间进行命令传递的通道 分为:GUI:Graphic User Interface Windows--->桌面 Linux ---> Gn ...

  2. c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...

    常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...

  3. JavaWeb图书管理系统day02

    视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ   提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...

  4. Python基础day02 作业解析【6道 if 判断题、9道 循环题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day02[if结构.if elif 结构.while循环.for循环.Break ...

  5. Python基础day02【if结构、if elif 结构、while循环、for循环、Break和continue、Debug 调试、三目运算、循环 else 结构】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[九天课程]博客笔记汇总表[黑马程序员] Python基础day02 作业解析[6道 if 判断题.9道 循环题]      学习目标: 能 ...

  6. Python20行代码实现视频字符化

    Python20行代码实现视频字符化 我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确实非常简单,我们只需要接触opencv模块, ...

  7. Python学习【day02】-str类型方法记录

    1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 #测试并记录str数据类型的各个方法 5 6 str1 = "root" 7 ...

  8. 三元运算符运算(Day02)

    三元运算符运算(Day02) 运算符:用来对常量或者变量连接的符号,称为运算符. 表达式:用运算符连接起来的整个式子成为表达式.比如:a+10,10+20 运算符有以下五种: 1.算术运算符 2.赋值 ...

  9. 【老杜】MySQL—day02

    文章目录 day02课堂笔记 1.把查询结果去除重复记录[distinct] 10.连接查询 10.1.什么是连接查询? 10.2.连接查询的分类? 10.3.当两张表进行连接查询时,没有任何条件的限 ...

  10. HTML day02

    前端班day02课堂内容记录 主要内容:HTML a标签,表单及css基本内容 ①关于a标签 <a href="   ">  </a> href:核心属性 ...

最新文章

  1. 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?
  2. noclobber:避免文件的重写
  3. CloudNative时代践行DevOps躲坑指南
  4. 我的程序员之路(4)——工作半年
  5. html5中control,HTML5.(control-shift)
  6. s5原生android 5.0,三星Galaxy S5/S4吃上原生安卓5.0棒棒糖
  7. 分布式系统原理_分布式系统架构设计 第19式 分布式系统八卦思维模型
  8. Linux系统调用接口添加简单示例
  9. 考研高等数学张宇30讲笔记——第八讲 一元函数积分学的概念与计算
  10. windows自带录屏_电脑版免费的录屏软件有哪些?
  11. 操盘软件富赢版V7 2016正式版
  12. YOLO3实践应用之搭建开发环境(Python 3.6 、TensorFlow1.5版本)
  13. Kali Linux 软件源与更新源和更新命令
  14. VSTOhowtoreferene.Net3.5(VSTO如何引用.NET3.5的外接程序)
  15. OriginLab学生版激活码续期
  16. Leftist Heaps
  17. 使用无序列表ul实现多级菜单
  18. WordPress采集wordpress挂机采集插件
  19. c中宏定义的特殊符号
  20. 自动化刷取购物红包脚本@安卓(每年持续更新)

热门文章

  1. 跨域部署Silverlight时需要注意的问题
  2. php页面刷新$_session会变化,每次刷新页面都会生产新的session_id
  3. pygame是python的一个库吗,python学习pygame,,基本库导入impor
  4. xp启动java设置_Windows XP快速启动经典六招
  5. 服务器温度3d显示,智能问答助手、3D可视化展示,腾讯医典“黑科技”助力科普更有温度...
  6. java变量存储位置_java 中变量存储位置的区别
  7. php 7 显示错误信息,PHP 7 错误处理
  8. 未来计算机体系结构,华中科大金海:未来是计算机体系结构的“黄金十年” 要培养大量创新人才...
  9. python检查_python设置检查点简单实现
  10. java批量执行sql语句_Java中批量执行sql语句