Python3基础

环境搭建

参考网站:菜鸟教程

编码

默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串。

标识符
  • 第一个字符必须是字母表中字母或下划线
  • 标识符的其他部分由字母、数组和下划线组成
  • 标识符对大小写敏感
    Python3中,可以用中文作为变量名,非ASCALL标识符也是允许的了
注释

Python中单行注释以#开头,多行注释可以用多个#,还可以成对的使用'''"""

行与缩进

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
类定义、函数定义、选择结构、循环结构、with块,行尾的冒号表示缩进的开始

多行语句

Python通常是一行写完一条语句,但是如果语句很长,我们可以使用反斜杠\来实现多行语句

total = item_one + \
		item_two + \
		item_three + \

[],{},()中的多行语句不需要使用反斜杠

total=['item_one','item_two','item_three',
		'item_four']
常见内置对象
数字类型

数字大小没有限制

  • int整型,如1
  • bool布尔型,如True
  • float浮点型,如1.23
  • complex复数,如1+2j
    隐式类型转换:整数->浮点数->复数
    下划线作为千位分隔符
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
字符串str
  • Python中单引号和双引号的使用完全相同
  • 使用三引号'''或"""可以指定一个多行字符串
  • 不同字符串之间可以相互嵌套
  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。例如
r"this is a line with \n" #\n会显示,而不是换行
  • 按字面意义级联字符串,例如"this""is""string"会被自动转化成"this is string"
  • 字符串可以用+连接在一起,用*元素符重复
  • 字符串由两种索引方式,从左往右以0开始,从右往左以-1开始
  • 字符串不能被改变
  • 没有单独的字符类型,一个字符就是长度为1的字符串
  • 中文和英文字母都作为一个字符对待
  • 支持使用加号运算符连接字符串
  • 字符串的截取的语法格式如下:变量[头下标:尾下标:步长] (需要注意的是字符串是从位置0开始的,截取的字符串是从头下标开始,每次增加步长,步长不说明默认为1,一直增加到大于等于尾下标为止)
>>> a='123456'
>>> print(a)
123456
>>> print(a[0:-1])
12345
>>> print(a[0:-1:1])
12345
>>> print(a[0:-1:2])
135
>>> print(a[0])
1
>>> print(a[2:5])
345
>>> print(a[2:])
3456
>>> print(a*2)
123456123456
>>> print(a+"789")
123456789
>>> print(a+'\n'+'789')
123456
789
>>> print(a+r'/n'+'789')
123456/n789
字节串bytes

以字母b为引导,可以使用单引号、双引号、三引号作为界定符。例如:

b'Hello world'

对于str类型的字符串调用encode()方法进行编码获得
对于bytes字节串调用其decode()方法并指定正确的编码格式得到str

列表list

所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型。

字典dict

所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为:”键:值“

元组tuple

不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略。

集合set frozenset

所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复。另外,set是可变的,而frozenset是不可变的

布尔型 bool

逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False

空类型 NoneType

空值None

异常 Exception ValueError TypeError

Python内置大量异常类,分别对应不同类型的异常

文件

open是Python内置函数,使用指定的模式打开文件,返回文件对象

其他可迭代对象

生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等。具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次

编程单元

函数(使用def定义) 类(使用class定义) 模块(类型为module)
类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象

保留字

Python3中保留字共33个:

and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield True False None
变量
  • 不需要事先声明变量名及其类型:Python是强类型编程语言,解释器会根据赋值或运算来自动推断变量类型。同时也是动态类型语言,变量的类型也是可以随时变化的。
    例如:
x=3
x="Hello World"
  • 基于值的内存管理方式:变量并不直接存储值,而是存储了值的内存地址或者引用,变量类型随时可以改变。
  • 虽然可以不用声明变量类型,但是必须要提前赋值以后才能够使用 。
运算符和表达式
  • Python中一切都是对象,对象由数据和行为两部分组成
  • 赋值:首先将等号右侧表达式的值计算出来,然后在内存中寻找一个位置将值放进去,最后创建变量指向这个内存。
  • *算数乘法,列表,元组,字符串类型与整数的乘法,表示序列元素的重复,生成新的序列对象
  • /运算符是数学意义上的除法,//是整除,并且向下取整。
  • %整数或实数的求余数运算,还可以表示字符串的格式化,例如:
'%c,%d,%o,%x' %(65,65,65,65) #把65分别格式化为字符,十进制,八进制,十六进制
# 'A,65,101,41'
  • **幂乘
3 ** 2 #3^2=9
(-9) ** 0.5 #可以计算负数的平方根,得到的是一个复数
  • 关系运算符不允许数字和字符串之间的比较
  • 成员测试运算符in:成员测试,即测试一个对象是否为另一个对象的元素
  • 统一性测试运算符is:测试两个对象是否是同一个。(其实是比较地址)
  • 逻辑运算符同样采用惰性求值:只计算必须要计算的值。即如果前面条件已经成立就不会运行后面的代码
  • 运算符andor返回最后一个被计算的表达式的值。如果表达式是非零整数则值为非零整数,如果是字符串的话仍然是字符串,如果是0的话仍然是0.只不过0被当作false处理
  • 运算符not一定返回True或者False,例如:
3 not in [1,2,3] #False
3 is not 5 #True
not 3 # False
not 0 # True
  • 矩阵乘法运算符@
    在这里插入图片描述- Python不支持++和-运算符,+和-放在数字前表示数字的正负
    在这里插入图片描述
内置函数

内置函数(BIF,built-in functions)是Python内置对象类型之一,不需要额外导入任何模块即可直接使用,这些内置对象都封装在内置模块__builtins__之中,用C语言实现并且进行了大量优化,具有非常快的运行速度,推荐优先使用。

使用内置函数dir()可以查看所有内置函数和内置对象

使用help(函数名)可以查看某个函数的用法。

基本输入输出函数
  • input()接收用户的键盘输入,返回字符串,括号中的内容会作为提示信息输出
  • print(val1,val2,...,sep=' ',end='\n',file=sys.stdout,flush=False)以指定的格式输出到标准控制台或者指定的文件对象,sep参数之前未需要输出的内容,可以有多个。sep参数用于指定数据之间的分隔符,默认为空格。file参数用于指定输出位置,默认为标准控制台,也可以重定向输出到文件。flush指明是否即时输出缓冲区内容
    在这里插入图片描述
类型转换和类型判断
  • bin() oct() hex() 将整数转换为二进制、八进制和十六进制
  • int()将其他形式的数字转换成整数,当参数为数字字符串时,还允许指定第二个参数Base来说明明数字字符串的进制
    在这里插入图片描述

在这里插入图片描述

  • float()将其他类型转换为实数
  • complex()生成复数

在这里插入图片描述

  • 字符编码:ord()返回Unicode码,chr()返回Unicode码对应的字符,只允许对字符使用。因为Python中不支持字符和数字之间的操作,所以必须用这样的方法
    在这里插入图片描述

  • str()将括号中的内容转换为字符串

在这里插入图片描述

  • type() 可以用来获取数据的类型。isinstance()可以用来判断数据是否是第二个参数的类型,例如:
isinstance(3,int) #True
  • max() min() sum()分别用于计算列表、元组和其他包含有限个元素的可列迭代对象中所有元素最大值、最小值以及所有元素的和。函数max()和min()还支持default参数和key参数,其中default参数表示对象为空时默认返回的最大值或者最小值。key参数用来指定比较大小的依据或者规则,可以是函数或者lambda表达式。函数sum()还支持start参数,用来指定求和的初始值。
    在这里插入图片描述

  • sorted()对列表、元组、字典、集合或其他可迭代对象排序并返回新对象

  • reversed()对可迭代对象进行翻转并返回。
    在这里插入图片描述

在这里插入图片描述

  • enumerate()枚举函数,枚举可迭代对象中的元素(包含索引和值的元组),返回可迭代的对象
    在这里插入图片描述

  • range()范围函数:语法格式为range([start,]end[,step]) start参数默认为0,step参数默认为1

  • zip()压缩函数:把多个可迭代对象的元素压缩在一起,返回一个可迭代的zip对象
    在这里插入图片描述

  • compile() 将一个字符换编译为字节代码
    在这里插入图片描述

  • eval()执行一个字符串表达式,并返回表达式id值。
    在这里插入图片描述

  • exec()执行字符串或者文件中的代码,无返回值

    在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值