首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python入门看这一篇就够了-你知道海象运算符:=吗?

Python入门看这一篇就够了-你知道海象运算符:=吗?

作者头像
唔仄lo咚锵
发布于 2021-09-14 11:25:15
发布于 2021-09-14 11:25:15
3.2K0
举报

Python环境搭建-从安装到Hello World

Python

解释器


解释器的行为就像是一个计算器,可以说输入一个表达式,它会返回结果。

出现主提示符>>>,则表示解释器已经启动了。

  • IDEL中启动解释器
  • PyCharm中启动解释器 点击底部Python Console

缩进


缩进是Python语言和其他语言非常不一样的地方,Python用缩进(4个空格)来表示程序块,而不是用大括号或者begin、end。

比如以下C语言:

代码语言:javascript
复制
int fib(int a)
{
	if(a==1||a==2)
	{
		return 1;
	}
	else
	{
		return fib(a-1)+fib(a-2);
	}
}

转换为Python为:

代码语言:javascript
复制
def fib(a):
    if a == 1 or a == 2:
        return 1
    else:
        return fib(a - 1) + fib(a - 2)

再比如以下两个函数运行结果截然不同:

代码语言:javascript
复制
def print1(a):
    if a == 1:
        print('ok')
        print('a is 1')


def print2(a):
    if a == 1:
        print('ok')
    print('a is 1')


print1(0)
print('-----------')
print2(0)

海象运算符


海象运算符:=是Python3.8后提供的,:=可以将一个值赋给一个变量,即使该变量不存在也可以。

举例:

代码语言:javascript
复制
a = '记得一键三连'
if (n := len(a)) < 10:
    print(n)

把a的长度赋值给新变量n,若a长度小于10,输出n

若不用:=则会报错

f字符串调试


f调试也是Python3.8后的新特性,就像数学中的函数 f ( x ) f(x) f(x)一样,可以计算出表达式的值。

举例:

代码语言:javascript
复制
x=5
print(f'{x + 3}')
print(f'{x + 3 = }')

类型

简单类型


  • 布尔bool 取值为True或False,逻辑运算(与或非、判断等)的结果。
  • 整数int 比较不同的是幂可以用**表示,比如2**3表示 2 3 2^3 23 0o可以八进制转十进制 0x可以十六进制转十进制 其余没什么好讲的
  • 浮点float 带圆点符号的数值都被认为是浮点数。
  • 复数complex 即数学概念里的复数,由实数和虚数组成
  • 空None 类似于C/C++中的null,表示空。

列表类型


列表list是顺序存储数据的容器,类似C的数组,C++的vector。

定义:使用[]符号定义,中间元素用逗号隔开。

访问:下标从0开始,此外还增加了负下标(如下标1表示第二个元素,下标-2表示倒数第二个元素)。

也能通过切片操作划分子list,一个表示开始位置(默认0),一个表示结束位置(默认-1),中间用冒号隔开。特别注意的是结束位置不包括它本身,是区间[)前闭后开。

运算:

方法:

太多不一一演示了,根据这些方法,list可以模拟堆栈和队列。

方法

描述

append()

在末尾添加对象

count()

统计列表元素个数

extend()

将一个序列对象转换为列表并添加到末尾

index()

返回查找值得第一个下标

insert()

插入对象到指定下标后

pop()

弹出下标元素(默认最后一个)

remove()

删除指定值,存在多个时删第一个

reverse()

顺序倒置

sort()

排序(默认从小到大)

推导式List Comprehension:

使用过滤和映射生成特定要求的列表,语法[<expr1> for k in L if <expr2> ],for k in L是对L列表的循环,if expr2使用expr2对循环的元素k进行过滤,expr1是返回的表达式。

元组类型


元组tuple通过一对括号()表示,元组的常量是list,也可以通过help(tuple)查看tuple的自省信息。基本操作和list类似,支持下标和切片操作以及比较运算和加乘运算,但是不支持+=、*=操作和list的方法。

字符串类型


字符串可以看成特殊的元组,用单引号或双引号表示。

转义符用反斜杠\表示,此外反斜杠也可用于拆分为很多行。

大小写转换:

偷懒不演示了

方法

