Python学习笔记基础篇(一)

random获取随机数
import random    导入random这个模块
random.randint(1, 10)    获取1到10的随机数。

x = random.getstate    这个函数来获取随机数种子加工之后随机数生成器的内部状态
random.setstate(x)

decimal                              decimal是十进制的意思
import decimal                   引用decimal模块
decimal.Decimal                使用decimal的Decimal来实例化一个对象

a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)
0.3                    不然a + b等于0.30000...0004

Python 中任何对象都能直接进行真值测试(测试该对象的布尔值为True或False),用if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。

 短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。

流程图是一种用表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。

函数:就是对一段代码进行封装。

for 变量 in 可迭代对象:

摄氏度转华氏度        f=c*1.8+32

for each in "FishC"    打印得F i s h C        迭代       range()与for出生入死的好兄弟,range()就是帮你生成一个数字序列。有下面三种用法,无论使用哪一种它的参数都只能是整型。

             range(stop)                     range(start,stop)            range(start,stop,step)    step为指定跨度
列:   for i in  range(11)            for i in range(5,10)            for i in range(5,10,2)
输出:0 1 2 3 4 5 6 7 8 9 10          5 6 7 8 9                 5 7 9

1加到100
sum = 0
for i in range(101):
    sum += i
print(sum)

找出10以内的所有素数
for n in range(2,10):
    for x in range(2,n):
        if n % x == 0:
            print(n, "=", x, "*", n // x)
            break
    else:
        print(n, "是一个素数")

列表

rhyme = [1, 2, 3, 4, 5, '你好']
for each in rhyme:
    print(each)

列表切片
rhyme[0:3]
[1, 2, 3]
rhyme[3:6]
[4, 5, '你好']
rhyme[:3]
[1, 2, 3]
rhyme[3:]
[4, 5, '你好']
rhyme[:]
[1, 2, 3, 4, 5, '你好']
rhyme[0:6:2]                        2代表跨度值
[1, 3, 5]
rhyme[::-1]
['你好', 5, 4, 3, 2, 1]                    倒序输出


heros = ["小明","小强"]
heros.append("小红")                append()只能每次添加一个
heros
['小明', '小强', '小红']

heros.extend(["小米","小艾","小白"])        extend()方法的参数必须是一个可迭代对象
heros                            新的内容是追加到原列表最后一个元素的后面
['小明', '小强', '小红', '小米', '小艾', '小白']

采用切片的方法
s = [1, 2, 3, 4, 5]
s[len(s):] = [7, 8, 9]                    此做法等同于s.extend([7,8,9])
s
[1, 2, 3, 4, 5, 7, 8, 9]

(1)insert插
s = [1, 3, 4, 5]
s.insert(1, 2)                        insert()插入,1代表插入的下标,2是插入的值
s
[1, 2, 3, 4, 5]

(2)remove删
heros.remove("小红")                remove()删除,1,如果列表中存在多个匹配的元素,那么它只会删除第一个
heros                                      2,如果指定的元素不存在,那么程序就会报错
['小明', '小强', '小米', '小艾', '小白']

(3)pop()删
heros.pop(2)                    pop()删除,2代表要删除的值的下标
'小米'
heros
['小明', '小强', '小艾', '小白']

(4)clear()清空
heros.clear()
heros
[]

(5)sort()排序(从小到大)
nums = [3, 1, 9, 6, 2, 3, 5]
nums.sort()
nums
[1, 2, 3, 3, 5, 6, 9]

(6)reverse()排序(从大到小)
nums.reverse()
nums
[9, 6, 5, 3, 3, 2, 1]

(7)count()查
nums
[9, 6, 5, 3, 3, 2, 1]
nums.count(3)                        count()查找3的个数
2

(8)index()查找要查的下标
heros
['小明', '小强', '小红', '小米', '小艾', '小白']
heros.index("小米")                    index(x,start,end)start指的是查找的开始,end指的是结束的位置
3

(9)copy()拷贝
nums1 = nums.copy()
nums1
[9, 6, 5, 3, 3, 2, 1]

采用切片的方法:
nums2 = nums[:]
nums2
[9, 6, 5, 3, 3, 2, 1]                        这两种都称为浅拷贝

嵌套列表
列表中有列表,称为嵌套列表。也被称为二维表。
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

访问嵌套列表
for i in matrix:
    for each in i:
        print(each, end=" ")
    print()

1 2 3 
4 5 6 
7 8 9 

is运算符
is运算符也成为同一性运算符,它是用于检验两个变量是否指向同一个对象的一个运算符

浅拷贝和深拷贝
浅拷贝见上,
深拷贝:
import copy                            首先引用copy模块
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matriy = copy.deepcopy(matrix)
matrix[1][1] = 0
matrix
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]
matriy
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

列表推导式
列:
(1):
oho = [1, 2, 3, 4, 5]
oho = [i * 2 for i in oho]
oho
[2, 4, 6, 8, 10]
(2):
code = [ord(c) for c in "FishC"]                ord()这个内置函数的作用就是将单个字符串转换为对应的编码
code
[70, 105, 115, 104, 67]
(3):
matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]
col2 = [row[1] for row in matrix]
col2
[2, 5, 8]
(4):
diag = [matrix[i][i] for i in range(len(matrix))]        
diag
[1, 5, 9]

even = [i for i in range(10) if i % 2 == 0]        for的执行顺序,(1)for i in range(10)
even                                                                                        (2)if i % 2 == 0
[0, 2, 4, 6, 8]                                                                            (3)i

降维,二维表降到一维表,如下:
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
flatten = [col for row in matrix for col in row]
flatten
[1, 2, 3, 4, 5, 6, 7, 8, 9]

列表推导式的嵌套

[[x, y] for x in range(10) if x % 2 ==0 for y in range(10) if y % 3 == 0]
[[0, 0], [0, 3], [0, 6], [0, 9], [2, 0], [2, 3], [2, 6], [2, 9], [4, 0], [4, 3], [4, 6], [4, 9], [6, 0], [6, 3], [6, 6], [6, 9], [8, 0], [8, 3], [8, 6], [8, 9]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值