python基础篇(2)

本文详细讲解了Python的基础语法,包括if-else和elif语句的使用,展示了如何通过条件分支进行逻辑判断。同时,文章还介绍了while循环的原理,强调了初始化、检查和更新哨兵变量的重要性,以及如何避免无限循环。接着,文章探讨了for循环的使用,特别是通过range()函数进行计数的方法,并讲解了如何对字符串和元组进行操作,如len()函数、索引、切片以及元组的不可变性。最后,提到了列表和字典作为后续章节的内容。
摘要由CSDN通过智能技术生成

\续接上文
2.2使用if语句(条件分支)
2.2.1比较运算符
比较运算符
2.2.2构建自己的if语句
if语句的写法是:先写if,然后是一个条件,然后是一个冒号,然后再是一个语句块。如果条件为True,则语句块中的代码就会被执行。如果条件为False,则程序会前进到if语句后面的语句。
2.2.3使用else子句
有时希望程序根据一个条件“做出选择”:当条件为真时做一件事情,当条件为假时做另一件事情。if语句的else子句就能实现这个功能
else子句的用是:紧挨着if语句的代码块的下面,写上else,然后是一个冒号,再然后是语句块。else子句必须跟他对应的if位于同一个代码块中。也就是说,else跟它所对应的if必须具有相同的缩进量。
2.2.4使用elif子句
通过带有elif子句的if语句,程序就可以做更多的选择了。当变量需要跟一大堆不同的值进行比较时,这个子句就会发光发热了。
本文不予详解
2.3创建while循环
在while循环中,计算机会不断的测试条件并执行代码块,直到条件为假时为止。
2.3.1初始化哨兵变量
注意,一定要对哨兵变量进行初始化。哨兵变量一般都是在循环即将开始的地方初始化的。
最好是将哨兵变量初始化为某个类型的空值,为其可以赋“”(空字符串)
2.3.2检查哨兵变量
务必要保证while条件能在某个时候为真,否则代码块就不会执行。
2.3.3更新哨兵变量
根据程序的循环情况实时的更新哨兵变量,可以避免出现无限循环。
2.3.4创建可以变成false的条件
除了要保证while循环条件中的值发生改变,还得确保条件最终能变成false才行,否则,那就还时一个无限循环。
2.4将值用作条件
if money:
注意,这里money没有跟其他任意值进行比较。money本身就是条件。在把数字当作条件进行计算时,0就是false,其他的则是true。所以上面的那行代码相当于:
if money !=0:
将值转换成true或false的规则很简单,其基本原则为:任何空值或零值为false,其他的则为true。因此,0会被转换为false,而其他数字则会被转换为true。从这里可以看出,绝大部分的值都会被转换为true,只有空值和零值才会被转换为false。
2.5故意创建无限循环
2.5.1通过break语句退出循环
break语句打破循环,退出循环体,程序向下执行。
2.5.2通过continue语句跳回循环的开头
continue语句的意思是“跳回当前循环的开头”。在循环的开始处,while条件会被测试,如果为true的话,就再次进入循环。
2.6使用复合条件
2.6.1逻辑运算符not
在while循环中,用到了not这个逻辑运算符。它的作用跟英文单词“not”基本差不多。在英语中,把not放到某个东西前面就会得到一个新的表述,表示的是跟原意相反的意思。在python中,把not放到某个条件之前就会得到一个新的条件,其计算结果跟原条件相反。
2.6.2理解逻辑运算符and
and意思是逻辑运算符与的意思,即二者或二者以上的条件同时为真时为真,有一个为假时为假。
2.6.3逻辑运算符or
or即为或的意思,即所有条件中,只要有一个条件为真时就为真,全假则为假。

