菜鸟的自学心路历程

@[Python](小菜鸟自学心得)
小标注:
python内置的常用数据类型有:数字、字符串、Bytes、列表[list]、元组(tuple)、字典{dict}、集合(set[])、布尔值Ture、False等
#背景:本人是一名刚毕业的本科生,就职于北京小米集团,担任SRE职位,前身是一名C++学习者,了解的编程语言有C、C++、JAVA略知一二。目前的工作状态需要我对python、Linux shell多了解一些,借此机会打算自我学习,接下来的日子里面我将会在贵平台记录我的学习历程,坚持初心,学有所成。
#目标1:一个月后的自己比现在的我多掌握一门语言:python
#Python是什么?
python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
解释型语言:开发过程中没有编译这个环节
交互式语言:可以在一个python提示符,直接互动执行程序
面向对象语言:支持面向对象的风格或代码封装在对象的编程技术
#Python的基本语法是什么?
##Python是一种交互式编程
交互式编程意味着不需要写脚本,只需要通过python解释器的交互模式即可编写代码,启动python的交互模式命令:python
Python可以一行显示多条命令
在这里插入图片描述
##Python是一种脚本式编程
第一种:首先通过新建一个python脚本test.py
执行脚本:python test.py
在这里插入图片描述
第二种:通过修改python脚本的内容,使用./执行脚本 PS:给脚本添加可执行权限
在这里插入图片描述
#Pyhton标识符
Python的标识符包含数字、字母、下划线,不能以数字开头,C++、JAVA的标识符要求一致
Python的标识符是区分大小写
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
#Python保留字符
Python的保留字符是针对于小写,保留字符不可作为变量或者是常量或者是其他标识符
#Python的缩进和行控制
Python的缩进是严格控制的,所有的缩进空格数目是可变的,并且必须保持缩进一致,通过缩进来区分模块。
在这里插入图片描标识出来的空格数相同述
Python中一般以新的一行作为语句的结束符
#Python基础
##数据类型和变量
整数:正整数和负整数,计算机由于使用二进制,所以使用十六进制表示整数,0x前缀和0-9,a-f表示。
浮点数:浮点数也称为小数,对于很小的浮点数通过数学表示法可以表示,对于很大的浮点数,可以利用科学记数法表示,此时小数点的位置是可变的。
整数和浮点数在计算机内存储方式不同,整数运算永远是准确的,浮点数运算可能会有四舍五入的误差。
字符串:单引号、双引号括起来的任意文本,因为存在很多的转义字符,通过r’ ‘默认’ '里面的内容不转义。
框出来的表示转义字符,下面是不转义的字符串内容在这里插入图片描述
针对多行的内容利用\n可以实现换行,也可以通过…实现换行
使用\n多行换行的示例在这里插入图片描述
使用'''...多行换行的示例在这里插入图片描述
上面标红的表示正常的换行符结果,第二行表示加入r之后默认不转义,直接打印出字符串结果在这里插入图片描述
布尔值:True、False,布尔值可以通过and、or、not直接运算
在这里插入图片描述
空值:None是一个特殊的空值,不等于0
变量:变量的类型没有定义的属于动态语言,变量类型定义好的是静态语言
常量:通常大写的表示常量
小结
Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。

注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
##字符编码
字符串也是一种数据类型,计算机能处理的都是二进制码,所以我们需要将字符编码,统一地通过Unicode管理。
Unicode编码常用两个字节表示一个字符,编码会相对统一,不再出现乱码,但是存储空间比ASCII编码多占一倍。所以就出现了把Unicode编码变为可变长编码的UTF-8,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间.
ASCII编码用一个字节表示一个字符
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
在这里插入图片描述
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
在这里插入图片描述
###字符串编码
Python用ord()函数获取单个字符的整数,chr()函数用于将编码转换为对应的字符
在这里插入图片描述
#list和tuple
##list是Python的一种内置数据类型:是一种有序的数据集合,可以随时增加删除list中的元素,通过输入列表名称就可以查看列表元素,如下:
employee是一个list,其中的元素就是[]里面的内容在这里插入图片描述
len()函数可以获取list的元素个数
len()函数查看employee列表的元素个数在这里插入图片描述
通过索引访问list中的每个元素,注意:索引是从0开始
当索引越界的时候会报一个index error错误,这个时候最后一个元素的索引就是元素个数-1在这里插入图片描述
list是一个可变的有序列表,可以追加元素到列表末尾如下:
追加了新元素dongkun在这里插入图片描述
插入元素到指定的位置,例如插入元素到1号索引的位置
再1号索引的位置插入qinchunshan在这里插入图片描述
##tuple
tuple即元组,里面的指向的元素是不可变的,没有append()、insert()这些方法,其中tuple(‘a’,‘b’,‘c’,list[‘x’,‘y’,‘z’])list[]中的元素可以改变,也就是说tuple()元组指向的元素不能改变,但是元素本身是可以改变的,如下:
employee只想这个元组,元组里面有个元素指向list即['x','y','z'],改变list[0]='o'在这里插入图片描述
#dict和set
##dict使用键-值(key-value)存储,具有极快的查找速度,如下查找某同学的成绩:
在这里插入图片描述
由于key只能对应一个value,所以多次给key赋值,会覆盖掉之前的值,如下:
在这里插入图片描述
判断key是否存在?
in判断key值是否存在:在这里插入图片描述
get()方法判断key值是否存在:
如果没有查找到,默认是返回None,也可以自定义返回错误标识-1。在这里插入图片描述
删除key,通过调用pop()函数
在这里插入图片描述
和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。
    ##set
    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    要创建一个set,需要提供一个list作为输入集合
    在这里插入图片描述
    add()
    remove()
    replace()
    #条件判断if
    在这里插入图片描述
    运行结果如下:
    在这里插入图片描述
    #循环语句
    ##第一种循环是:for…in 从list或者是tuple中依次迭代出每个元素
    执行如下的代码:
    在这里插入图片描述
    在这里插入图片描述
    for x in:就是把每个元素迭代出来带进x,然后执行缩进块的语句:
    通过for x in list,将list中的每个元素迭代出来执行sum=sum+x;最终得到1-10数字之和=55在这里插入图片描述
    range()函数生成一个整数序列,例如:我们需要计算1-100之间的数字之和,通过list调用range()函数,将1-100的整数序列转换成为一个list,然后执行相关缩进块的语句即可:
    注意:这里range(101)会生成一个1-100之间的整数序列在这里插入图片描述
    ##第二种循环是while循环
    while:只要满足条件就不断地循环,直到不满足的时候退出循环。
    功能实现:求99-1之间的所有奇数之和,直到-1的时候不满足条件,打印出100以内的奇数之和2500在这里插入图片描述
    ##break语句:提前退出循环
    本来是打印出100以内的所有数据,其中当n>10的时候就退出循环在这里插入图片描述
    ##continue结束本轮循环,直接进入下一轮循环
    打印出10以内的所有奇数 在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值