daily_record

总记

个人比较喜欢的以及句话,写在开头激励下自己并分享给大家。
Knowledge, like candlelight, can illuminate a person and countless people.
知识就像烛光,能够照亮一个人,也能够照亮许多人

这是我的第一篇code博客记录,之前写过一半,但是草稿箱没保存,从头再来!!
这篇文章记录的是各个类型的技术和使用方法,先写着再说(因为没想好总体的博客思路,所以先写个杂烩练练手)

新的改变

这次我想先写下来再去分类,减少给自己内心带来的心理压力,加油,一定要坚持下去。
本博客想记录在学习技术和考研路上遇到的各种问题,慢慢补充之前大学三年学习过的技术,先总结考研用到的数据结构,操作系统,组成原理和计算机网络,还有编译原理,数据库,linux,电路设计等一些列学习结果和心得体会。
另外还想写一个专栏就是自己的刷题记录和总结。

已经想好要写的目录

  1. python
  2. 数据结构
  3. linux
  4. 数据库

python

1.如何运行.ipynb文件

.ipynb文件第一次接触是在老秦(我们的扫地僧老师)课上,他用这个在线文稿给我们演示数据可视化的代码和案例。.ipynb文件是一种在线的文档,能直接集成在python内部,可以直接分模块运行和查看结果,非常好用。
使用方法:
先下载jupyter notebook,线上python大门的钥匙。
打开cmd(cmd可以用管理员命令打开),切换到一个目录下(选定的文件运行目录),我选择的是D:\2020.9.7anaconda\insatall\pkgs_ipyw_jlab_nb_ext_conf-0.1.0-py37_0\etc\jupyter\exp2,然后输入pip install jupyter notebook。如下图

使用管理员身份运行能获得相应的下载权限。>

我的之前安装过
然后输入这个命令jupyter notebook
在这里插入图片描述
会弹出一个窗口(也就是运行的主目录,可以在此目录下建立和导入文件(我的之前用过,也添加过文件所以文件)
在这里插入图片描述
可以建立一个.ipynb文件尝试一下
在这里插入图片描述
从上往下依次是 运行按钮,代码编辑框,代码运行结果。
下边是一些界面解释
(来自https://blog.csdn.net/appleyuchi/article/details/73478272)

在这里插入图片描述

2.python语法内容for i in range()语句

先解释:for i in range ()作用:

range()是一个函数, for i in range () 就是给i赋值:

比如 for i in range (1,3):

就是把1,2依次赋值给i

range () 函数的使用是这样的:

range(start, stop[, step]),分别是起始、终止和步长

range(3)即:从0到3,不包含3,即0,1,2

 for i in range(3):
    println(i)

0
1
2

range(1,3) 即:从1到3,不包含3,即1,2

for i in range(1,3):
    print(i)

1
2
range(1,3,2)即:从1到3,每次增加2,因为1+2=3,所以输出只有1。第三个数字2是代表步长。如果不设置,就是默认步长为1

for i in range(1,3,2):
    print(i)

1

如果改成range(1,5,2),就会输出1和3

for i in range(1,5,2):
 print(i)

1
3
**注意点1:**python 中经常使用for i in range(x)的方式进行循环,但是需要注意的是range范围在循环开始后就已经确定,在循环过程中修改x的值,并不会影响循环次数,如下:

x=5
y=0
for i in range(x):
    x=0
    y+=1
print(y)

结果为5,而不是1。虽然x在循环体中被重新赋值为0,但是并不影响i的取值范围。

注意点2 说一下 range()函数吧
先看一下函数语句定义

def range(__x: int, __y: int = …, __step: int = …) -> List[int]:

  • 可以理解成:range(start,end,step) or range(n).
  • step默认是1,也可以指定step.
  • [start,end]区间范围左闭右开,没有区间定义的话默认从0开始,n-1结束。

列表倒序(逆序)输出:

  1. 通过列表的反转函数进行倒序
for i in range(4):
    print i
->0,1,2,3

a = range(4) #-->range函数本身就是一个可迭代对象返回
for i in reversed(a):
    print i
->3,2,1,0
  1. 利用range本身的特性(左闭右开):
#假如你想倒序5的range
for i in range (5):
    print i
->0,1,2,3,4

#因为左闭右开特性,这里start要取n-1 也就是4for i in range(4,1,-1):
    print i
->4,3,2

for i in range(4,0,-1):
    print i
->4,3,2,1

#逆序
for i in range(4,-1,-1):
    print i
->4,3,2,1,0

3. 利用下标切片逆序

a = range(4) 
#或者a = [0,1,2,3]
for m in a[::-1]:
    print m
->3,2,1,0
**拓展:
逆向访问特定区间值:**

l= [1,3,5,6,7,8]
l[::-1][:3] #逆序后访问前三位 or
l[-3:][::-1]#先访问后三位后逆序

拓展:字符串反转的几种方法:
1.字符串切片

s = 'Hello,World'
result = s[::-1]

2.转列表使用reverse


l = list(s)
l.reverse()
result = "".join(l)

3.列表切片


l = list(s)
result = "".join(l[::-1])

4.for循环遍历


def func(s):
    result = ""
    max_index = len(s)-1
    for index,value in enumerate(s):
        result += s[max_index-index]
    return result
result = func(s)

5.模拟栈操作


def func(s):
    l = list(s) #模拟全部入栈
    result = ""
    while len(l)>0:
        result += l.pop() #模拟出栈
    return result
result = func(s)

6.使用递归函数

def func(s):
    if len(s) <1:
        return s
    return func(s[1:])+s[0]
result = func(s)

7.使用reduce函数

reduce(lambda x, y: x+y, s) #正序
reduce(lambda x, y: y+x, s) #逆序

注意点3:range()函数的返回值

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。

Python2 range() 函数返回的是列表。

 >>>list(range(5))

[0, 1, 2, 3, 4]

>>> list(range(0))

[]

有两个参数或三个参数的情况(第二种构造方法):

>>>list(range(0, 30, 5))

[0, 5, 10, 15, 20, 25]

>>> list(range(0, 10, 2))

[0, 2, 4, 6, 8]

>>> list(range(0, -10, -1))

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> list(range(1, 0))

[]

哎呀,感觉想随便写写自己最近遇到的问题,但是一写就停不下来,感觉写了好大的篇幅,下一篇继续跟上吧,我们下一篇文章见。

本文部分摘自下边链接,如有错误之处,希望大家多多指正。
https://www.jb51.net/article/175775.htm
https://blog.csdn.net/weixin_39644611/article/details/111457621
https://www.cnblogs.com/xiaoqiangink/p/12971336.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值