python学习笔记

1.多行注释

2.浮点数计算

import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)

3.复数表示

它们都是以浮点数的形式存放的,如果将一个复数赋值给一个变量 x,则可以通过 x.real 访问该复数的实部,x.imag 访问其虚部:

import decimal 
y = 1+2j
print(y.real)  #实部
print(y.imag)  #虚部

4.运算符

(5)双斜杠(//)表示一种特殊的除法 —— 地板除。地板除原理是取比目标结果小的最大整数

5.使用 bool() 函数可以直接给出 True 或者 False 的结果: 

结果是 True 的情况非常多,但 False 却是屈指可数,下面这些几乎就是结果为 False 的所有情况:
 

  • 定义为 False 的对象:None 和 False
  • 值为 0 的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
  • 空的序列和集合:'', (), [], {}, set(), range(0)



6.

逻辑运算符

Python 总共有三个逻辑运算符:and、or 和 not。
 

 7.运算符优先级

优先级

运算符

描述

1

lambda

Lambda 表达式

2

if - else

条件表达式

3

or

布尔“或”

4

and

布尔“与”

5

not x

布尔“非”

6

in, not in, is, is not, <, <=,>, >=, !=, ==

成员测试,同一性测试,比较

7

|

按位或

8

^

按位异或

9

&

按位与

10

<<, >>

移位

11

+, -

加法,减法

12

*, @, /, //, %

乘法,矩阵乘法,除法,地板除,取余数

13

+x,-x, ~x

正号,负号,按位非(翻转)

14

**

指数

15

await x

Await 表达式

16

x[index], x[index:index], x(arguments...), x.attribute

下标,切片,函数调用,属性引用

17

(expressions...), [expressions...], {key: value...}, {expressions...}

绑定或元组显示,列表显示,字典显示,集合显示

8.循环结构

while 条件:
    某条语句或某个代码块

死循环:

>>> while True:
...     print("作为一段没有灵魂的代码,我的任务就是不断地干活!")

 break 语句

在循环体内,一旦遇到 break 语句,Python 二话不说马上就会跳出循环体,即便这时候循环体内还有待执行的语句。

 continue 语句

实现跳出循环体还有另外一个语句,那就是 continue 语句。

continue 语句也会跳出循环体,但是,它只是跳出本一轮循环,它还会回到循环体的条件判断位置,然后继续下一轮循环(如果条件还满足的话)。

注意它和 break 语句两者的区别:
 

  • continue 语句是跳出本次循环,回到循环的开头
  • break 语句则是直接跳出循环体,继续执行后面的语句
  • while-else 可以非常容易地检测到循环的退出情况。

 while day <= 7:

...     answer = input("今天有好好学习吗?")

...     if answer != "有":

...         break

...     day += 1

... else:

...     print("非常棒,你已经坚持了7天连续学习!")对于嵌套循环来说,无论是 break 语句还是 continue 语句,它们只能作用于一层循环体。

 9.range()

range() 会帮你生成一个数字序列,它的用法有以下三种:
 

  • range(stop) - 将生成一个从 0 开始,到 stop(不包含)的整数数列
  • range(start, stop) - 将生成一个从 start 开始,到 stop(不包含)的整数数列
  • range(start, stop, step) - 将生成一个从 start 开始,到 stop(不包含)结束,步进跨度为 step 的整数数列

10. 列表

10.1创建列表

rhyme = [1, 2, 3, 4, 5, "上山打老虎"]

  1. for each in rhyme:  #访问列表每一个元素
  2. ...     print(each)
  3. rhyme[0]  #访问第一个元素
  4. >>> rhyme[0:3]
  5. [1, 2, 3]
  6. >>> rhyme[3:6]
  7. [4, 5, '上山打老虎']  #切片访问

10.2 列表中添加元素

向列表添加元素可以使用 append() 方法,它的功能是在列表的末尾添加一个指定的元素。extend() 方法则允许一次性添加多个元素,insert() 方法允许你在列表的任意位置添加数据。

>>> s = [1, 2, 3, 4, 5]
>>> # 下面的做法等同于 s.append(6)
>>> s[len(s):] = [6]
>>> s
[1, 2, 3, 4, 5, 6]
>>> # 下面的做法等同于 s.extend([7, 8, 9])
>>> s[len(s):] = [7, 8, 9]
>>> s
[1, 2, 3, 4, 5, 6, 7, 8, 9]

inser(a,b) 方法有两个参数,第一个参数指定的是插入的位置,第二个参数指定的是插入的元素:

>>> s = [1, 3, 4, 5]
>>> s.insert(1, 2)
>>> s
[1, 2, 3, 4, 5]

10.3 删(删除列表中的数据)

利用 remove() 方法,可以将列表中指定的元素删除:

>>> heros.remove("灭霸")
>>> heros
['钢铁侠', '绿巨人', '黑寡妇', '鹰眼', '灭霸', '雷神']

那么可以使用 pop() 方法,它的参数就是元素的下标索引值:
pop() 方法这个参数其实是可选的,如果你没有指定一个参数,那么它“弹”出来的就是最后一个元素:

>>> heros.pop(2)
'黑寡妇'
>>> heros
['钢铁侠', '绿巨人', '鹰眼', '灭霸', '雷神']

如果想要一步到位清空列表,可以使用 clear() 方法:

>>> heros.clear()
>>> heros
[]

10.4修改元素

(1)按照索引赋值

>>> heros = ['蜘蛛侠', '绿巨人', '黑寡妇', '鹰眼', '灭霸', '雷神']
>>> heros[4] = "钢铁侠"
>>> heros
['蜘蛛侠', '绿巨人', '黑寡妇', '鹰眼', '钢铁侠', '雷神']

>>> heros[3:] = ["武松", "林冲", "李逵"]
>>> heros
['蜘蛛侠', '绿巨人', '黑寡妇', '武松', '林冲', '李逵']

(2)排序与反转

 nums = [3, 1, 9, 6, 8, 3, 5, 3]

nums.sort()

 nums

1, 3, 3, 3, 5, 6, 8, 9]

