首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python基础-下

阅读本文大概需要:8分钟

一、Python交互界面

在Python刚安装完的时候,有提供了一个Shell交互工具,在开始菜单里面可以找到。

打开后的界面是这样的。

这个界面可以在菜单栏中直接打开,也可以打开系统的命令提示符(开始 - 所有程序 - 附件 - 命令提示符)中输入python进入该界面。

在这个界面里,可以直接输入代码执行,比如

我们可以看到,它可以直接进行计算,也可以把数值赋值给a和b,再用a和b进行计算。而在进行比较的时候很明显a是小于b的,所有a>b的情况下会返回一个False,b>a则会返回一个True,这个就是布尔类型了。

在进行条件判断时候,当一个条件返回True的时候,就算执行该条件下的代码,当返回False的时候,就会跳过该代码。比如:

因为a=100,b=200,a>b是不成立的,根据之前讲的条件判断逻辑,所以跳过了第一个print,执行了第二个print。

在接下去的学习中,大部分内容都可以直接在这个交互界面中练习。

二、List和Tuple

1、list

List这是python内置的数据类型——列表。它是一种有序的集合。举个例子,列出几大球类名称,并赋值给balls。它的格式是这样子的

list

balls= ['足球','篮球','羽毛球','排球']

这里的变量balls就是一个集合,它包含了足球、篮球、羽毛球、排球这几个元素。在交互界面输入balls就会打印出它的元素来,如图:

我们也可以直接根据参数的位置来打印参数(计算机中,是从零开始计数的,所以第一个位置都是0,第二个位置是1)如图:

也可以倒数着来

在Python中list是可变的有序集合,可以通过Python内置的函数做如下一些操作

在list后面添加元素(使用append函数);

删除指定位置的元素(使用pop函数);

替换指定位置的元素(直接指定list某个位置的元素进行替换);

添加元素到指定位置(insert函数)。

可参照下图:

list很灵活,它的元素可以是多种类型(整型、字符串、布尔类型等等)的,甚至是另一个list。例如:

灵活的list

L=['b',123,True,['小明','小花']]

2、tuple

tuple也是有序的集合,基本和list相似,不同的是tuple是不可变的,一开始给定什么元素就是什么元素,无法像list那样进行操作。list是用[]括起来的,而tuple是用()括起来的。如

tuple

#tuple是用()的

balls=('足球','篮球')

#注:如果要定义只有一个元素的tuple,需要使用number2的写法。因为(1)在Python中就是1的意思,所有这里的number不是一个tuple,而是一个整数变量。

number=(1)

number2=(1,)

#有一种定义可变的Tuple的方法,就是把Tuple的元素定义为list。这样只是list这个元素不能变,list自己的元素是可以变的。如:

t=('a','b',['c','d'])

t[2][]='f'#前面说过,元素位置是从0开始的,所以这里的list位置是2,list中第一个元素位置是0

t[2][1]='g'

三、dict和set

1、dict

dict是dictionary的简称,字典的意思。是Python内置的,如果你了解过其他语言的话,它在其他语言中被称为map。是以(key-value)的形式保存数据的 ,查询的速度很快。

代码示例

#考试结束后,公布成绩,通过同学的名字查找对应的成绩,如果用list的话就需要两个list

names = ['小明', '小花', '大伟']

scores = [95, 75, 85]

#用dict的话是这样的,注意大括号

result = {'小明': 95, '小花': 75, '大伟': 85}

#查询小明成绩

result['小明']

在dict中,一个key只对应一个value,也就是说小明对应的就是95分。如果把95改为85,那么小明对应的就是 85分。这这和现实情况是一样的。

新增一个key-value的话也很简单

插入一个元素

#这样就会存入一个key是小虎,value是110的元素了。

result['小虎']=110

如果key不存在的话,是查不到的。在程序中直接查询一个不存在的key会导致程序出错。在python中有两种方法来判断一个key是否存在于一个dict中。

判断dict中是否存在某个key

#有英语基础的话应该很好理解这个代码的含义,如果小明有在result中的话,程序会返回一个True,否则返回一个False

'小明'inresult

# 用get的话,如果没有设置一个返回参数,那么key不存在时,就会返回None,如果设置了返回参数,如-1,则会不存在时会返回-1.

result.get('小明')

result.get('小明',-1)

删除一个dict中的元素和list有点类似

删除

#删除成功的话,会返回小明对应的value

result.pop('小明')

dict不是有序的,它存放元素的顺序和放入元素的顺序无关。

跟list比起来它插入速度和查询速度很快,不会随着元素的增加而变慢,而list会随着元素的增加而越来越慢。再一个就是dict相对会比较占用资源。

可以理解为,dict是用空间换取了时间。虽然占用更多内存资源,但是速度更快,节省了时间。

2、set

set和dict相似,区别在于它只有key,没有value。所以,它的key是不能有重复的。(在dict中输入同一个key,其实也是覆盖原有key的value),创建一个set,需要提供一个list为输入集合,如

一个set

s=set([1,22,333])

虽然传入的是一个list的元素,但是实际上它的长度是三个元素。如果传入的list有重复的元素,它会自动过滤掉重复的元素。

添加元素的话是用add函数,它支持添加重复元素,不过不起效果。

添加

#添加4到s里

s.add(4)

删除元素是用remove函数。

删除

s.remove(4)

set的元素也是无序的且没有重复。如果有两个set,我们也可以对它做交集、并集的操作进行元素过滤。如

元素过滤

s1=set([1,2,3,4])

s2=set([3,4,5,6])

#&和数学中的交集含义相似

s1&s2

# | 和数学中并集含义相似

s1|s2

至于执行结果什么样,在交互界面打印一下就知道了。

四、循环

1、for和while

在上面中,我们知道,如果直接输入balls会打印出balls中所有的元素。那么,如果我们想一个一个打印出来呢?那就得用到循环了。循环有两种写法:

循环语句

#用for来写循环

balls=['a','b','c','d']

forballinballs:

print(ball)

#用while来写循环,计算1+2+3+4;n++是指n=n+1

n=

sum=

whilen

sum=sum+n

n++

print(sum)

2、break和continue

在循环中添加break的话,是指直接结束循环;而添加continue的话是指跳过本次循环进入下一次循环。

continue用法

n=

whilen

n=n+1

ifn%2==:# 如果n是偶数,执行continue语句

continue# continue语句会直接继续下一轮循环,后续的print()语句不会执行

print(n)

break用法

n=1

whilen

ifn>10:# 当n = 11时,条件满足,执行break语句

break# break语句会结束当前循环

print(n)

n=n+1

print('END')

长按下面按钮,关注本公众号,一起交流学习吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180628A1Q0M800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券