Python 学习笔记 - 第一天

1.数字部分

运算符 +, -, *, /, %, (), 与其他编程语言一致

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5
1.6

需要说的一点, / 运算结果是一个浮点数.
如果需要除法运算结果为整数(舍弃小数部分), 则需要使用 // 运算符(吐槽: 不得不说一下这个符号真的会让我误以为是注释..)

>>> 17 / 3
5.666666666666667
>>>
>>> 17 // 3
5
>>> 17 % 3
2
>>> 5 * 3 + 2
17

使用 ** 运算符可以计算幂乘方

>>> 5 ** 2
25
>>> 2 ** 7
128

赋值符号依旧是 = .

>>> width = 20
>>> height = 5*9
>>> width * height
900

最近的一个运算结果给赋值给一个变量 _ , 这个变量是只读的.

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

复数使用后缀 j 或者 J 表示虚数部分(例如,3+5j)

2.字符串

字符串可以使用双引号 "..." 或者 '...' 来表示
转义字符依旧是反斜杠 \

>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t'
"doesn't"
>>> "doesn't"
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'

字符串打印, 使用 print() 函数

>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
>>> print('"Isn\'t," she said.')
"Isn't," she said.
>>> s = 'First line.\nSecond line.'
>>> s
'First line.\nSecond line.'
>>> print(s)
First line.
Second line.

当打印的字符串中有转义字符 \ 而你又需要在打印结果中显示这个字符的时候, 可以在第一个引号之前加一个 r 字符, 表示使用原始字符串

>>> print('C:\some\name')
C:\some
ame
>>> print(r'C:\some\name')
C:\some\name

多行打印使用三引号 """...""" 或者 '''...''', 多行换行时, 行尾的换行符会被包含到字符串中, 可以在行尾加上 \ ,表示下一行是当前行的后续内容, 不进行换行.

print("""\
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
""")

字符串拼接, 可以使用 + . 使用 * 表示字符串重复.

>>> 3 * 'un' + 'ium'
'unununium'

还可以使用空格来拼接一个相邻的字符串, 但是这个空格左右不能是字符串变量, 只能是字符串文本.

>>> 'Py' 'thon'
'Python'

切分长字符串.

>>> text = ('Put several strings within parentheses '
            'to have them joined together.')
>>> text
'Put several strings within parentheses to have them joined together.'

字符串索引, 类似 C, 可以用数组索引的方式获取字符串中的字符, 索引值为负数时表示从右往左计算. 越界报错

>>> word = 'Python'
>>> word[0]
'P'
>>> word[5]
'n'
>>> word[-1]
'n'
>>> word[-2]
'o'
>>> word[-6]
'P'

使用切片获取一个子字符串, 截取结果包左不包右. 越界将被字符串长度代替.

>>> word[0:2]
'Py'
>>> word[2:5]
'tho'
>>> word[:2] + word[2:]
'Python'
>>> word[:4] + word[4:]
'Python'
>>> word[:2]
'Py'
>>> word[4:]
'on'
>>> word[-2:]
'on'
>>> word[4:42]
'on'
>>> word[42:]
''

不可对索引获得的字符或者子字符串赋值, 赋值时将报错.

>>> word[0] = 'J'
  ...
TypeError: 'str' object does not support item assignment
>>> word[2:] = 'py'
  ...
TypeError: 'str' object does not support item assignment

切片时的索引是在两个字符之间

 +--+--+--+--+--+--+
 | P | y | t | h | o | n |
 +--+--+--+--+--+--+
 0    1    2   3    4    5   6
-6  -5  -4 -3  -2   -1

3. 列表 list

与字符串一样, 列表同样可以进行索引和切片.

>>> squares = [1, 4, 9, 16, 25]
>>> squares
[1, 4, 9, 16, 25]
>>> squares[0]
1
>>> squares[-1]
25
>>> squares[-3:]
[9, 16, 25]

切片获取的子列表是一个新的浅拷贝副本.

>>> squares[:]
[1, 4, 9, 16, 25]

两个列表拼接可以使用 + 符号拼接.

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

与字符串索引或切片不一样, 列表索引或切片的结果是可以进行赋值操作的.

>>> cubes = [1, 8, 27, 65, 125]
>>> 4 ** 3
64
>>> cubes[3] = 64
>>> cubes
[1, 8, 27, 64, 125]

使用 append() 函数可以在列表末尾添加一个新的元素.

>>> cubes.append(216)
>>> cubes.append(7 ** 3)
>>> cubes
[1, 8, 27, 64, 125, 216, 343]

对切片赋值可以改变列表尺寸, 或清空列表.

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> letters[:] = []
>>> letters
[]

用 len() 函数可以获取列表的尺寸.

>>> letters = ['a', 'b', 'c', 'd']
>>> len(letters)
4

嵌套列表 (类似多维数组了)

>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

4. 菲波那契子序列的程序:

>>> a, b = 0, 1
>>> while b < 1000:
...    print(b, end=',')
...    a, b = b, a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,>>>

使用 print() 函数时, 用一个符号替换结尾 end 参数可以取消掉默认的换行输出.
与 C 类似, 任何非零整数都是 true, 0 为 false, 条件也可以是任何序列, 如字符串和列表等等, 当长度为 0 时为 false, 长度不为 0 则为 true.
标准比较操作符 < , > , == , <=, >= 和 !=

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,135评论 0 13
  • 这是一个系列文章,用于记录我学习python的笔记。 基础语法 编码 默认情况下,Python 3 源码文件以ut...
    Jaesoon阅读 374评论 0 1
  • 正午的阳光刺眼,手拿着户口准迁证的大胜心里正七上八下的排在报到新生队伍中,前面有还有六七个人,蜗行的速度让大胜越发...
    黑白无阅读 144评论 5 6
  • 2012年孩子满月就在卧室用了空气净化器,2013年新房装修安装了新风系统,2014年冬天启用新风系统很多人还不明...
    四月晴天的日志阅读 178评论 0 0