3 for 循环、字符串以及元组
3.1 使用for循环
前面介绍了while循环,它会根据一个条件反复执行代码。只要那个条件为真,代码就会反复执行。for循环也会反复执行代码,但不是根据一个条件,而是根据一个序列(sequence,一组有顺序的东西)。
for循环会按顺序为序列中的每个元素(element)执行一次循环体。当到达序列的末尾时,循环就结束了。
3.2 创建for循环
首先是for,然后是一个用于存放各个元素的变量,然后是in,然后是待遍历的序列,然后是一个冒号,最后则是循环体。
3.3 通过for循环进行计数
结合for循环,可以用Python的range()函数对各种情况进行技术。
3.3.1 前向计数
for i in range(10):
\\\\print(i,end=’’)
这个for循环所遍历的序列是由range()函数的返回值产生的。可以想象成:range()函数返回了一组数字。如果给range()提供一个正整数,就可以认为它会返回一个从0开始直到(但不包括)给定数字的序列。因此可以认为range()返回的序列是【0,1,2,3,4,5,6,7,8,9】
3.3.2 按5为单位进行计数
for i in range(0,50,5):
如果给range()提供三个值,它就会将这三个值分别当作起始点、结束点、计数单位。起始点是第一个值,而结束点则是不包含在内的。
3.3.3 后向计数
for i in range(10,0,-1):
range()调用的最后一个参数为-1.这就告诉该函数从起始点开始,通过每次加上-1的方式向结束点前进。其实也可以当成是‘减一’的意思。
3.4 对字符串使用序列运算符和函数
3.4.1 使用len()函数
print(’\nthe length of your message is:’,len(message))
可以将任何序列传给len()函数,然后它就会返回该序列的长度。序列的长度就是它所包含元素的数量。
3.4.2 使用in 运算符
if ‘e’ in message():
print(“is in your message”)
else:
print(“is in your message”)
if 语句的条件是“e”in message。如果message中含有字符“e”,则该条件为真,执行代码块,如果不存在则执行else子句。
3.5 对字符串进行索引
索引:随机地直接从序列中获取任意位置的元素,这样的方法就叫做索引。
通过索引,可以指定序列中的位置编号(也就是索引号,index),就可以得到那个位置上的元素了。
3.51 使用正的位置编号
word=“index”
print(word[0])

i

print(word[1])

n

所以使用正的位置编号,对于一个字符串或者序列,第一个字符为0,第二个为1,一次类推。
3.5.2 使用负的位置编号
word=“index”
print(word[-1])

x

负的位置编号,即从最后一个字符开始编号,为-1,倒数第二个为-2,依次类推。
3.6随机访问字符串元素
(1)import random
(2)high=len(word)
low=-len(word)
(3) position=random.randrange(high,low)
将变量word中的字符串按正编号和负编号对字符串进行索引,在high和low之间的数字都是字符串的有效索引值。
3.7 理解字符串的不变性
序列分为两种:可变的和不可变的。
可变意思是可修改的。不可变指的是不可修改的。
字符串就是不可变序列,所以它们是不能被修改的。
3.7.1 构建新字符串
使用“+”号运算符连接两个字符串。有时可能需要逐个字符地构建新字符串。由于字符串是不可变的,所以真正在做的是:每用一次连接用算符,就创建出一个新的字符串。
3.8 创建常量
传统的变量名是小写的,全大写的变量名有一个特殊的含义:它们叫做常量,指的是那些不打算被修改的值(它们的值是固定不变的)。
常量对程序员的意义主要体现在两个方面。第一:它们使程序更加清晰明了。第二:常量能够节约重复输入的次数(以及降低输错的可能性)
只要程序中有多个地方需要用到相同且不变的值,就应该考虑使用常量。
3.9 对字符串进行切片操作
3.9.1 理解None
None使python中用来表示“无”的方式,None很适合用作值的占位符。在条件中,它还能被计算为False。
3.9.2 创建切片
切片速记法:word[:] 只有一个冒号,表示切取整个序列;
word[2:]表示从第二个位置,切取之后的整个序列;
word[:8]表示从起始位置,一直切取到第8个位置;
word[2:8]表示从第二个位置一直切取到第八个位置
3.10 创建元组
元组跟字符串一样,也是一种序列。但跟字符串不同(它只可以含有字符),元组可以含有任意类型的元素。这也就意味着可以用元组来存放一堆游戏得分记录或雇员名单啥的。元组中的元素不需要是相同类型的,完全可以创建出同时包含字符串和数字的元组。除了字符串跟数字之外,还可以创建含有图片、声音文件,甚至是外星人的元组。只要是可以赋值给变量的东西,就可以做成一个序列存到元组中。
3.10.1 创建空元组
要创建一个元组,只需将一组以逗号隔开的值用圆括号包起来即可。就算只有一对圆括号也是有效的元组,那其实就是空元组,目的是表示这个元组(变量)一无所有。
3.10.2 把元组当作条件
在python中的任何值都可以当作条件来处理,也就是说,元组也可True。
3.10.3创建带有元素的元组
元组中的各个元素是以逗号隔开的。
inventory=(“sword”,“armor”,“shield”)
这样,每个字符串就成了该元组的一个元素。
3.10.4 打印元组
虽然元组中含有许多元素,但仍然可以像单个值那样打印整个元组。
3.10.5 遍历元组中的元素
使用for循环遍历元组中的元素并挨个将它们打印出来。
一个元组里边可以含有字符串、整数以及浮点数。
3.10.6 使用元组
由于元组是一种序列,因此之前通过字符串学到的那些有关序列的知识对元组也是适用的;可以获取元组的长度,通过循环打印出欸一个元素,利用in运算符测试某个元素是否存在于元组中。此外,还可以对元组进行索引、切片以及连接等操作。
3.10.7 理解元组的不变性
跟字符串一样,元组也是不可变的,这也就意味着,用户不能对元组进行任何改动。

4 列表和字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值