2021-03-01 Python学习笔记

目录

Python基础语法

数据类型

变量与常量

字符串和编码

Python的字符串

格式化

使用list[ ]和tuple( )

条件判断

循环(for...in    /   while)

dict和set


Python基础语法

当语句以冒号:结尾是,缩进的语句视为代码块   使用4个空格进行缩进

python是大小写敏感的

数据类型

在python中,能够直接处理的数据类型有:

  • 整数

            python的整数没有大小(长度)限制,浮点数也无,超出一定范围就直接表示为inf(无限大)

  • 浮点数       

            表示时把10用e替代     1.23*10^9就是1.23e9     0.000012写成1.2e-5

            整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法也是精确的)而浮点数运算则可能会有四舍五入的误差

            除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数

            地板除(//):两个整数的除法永远是整数,其结果只取整数部分      

  • 字符串

            字符串用" "或' '来表示,若字符串中有引号,岔开使用

            如果字符串内两个都包括,可使用转义字符

            eg:    转义符改变原本用法,直接看做引号

            \n 换行   \t 制表符   \\表示的字符就是\ (字符\本身转义)      r' '表示' '内部的字符串默认不转义

  • 布尔值      Ture/False    布尔值也可用and与、or或、not非运算
  • 空值      None为1个特殊的空值,不能理解为0,0是有意义的

    python还提供了列表、字典等多种数据类型,也允许创建自定义数据类型

变量与常量

变量不仅可以是数字,还可以是任意数据类型

同一个变量可以反复赋值,而且可以是不同类型的变量

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言

静态语言在定义变量时必须指定变量类型,如果赋值时类型不匹配就会报错,例如Java时静态语言        错误:int a=123; a=“ABC”

理解变量在计算机内存中的表示也非常重要:

当写下a=“ABC”时,python解释器干了两件事:

  1. 在内存中创建了一个‘ABC’的字符串
  2. 在内存中创建了一个名为a的变量,并把它指向‘ABC’

当把a赋值给b时,实际上是把变量b指向变量a所指向的数据

常量:不能变的变量,通常用全部大写的变量名表示常量        可以强行改变但最好不要

字符串和编码

字符串也是一种数据类型,但字符串比较特殊的是还有一个编码问题

  1. ascll       最早只有127个字母被编到计算机里(美)              GB2312(中文)              1个字节
  2. Unicode       把所有语言都统一到一套编码里,避免乱码问题                                          2个字节
  3. UTF-8       可变长编码       英文字母1字节 汉子3字节    节省空间

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

Python的字符串

python3中,字符串是以Unicode编码的,字符串支持多种语言

ord()函数获取字符串的整数表示

chr()函数把编码转换为对应字符

len()计算str的字符数,如果换成bytes,len()计算字节数

格式化

在Python中,采用的格式化方式和C语言是一致的,用%实现

在字符串内部,%s表示用字符串替换,%d表示用整数替换

若字符串里面的%就是一个普通字符,这时就需要转义,用%%来表示一个%

使用list[ ]和tuple( )

list(列表)[ ]是python内置的一种数据类型,list里面的元素的数据类型可以不同,一个list1也可以是另一个list2的元素,注意不管list1长度多少,在list2中只占一个位置

用len()获取list中元素的个数,空list的长度为0

用索引[ ]来访问list中每一个位置的元素,索引从0开始

用[len()-1]或[-1]来获取最后一个元素的位置

list是一个可变的有序表,可以随时添加和删除其中的元素

使用append往list中追加元素到末尾

使用insert把元素插入到指定位置,插入几写几

使用pop(i)删除list指定位置的元素,其中i是索引位置,括号中无变量时,即pop()为删除list末尾元素

tuple(元组)( )是另一种有序列表,tuple一旦初始化就不能更改

它没有append()、insert()这样的方法,它的索引[ ]可以用来获取元素,但不能赋值成另外的元素

那么不可变有什么意义?tuple因为不可变,代码更安全

tuple的陷阱!!!:当你定义一个tuple时,它的元素必须被确定下来

如果定义一个只有1个元素的tuple,后面加一个逗号来消除歧义。

t=(1)代表1这个数字,因为括号既可以表示tuple,又可以表示数学公式中的小括号,因此产生了歧义,python规定,这种情况下按小括号进行计算。

一个“可变的”tuple例子

tuple定义后并不可变,但若tuple元组中有list元素,其中的list元素可变

相当于改变了tuple,但tuple中的list并没有改变,只是改变了list中的元素【】

tuple不变:tuple中的每个元素指向永远不变

条件判断

if语句执行特点,从上往下判断,上面是true则不会继续往下执行

if x:
    print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

input()读取用户的输入 进行条件判断时可能会出现问题

input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换为整数,使用int()函数。

如果int()函数发现一个字符串不是合法的数字时就会报错,程序退出

循环(for...in    /   while)

for...in:依次把list和tuple中的每个元素迭代出来

for x in...循环就是把每个元素代入变量x,然后执行缩进块的语句

Number=[12,34,67]
for num in Number:
    print(num)

比如计算1-100的整数之和,使用range()函数可以生产一个整数系列(range(5)代表0-4)

也可以通过list()函数转换为list

  • range(start, stop[,step])
    
  • start:计数从start开始,默认是从0开始。
    stop:计数到stop结束,但是不包括stop。
    step:步长,默认为1。

while循环

只要条件满足,就不断循环,条件不满足退出循环

试着写一个死循环:

提问:如何用for...in写一个死循环

 

 

dict和set

Python内置字典:dict(dictionary),其他语言中称为map

使用键-值(key-value)存储,具有极快的查找速度

Eg:假设要根据学生的名字查找对应的成绩

1、用list实现(需要两个list)

给定一个学生名字,要现在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长

2、用dict实现

设置一个“名字”-“成绩”对照表,直接根据名字查成绩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值