文章目录

  • 1. 数据类型和变量
  • 2. 字符串和编码
    • 2.1 字符编码
    • 2.2 字符串
    • 2.3 格式化
    • 2.4 小结
  • 3. 列表和元组
    • 3.1 List
    • 3.2 Tuple
  • 4. 条件判断
  • 5. 循环
  • 5. dict和set
    • 5.1 dict
    • 5.2 set

1. 数据类型和变量

  • Python还允许用r’’’'表示内部的字符串默认不转义
  • 如果字符串内部既包含’又包含" 可以用转义字符\来标识
  • Python允许用’’’ … ‘’'的格式表示多行内容
  • 在Python中赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量[动态语言]
  • [静态语言:Java…]在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错
  • 在Python中,通常用全部大写的变量名表示常量
print(*objects, sep=' ', end='\n', file=sys.stdout)
objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。
sep -- 用来间隔多个对象,默认是空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,可以换成其他字符。
file -- 要写入的文件对象。

2. 字符串和编码

2.1 字符编码

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码

2.2 字符串

  1. Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

  2. 以Unicode表示的str通过encode()方法可以编码为指定的bytes

  3. 要把bytes变为str,就需要用decode()方法

  4. 用len()函数计算str中包含多少字符

2.3 格式化

  1. %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换
  2. 有几个%占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%,括号可以省略
  3. 格式化整数和浮点数还可以指定是否补0和整数与小数的位数;%s永远起作用,它会把任何数据类型转换为字符串;
  4. 有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%
  5. format():用传入的参数依次替换字符串内的占位符{0}、{1}……
  6. f-string:与普通字符串的不同之处在于字符串如果包含{xxx},就会以对应的变量替换:

2.4 小结

python的除法

  • 真正的除法:/ 返回真正的商,不管除数(被除数)的数据类型,都返回浮点型
  • 地板除法:// 直接舍去小数部分,返回整数部分
  • 取余:% 返回余数,没有就返回0

3. 列表和元组

3.1 List

一种有序的集合,可以随时添加和删除其中的元素

  1. len()获取list元素个数
  2. 用索引访问list中每一个位置的元素(索引从0开始)确保索引不要越界,记得最后一个元素的索引是len(classmates)-1;用-1做索引直接获取最后一个元素,-2倒数第二个,将-?想象成倒数第?个
  3. 用append()函数可以向list末尾追加元素;insert(i,内容) 将元素插入到指定位置I
  4. pop() 删除list末尾元素 ,pop(i)删除指定位置元素,i是索引位置
  5. 要把某个元素替换成别的元素,可以直接赋值给对应的索引位置
  6. list里面的元素数据类型可以不同,list元素也可以是另一个list
  7. 获取s中L的元素 s[][],将s看成是一个二维数组

3.2 Tuple

tuple和list非常类似,但是tuple一旦初始化就不能更改

  1. 没有append()、insert()等方法,其他获取元素的方式相同(利用索引),但无法赋值成另外的元素

  2. 因为tuple不可变,所以代码更安全。

  3. 只有1个元素的tuple定义时必须加一个逗号,来消除歧义,避免被误会成小括号

  4. ”可变“的tuple:tuple里面的元素存在list,其中list里面的元素可变,但是作为tuple元素指向的list没有改变

4. 条件判断

  • if语句执行从上往下判断,如果在某个判断上是True,将该判断对应的语句执行后,就忽略掉剩下的elif和else if

  • 判断条件还可以简写,eg.只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

    input()返回的数据类型是str,str不能直接和整数比较,
    必须先将str转换成整数——利用int()函数完成,
    但int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了
    

5. 循环

python中有两种循环

① for…in循环
依次把list或tuple中的每个元素迭代出来,for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句

range()函数:可以生成一个整数序列,再通过list()函数可以转换为list

②while循环
只要条件满足,就不断循环,条件不满足时退出循环。
通常配合if语句得使用:break可以提前退出循环;continue语句,跳过当前的这次循环,直接开始下一次循环

5. dict和set

5.1 dict

字典,键值对

  • 一个key只能对应一个value
  • 如果key不存在,dict就会报错
  • 通过in判断key是否存在
  • 通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value
  • 用pop(key)方法删除key
  • dict内部存放的顺序和key放入的顺序是没有关系的
  • dict中的key是不可变对象,dict利用hash算法根据key来计算value的存储位置

【在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key】

5.2 set