>>> nums.reverse()

>>> nums

[9, 8, 6, 5, 3, 3, 3, 1]

 nums.sort(reverse=True)  # 从大到小排序

(3)查询

nums.count(3)  #  nums 这个列表里面到底有多少个 3,

heros.index("绿巨人") #绿巨人的索引值

 nums.index(3, 1, 7)    #(start,step,stop)

(4)拷贝列表

>>> nums_copy1 = nums.copy()
>>> nums_copy1
[3, 1, 9, 6, 8, 3, 5, 3]

>>> nums_copy2 = nums[:]
>>> nums_copy2
[3, 1, 9, 6, 8, 3, 5, 3]

(5)列表的运算符

列表的加法,其实也是拼接,所以要求加号(+)两边都应该是列表,举个例子:

  • >>> s = [1, 2, 3]
  • >>> t = [4, 5, 6]
  • >>> s + t
  • [1, 2, 3, 4, 5, 6]
  • 列表的乘法,则是重复列表内部的所有元素若干次:
  1. >>> s * 3
  2. [1, 2, 3, 1, 2, 3, 1, 2, 3]

(6)列表的嵌套

  1. >>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

复制代码


可以把创建二维列表的语句这么写:
 

  1. >>> matrix = [[1, 2, 3],
  2.               [4, 5, 6],
  3.               [7, 8, 9]]
  4. 访问matrix[1][1]=5

(7)列表推导式的基本语法如下:
 

[expression for target in iterable]

>>> matrix = [[1, 2, 3],
...           [4, 5, 6],
...           [7, 8, 9]]
>>> col2 = [row[1] for row in matrix]  # 提取列表第二列的数据
>>> col2
[2, 5, 8]

又比如,下面代码是获取矩阵主对角线上的元素(就是从左上角到右下角这条对角线上的元素):
 

>>> diag = [matrix[i][i] for i in range(len(matrix))]

>>> diag

[1, 5, 9]

利用列表推导式,就可以很轻松地创建一个二维列表:
 

  1. >>> S = [[0] * 3 for i in range(3)]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值