描述

capitalize()

首字母大写

lower()

全部转小写

upper()

全部转大写

swapcase()

大小写互换

title()

单词首字母大写,其余小写

字符串搜索:

方法

描述

find()

查找并返回第一个字母下标,找不到返回-1(从左向右)

index()

查找并返回第一个字母下标,找不到报错(从左向右)

rfind()

同find,从右向左

rindex()

同index,从右向左

字符串替换:

方法

描述

replace()

替换

strip()

去掉头尾指定字符

rstrip()

从右边开始

lstrip()

从左边开始

expandtabs()

用空格替换tab键

字符串判断:

方法

描述

startwith()

判断是否以…为开头

endwith()

判断是否以…为结尾

isalnum()

判断是否由字母和数字组成

isdight()

判断是否全是数字

isalpha()

判断是否全是字母

isspace()

判断是否全是空格

iflower()

判断是否全是小写

siupper()

判断是否全是大写

istitle()

判断是否首字母大写

(插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

字典类型


字典是Python中关联的容器类型,使用大括号{}创建,字典中的元素都是一对,每对包括key和value两部分,key值不能重复。

字典的创建:

  • 直接创建,语法{key1:value1,key2:value2,…}
  • dict()创建空字典
  • 通过映射类型的组生成dist
  • 通过序列容器生成队列
  • 通过输入方法参数

字典的操作:

  • 通过key访问value
  • 各比较运算符
  • 清空
  • 删除
  • 序列访问 items()返回一个列表,iteritems()、iterkeys()、itervalues()返回迭代器对象,keys()返回以key为元素的列表。

集合类型


集合是无序并唯一地存放容器元素的类型,可分为可变集合和不可变集合两种。

集合的创建:

set()方法创建可变集合,frozenset()创建不可变集合。

集合的方法

方法

描述

union()或|

并

intersection()或&

交

difference()或-

差

symmetric_difference()或^

补

issubset()或<=

判断子集

流程控制

选择结构:

if...elif...else

elif就是else if的缩写

代码语言:javascript
复制
if x == 0:
    print('x is 0')
elif x < 0:
    print('x is less than 0')
else:
    print('x is more than 0')

for循环结构:

for...in...

代码语言:javascript
复制
a = [1, 2, 3, 4]
for x in a:
    print(x)

while循环结构:

while 表达式

代码语言:javascript
复制
i = 0
while i < 6:
    i += 1
    print(i)

continue和break:

  • continue不执行后续语句,但会继续执行剩余循环
  • break也不执行后续语句,同时结束循环

函数

函数的定义


语法:

def <function_name> ( <parameters_list> ):

<code block>

  • def关键字用来声明定义函数
  • function_name是函数的名字
  • parameters_list是函数输入的参数
  • code block是函数的模块代码

函数的参数


  • 固定参数
  • 参数默认值 当没有指定参数值时,会使用默认值调用。
  • 不定参数*arg arg实际上是一个元组
  • 参数/ /符号前的参数必须使用默认参数输入方式,不能再带关键字。 /符号后面的参数依然可以使用关键字输入形式。

函数的调用和返回


  • 可以直接使用函数名调用
  • 函数名本身也可做参数传递
  • 函数名可传参被另一个函数调用
  • 使用return返回值,未使用return时返回None

lambda函数


lambda可以理解为单行的匿名函数,可含参

lambda 参数1,参数2,...:表达式

嵌套函数


在函数内部定义函数(套娃 )

内层函数可以访问外层函数,但是没有提供由内而外的绑定措施。

函数作用域


遵循LGB原则,L即local name space,G即global name space,B即buildin name space。

意思是对于一个变量名称,先查找局部命名空间,再查找全局命名空间,最后查找内部命名空间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/02/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 文章目录
  • Python
    • 解释器
    • 缩进
    • 海象运算符
    • f字符串调试
  • 类型
    • 简单类型
    • 列表类型
    • 元组类型
    • 字符串类型
    • 字典类型
    • 集合类型
  • 流程控制
  • 函数
    • 函数的定义
    • 函数的参数
    • 函数的调用和返回
    • lambda函数
    • 嵌套函数
    • 函数作用域
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档