一组key的集合,不存储value

  1. 创建set需要提供一个list作为输入集合,重复元素在set中被自动过滤
  2. 通过add(key)方法可以添加元素到set中,remove(key)删除元素
  3. set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集&、并集|等操作
  4. set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等

tuple虽然是不变对象,但试试把(1, 2, 3)和(1, [2, 3])放入dict或set中

对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的

【廖雪峰python教程学习】——(一)python基础相关推荐

  1. 廖雪峰Git教程学习笔记

    廖雪峰git简单教程学习笔记 教程地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b ...

  2. java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础

    (一)Java程序基本结构 Java是面向对象的语言,一个程序的基本单位就是class.在class内部,可定义若干方法. 类名要求: 类名必须以英文字母开头,后接字母,数字和下划线的组合 习惯以大写 ...

  3. 廖雪峰JS教程学习记录---字符串

    1.由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用'...'表示`这是一个 多行 字符串`; 2.字符串常见的操作如下: s.length; // 13 要 ...

  4. 廖雪峰javascript教程学习记录

    $1.数据类型和变量 1.不区分整数和浮点数,统一用Number 2.字符串String 3.布尔值 注意: (1) 实际上,JavaScript允许对任意数据类型做比较; 要特别注意相等运算符==. ...

  5. 廖雪峰JS教程学习记录----Map和Set

    Map和Set Map Map是一组键值对的结构,具有极快的查找速度. 1.解决问题: JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值 ...

  6. mysql 廖雪峰_mysql查询(廖雪峰sql教程学习摘录)

    mysql默认不区分大小写 条件查询 select * from students                                                            ...

  7. Python语言学习:python语言的特点、入门、基础用法之详细攻略

    Python语言学习:python语言的特点.入门.基础用法之详细攻略 相关内容 Python 基础教程 目录 python语言的特点 python语言的入门 python语言的基础用法 python ...

  8. Python教程分享之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. Python ...

  9. python教程学习

    python教程学习 一. ubuntu基本使用 1.简介 1.1. 目录 1.2. 常用命令基本使用 1.3 终端命令 1.4 查阅命令帮助信息 2. 文件目录相关 2.1 **通配符的使用** 2 ...

  10. Linux基础(B站视频笔记—— Python教程_600集Python从入门到精通教程)

    Python教程_600集Python从入门到精通教程(懂中文就能学会) 07 虚拟机简介 09 Linux内核和发行版 13 为什么要学习Linux终端命令 16 六个常见的终端命令 17 终端命令 ...

最新文章

  1. Unity3D脚本属性
  2. 家长学校.net keti.html,家长学校教科研的工作制度
  3. 一个页面区分管理者和普通用户如何设计_产品经理要做的操作权限/数据权限设计...
  4. java线程锁的作用,大厂面经合集
  5. [UIView beginAnimations:context:]与[UIView animateWithDuration:animations:]值得注意的一个区别...
  6. 【C 语言】内存四区原理 ( 栈内存与堆内存对比示例 | 函数返回的堆内存指针 | 函数返回的栈内存指针 )
  7. python matplotlib.pyplot.imshow() (在2D常规栅格上显示图像(数据))
  8. WebConfig 加密解密的原理是什么?
  9. php跨域session共享,PHP中利用COOKIE与SESSION联合实现SESSION跨域
  10. python中什么是主要数据类型_python中基本数据类型是什么
  11. Java 疑问自问自答
  12. 网易2018校园招聘编程题真题 合唱
  13. 编译cloog for gcc 4.8.5 问题
  14. vue 微信支付的坑_微信支付踩坑
  15. mysql chunk_【MySQL参数】-innodb_buffer_pool_chunk_size
  16. input正则邮箱_用正则表达式匹配邮箱地址
  17. 2018计算机系统结构全国卷,2018年10月高等教育自学考试全国统一命题考试02325计算机系统结构试卷及答案.doc...
  18. 如何查看Linux版本.
  19. ros入门真的没有那么难,我一般不说有手就行^_^
  20. 金蝶打开提示中间层连接失败

热门文章

  1. 计算机系统非正版,电脑安装正版系统和盗版系统的区别
  2. golang map转json的顺序问题
  3. Verilog 教程
  4. 贾跃亭发布最新PPT:FF商业计划书
  5. linux系统安装gcc依赖包,linux安装gcc需要的依赖包
  6. 区块链技术指南 序章理解感悟
  7. XshellXftp免费版本申请
  8. fortran 学习笔记1-编译环境
  9. vivo手机通用的官方售后解锁工具包_一加全系列手机一键解锁BootLoader超详细图文刷机教程...
  10. python版本的选择