《从Python开始学编程》第2章 先做键盘侠

1 基本算数运算和逻辑运算

算数运算包括加减乘除、乘方、求余数,使用方法和C语言等基本相似,唯一新方法是乘方,Python的乘方使用 ** 表示:

3**2    # *这个表示3的平方*

除此之外,字符串也有新的运算:

"hello" + "world !" # 运用加法可以连接字符串
"hello~" * 2        # 运用乘法可以连续输出字符串,这里指连续输出两次

逻辑运算就是基本的与、或、非三种。Python用and表示与;用or表示或;用not表示非,真用Ture表示,假用False表示(注意开头字母必须大写)。逻辑运算和输出结果符合逻辑学的基本运算准则。

True or False   # 结果为True
True and False  # 结果为False
not True        # 结果为False

比较运算包括大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(=)、不等于(!=)这几种,也符合逻辑运算准则。

7>8     # 结果为False
10<=10  # 结果为True
2==3    # 结果为False

2 变量的使用

一般我们都需要书写大规模应用程序,所以需要储存中间数据。程序语言采用变量的声明和定义来储存数据。Python采用动态调用,所以无需声明即可直接定义(赋值)。定义时可以采用算术运算对变量赋值,赋值时可以使用其他已定义的变量。我们可以使用print函数打印变量结果到控制台。

a2 = 3**2
b2 = 4**2
c2 = a2 + b2    # 典型勾股定理赋值
print(c2)       # 输出结果到控制台

Python变量有许多数据类型,和C类似,包括<u>整形、浮点型、字符串、布尔型</u>。Python会自动是被并存储定义的变量,无需声明类型,这减少了代码的复杂度。

a = 1                   # 整形
b = 2.1                 # 浮点型
c = "hello world !"      # 字符串
d = True                # 布尔
print(a, b, c, d)       # 连续输出

3 条件语句

条件语句也成为分支语句,在Python中使用if完成,主要让计算机在不同的情况下执行不同的程序。计算机通过判断if条件语句的逻辑运算结果来决定执行什么代码。此外,Python为了整洁易读,摒弃了C语言中每条语句的分号,条件判断的小括号,还有确定域生命周期的大括号,采用冒号和tab符来表示。下面举例:

if love==Ture:
    print("you fall in love !")

显然一个条件判断不够,我们还需要其他分支,Python中使用elif表示。还有一个“其他情况”的分支,用else表示。

if love==True:
    print("you fall in love !")
elif love==False:
    print("you are not in love with anyone !")
else :
    print("impossible !")

4 循环语句

Python采用for做循环语句,后跟定义的变量,之后跟inin后跟要循环的对象。这里介绍一下range(from, to, step)函数,他可以生成for循环的从fromto-1step为步长的数字序列。如果只写一个数字,则代表0到这个数字减1的一个序列。例如

range(0, 5, 2)  # 表示序列:0 2 4
range(4)        # 表示序列:0 1 2 3

所以我们根据for循环的语法,写一个简单的例子:

for i in range(0, 5, 2) :
    print(i)  # 表示遍历输出0 2 4 这个序列

range函数还可以作为“次数”的意义来循环,如:

for i in range(5)    # 可以做 5次循环
    print(" 第 ", i+1, " 次输出 ")

此外Python还有while循环,使用方法和C类似,首先需要先判断条件语句的逻辑结果,如果为True就执行,我们可以将上述循环次数用while循环代替:

i=1
while i<5 :
    print(" 第", i, "次输出 ")
    i = i+1

Python中断循环的方法和C类似,有两种。用break表示直接跳出当前for循环;用continue表示跳出当前for循环的一轮循环,直接开始下一轮循环。

5 其他结构数据类型

为了可以更方便的表示数据,Python提供了很多数据结构,包括列表、元组、集合、词典下面一一讲解。

列表是一个由许多数据组合而成的大杂烩,定义列表用逗号隔开,外面用中括号括起。逗号隔开的每一个叫做元素,只要在定义时利用逗号确定位置,如果不更改便不会自己改变,因此可以利用向量确定列表的位置 。每一个列表内还可以继续嵌套列表,比如在一个列表中存在一个字符串,则这个字符串可以看做一个列表,可以用二维向量表示他的位置。下面举例说明:

li = [1,2,2,3,True,"lalala",[4,5,6]]  # 定义列表,其中有嵌套(包括字符串和嵌套列表)
print(li[1])        # 输出列表的第二个元素2
print(li[5][0])     # 输出列表第六个元素字符串的第一个元素'l'
print(li[6])        # 输出列表第七个元素,也就是这个嵌套列表所有内容

此外Python还可以列表还可以利用冒号输出指定范围的元素,更加创新的采用类似MATLAB矩阵的方法,可以采用步长,负数代表反向步长。而位置也可以用负数,代表倒数位置减一的位置。下面举例:

li = [0,1,2,3,4,5,6] # 定义列表
print(li[-1])       # 输出倒数第一个元素6(如果中括号内有冒号,则将位置减一) 
print(li[:3])       # 输出下标0到2的元素0 1 2
print(li[4:])       # 输出下标为4到最后(6)的元素4 5 6
print(li[4:-1])     # 输出下标4到倒数第二个(5)的元素4 5
print(li[0:5:2])    # 以步长2输出下标0到4的元素0 2 4
print(li[0:5:-2])   # 以步长2逆序输出下标0到4元素4 2 0
print(li[::-1])     # 逆序输出所有元素6 5 4 3 2 1 0

元组同样可以表示元素的大杂烩,其还可以作为函数多值输出的一种解决方案。唯一和列表不同的是元组一旦定义完毕就不能修改。元组也可以和列表一样确定位置。元组定义采用小括号,元素之间用逗号隔开。下面举例:

tup = (1,2,3,4,"lalala",[7,8,9])    # 定义元组
print(tup[1])    # 输出下标1的元素2

集合同样可以表示元素的大杂烩,和列表不同的是它不能出现相同元素,且元素没有顺序,因此集合不能表示元素位置。集合定义采用大括号,元素用逗号隔开。下面举例:

set = {1,2,3,"lalala"}    # 集合的定义

注意,set是一个函数,本章会讲。在这里告诉我们,与函数重名依然可以拿来做变量使用,但注意变量名一定不能和关键字重名

词典是一个保存键值集合的数据结构,通过键,我们可以找到其对应的值。定义词典,在键值之间用冒号隔开,每个键值对用逗号隔开,最后用大括号括起。注意词典也是无序的,所以无法确定位置。下面举例对字典增删改查:

dic = {"tim":23,"alice":18} # 定义年龄字典
print(dic["alice"])         # 查看alice的年龄
dic["alice"] = 20           # 修改alice的年龄
dic["malisa"] = 23      # 增加malisa的年龄
del dic["malisa"]    # 删除malisa的年龄

这几个数据结构都可以利用函数相互转化,但是转化后会根据该数据结构特性有不可逆的变化,这有时会提供便利。比如我想去除字符串中重复的字符,可以把字符串转换成集合后再转换成列表即可。转换为列表用list,转换为元组用tuple,转换为集合用set。另外每个数据结构都有许多方便的函数可以使用,读者可以自行查阅并学习。

实例代码请看我的码云:第二章样例代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • 本章将讲述运算、变量、选择结构和循环结构。 1、计算机会算数 1)数值运算 加法+ 减法- 乘法* 除...
    Guodw阅读 169评论 0 1
  • 一、python的运算 1.数值运算 即加、减、乘、除、乘方、余数的运算 原则一:①加用+ ② 减用- ...
    大饼与我阅读 233评论 0 0
  • 2.1 计算机会算术 1.数值运算 打开Spyder,在临时窗口输入命令,就能马上运算 2.逻辑运算 Python...
    D系鼎溜阅读 303评论 0 0
  • 2.1 计算机会算术 2.1.1 数值运算 运算符:在需要进行运算的两个数值之间使用。加法:+减法 :-乘法:*除...
    SibyLtuI阅读 91评论 0 0
  • 2.1 计算机会算术 1.数值运算 加 + 减 - 乘 * 除 / 求余数 % 字符串也能进行运算:(加法)"Va...
    XavieR_ZzQ阅读 168评论 0 0