一,什么是后端?
作为一个零基础的小白,要完成一项后端任务首先要大致了解什么是后端。通过查阅一些资料后我有了大致的理解,如下图(不太全面,也不一定完全正确,但是目前我是这样认为的)
简单来说,前端是我们在页面上看到的内容,当我们点击页面上的一些选项时,前端就会问后端,让后端提供数据,而前端与后端则是通过HTTP的请求来连接,实现问答,这个过程还需要API。而后端则要从数据库中把需要的数据拿出来。
二,学习一门语言 :Python
大致了解之后就可以一步步开始学习了。我选择的语言是Python,暑假时稍微学了一点C语言,在这个基础上学习Python感觉挺熟悉的,但是不同的地方也挺多的,一开始学感觉挺不习惯,随着学得越来越多,渐渐感受到了这两者的不同魅力。接下来是我的学习笔记(只记录一些个人觉得要记的部分):
1.关于输出与输入
输出:
#简单输出
print('100+200',100+200)
sum=10
print(sum)
#多个换行
print('''line1
line2
line3''')
#转义符号的标识作用,\n为换行
print('I\'m\"OK\"!\nAnd you?')
#第一种格式化
print('Hello %s!' % 'world')
print('Hi,%s,you have $%d!'%('Jerry',10000))
#第二种格式化 注意format前面有一个点
print('Hello{0}的成绩提升了{1:.1f}%'.format('你的',17.25))
#第三种格式化 f-string
r=2.5
s=3.14*r**2
print(f'The area of a circle with radius {r} is {s:.2f}')
运行如下:
100+200 300
line1
line2
line3
I'm"OK"!
And you?
Hello world!
Hi,Jerry,you have $10000!
Hello你的的成绩提升了17.2%
The area of a circle with radius 2.5 is 19.62
输入:
s=input('birth: ')#此时,input()返回类型为str,str不能直接与int比较
birth=int(s)#所以要先转换类型
if birth<2000:
print('00前')
else:
print("00后")
2.list与tuple
(1)定义:
list: name=['A','B']
tuple: name=('a','b')
(2) list:
元素类型可不同,可包含其他的list,所包含的这个list算为一个元素
tuple:
一旦初始化就不能修改,除非里面包含list;单个数字元素的tuple: t=(1,)
3.条件语句
age=20
if age>=6:
print("teenager")
elif age>=18:
print("adult")
else:
print("kid")
输出结果为teenager
注意顺序:从上往下判断,如果是True,则剩下情况都不再判断,直接跳过
4.模式匹配
注:match语句还可以匹配list
age=15
match age:
case x if x<10:#当age<10成立时匹配,且将age赋值给x
print(f'<10 years old:{x}')
case 10:
print('10 years old.')
case 11|12|13|14|15|16|17|18:
print('11~18 years old.')
case _:#case后面要有空格才对,_表示匹配到其他任何情况
print('not sure')
5.循环语句
(1)for 语句
#1~10求和
sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:#注意不要漏了:
sum=sum+x
print(sum)
#1~101求和
sum=0
for x in range(1,101):#注意是101,而且不要少了:
sum=sum+x
print(sum)
(2)while,break,continute语句
break语句:提前结束,退出循环
continute语句:跳过当前循环,直接开始下一次循环
n=1
while n<=100:
if n>10:
break
print(n)
n=n+1
print('END')
#输出:1 2 3 4 5 6 7 8 9 10 END
#只打印奇数
n=0
while n<10:
n=n+1
if n%2==0:
continue
print(n)
6.dict与set
(1)特点:dict:
1.速度快,但浪费的内存多(即用空间换取时间),而list慢,浪费内存少
2.dict中的key的对象不可变,故不能用list作key,会报错;一个key只对应一个value,故多次对一个key放入value后面的值会把前面的值冲掉
3.把数据放入dict
d={'A':95,'B':90,'C':68}#用的是花括号
print(d['A'])#用的是方括号
#输出的是95
set:
1. 可看成数学意义上的无序和无重复元素的集合(重复元素会被自动过滤),故可做数学意义上的交集,并集,如下代码
2. set有key但无value,且不可放入可变对象,如list.
s1=set([1,2,3])#注意写法
s2=set([2,3,4])
print(s1 & s2)#输出{2,3}
print(s1 | s2)#输出{1,2,3,4}
7.函数
(1)调用函数:
可以把函数名赋给一个变量,即给函数起一个别名,通过别名调用函数
(2)定义函数:
可定义空函数作为占位符,让代码能运行
格式:def 函数名(参数): 用return 返回
#调用函数
a=abs
print(a(-1))
#输出 1
age=19
def nop():
pass
if age>=18:
pass
print(age)
#输出19
#定义空函数
注:下面的代码看似说明函数能返回多个值,实质是输出一个tuple,只是可以省略(),而多个变量可以同时接收一个tuple,按位置赋给对应的值
import math
def move(x,y,step,angle=0):
nx=x+step*math.cos(angle)
ny=y-step*math.sin(angle)
return nx,ny
x,y=move(100,100,60,math.pi/6)
print(x,y)
#输出为: 151.96152422706632 70.0