Python|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]
-hDisplay this usage message
-H hostnameHostname 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
【Python|Python 学习笔记 - 第一天】切片时的索引是在两个字符之间
+--+--+--+--+--+--+
| P | y | t | h | o | n |
+--+--+--+--+--+--+
0123456
-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.
标准比较操作符
< , > , == , <=, >= 和 !=
。推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 逻辑回归的理解与python示例
- 一起来学习C语言的字符串转换函数
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- 定制一套英文学习方案