python做web前端_web前端学习python之第一章_基础语法(一)

web前端学习python之第一章_基础语法(一)

前言:最近新做了一个管理系统,前端已经基本完成,

但是后端人手不足没人给我写接口,自力更生丰衣足食,

所以决定自学python自己给自己写接口哈哈哈哈~

1459163-20190221101055671-1266821158.jpg

先从hello world开始

输出语法:print()

新建一个文件

hello.py

//填写内容print("hello , world")

运行该文件

这一点与Node很相似,Node运行文件的时候是node xx.js

python运行是python xx.py

如果没有这个文件你就运行的话会报错

//报错意思是该文件不存在

python: can't open file'hello.py': [Errno 2] No such file or directory

输入和输出

刚刚已经提到了输出print()

print()在括号中加上字符串,就可以向屏幕上输出指定的文字

//比如hello,worldprint("hello,world")

print()也可以接受多个字符串,需要用逗号“,”进行隔开,然后一串输出

print("薛小白","是","最可爱的","小前端")

//会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的结果是:

//薛小白 是 最可爱的 小前端

print()也可以打印整数或者计算结果

//打印整数print(300)//300

//计算结果print(100 + 200)//300

//小小一组合print('100 + 200 =', 100 + 200)//100 + 200 = 300

//前半部分当成字符串解析,后半部分计算结果

那如果我们想让用户输入一些东西怎么办

c语言的输入是 scanf(),可以规定输入的是整数%d还是字符串等

像前端可能用的比较多的就是input框获取用户输入的内容

python的输入是input()

name =input()print('hello,', name)//此时的name是一个变量,//第一句话是让你输出一个内容(此处最好的一个名字,比如:薛小白)//第二句话是进行一个输出,同时输出你刚刚填写的内容//输入完你想输入的内容后,记得按回车键

这样就可以输入输出了,但是用户体验是有点差的,用户怎么知道什么时候输东西已经输入什么东西呢,我们需要给他们一点提示!

name = input('please enter your name:')print('hello,', name)

这样再运行这个程序的时候,你会发现先打印出 please enter your name:

数据类型和变量

整数、浮点数、字符串

字符串用单引号‘’或者双引号“”包起来,

如果字符串内部包含‘’或者“”需要使用转义字符\

//一句话的正常写法如下

I'm ok!

//因为出现了’所以需要转义字符'I\'m ok!'

转义字符可以转译很多字符,\n表示换行,\\表示字符\,\t表示制表符(就是tab)

python允许使用r‘’表示‘’内部的字符串默认不转义

print('\\\t\\')//输出结果:\ \print(r'\\\t\\')//输出结果:\\\t\\

python允许'''内容'''来表示多行内容

print('''line1

line2

line3''')

line1

line2

line3

python里有一个特殊的值,空值None,不可理解为0

除法

//一种除法/结果是浮点数,无论是否整除结果都是浮点数10 / 3

3.3333333333333335

9 / 3

3.0

//还有一种除法是//,称为地板除,两个整数的除法仍然是整数10 // 3

3

//取余%

10 % 3

1

字符串和编码

对于单个字符的编码,python提供了ord()获取字符的整数表示,chr()把编码转换为对应的字符

ord('A')65ord('中')20013chr(66)'B'chr(25991)'文'

//如果知道字符的整数编码,还可以用十六禁止这么写str'\u4e2d\u6587'

'中文'

在python中采用的格式化的方式和c语言是一样的,用%实现格式化

Hello, %s'%'world'

'Hello, world'

'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'

%d整数、%f浮点数、%s字符串、%x十六进制整数

'Age: %s. Gender: %s' % (25, True)'Age: 25. Gender: True'

//有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:'growth rate: %d %%' % 7

'growth rate: 7 %'

另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)'Hello, 小明, 成绩提升了 17.1%'

使用list和tuple

python内置的一种数据类型是列表list,list是一种有序的集合,可以随时添加和删除其中的元素。其实就是js的数组

classmates = ['Michael', 'Bob', 'Tracy']

classmates

['Michael', 'Bob', 'Tracy']

classmates[0]'Michael'classmates[1]'Bob'classmates[2]'Tracy'

前端获取一个数组的长度是arr.length, python使用len()函数获取数组个数,最后一个元素的索引是 len(classmates) - 1

如果要获取最后一个元素,除了使用索引外,还可以使用-1作为索引,直接获取到最后一个元素

classmates[-1]'Tracy'

以此类推,可以获取倒数第二个、倒数第三个

classmates[-2]'Bob'classmates[-3]'Michael'

给数组添加元素append()

classmates.append('Adam')

classmates

['Michael', 'Bob', 'Tracy', 'Adam']

把元素插入到指定位置insert()索引值为i

classmates.insert(i, 'Jack')

classmates

['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

删除指定位置的元素pop(),索引值为i

classmates.pop(1)'Jack'classmates

['Michael', 'Bob', 'Tracy']

把某个元素替换直接赋值即可

classmates[1] = 'Sarah'classmates

['Michael', 'Sarah', 'Tracy']

数组里的数据类型可以不一样,比如[ 'apple' , 1 , true ]

数组里可以包着数组

s = ['python', 'java', ['asp', 'php'], 'scheme']

len(s)4

tuple称为有序元素,与list类似,但是一旦初始化无法修改,没有append()、insert()这样的方法,可以使用索引获取元素但不可以赋值成另外的元素

那么他不可改变存在的意义是什么呢?

因为他不可变,所以代码更安全,能用tuple代替list就尽量使用tuple

当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

t = (1, 2)

t

(1, 2)

如果要定义一个空的tuple,可以写成()

t =()

t

()

如果要定义一个只有一个元素的tuple,如果你写成 t = (1) 代表定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

t = (1,)

t

(1,)

//python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

最后看一个“可变”的tuple

t = ('a', 'b', ['A', 'B'])

t[2][0] = 'X't[2][1] = 'Y't

('a', 'b', ['X', 'Y'])

//对于tuple而言是没有改变的,改变的是list

条件判断

//记住写法就可以了,不像前端有(){}//记住加:

age = 3

if age >= 18:

print('adult')

elif age >= 6:

print('teenager')

else:

print('kid')

结合input

birth = input('birth:')if birth < 2000:print('00前')else:print('00后')//此时会报错,因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数

s= input('birth:')

birth= int(s)//转换成整数if birth < 2000:print('00前')else:print('00后')

循环

两种循环,一种是for in,依次把list或tuple中的每个元素迭代出来

names = ['Michael', 'Bob', 'Tracy']for name innames:print(name)

//执行这段代码,会依次打印names的每一个元素

MichaelBobTracy

计算整数之和

sum =0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum= sum +xprint(sum)

如果要计算1-100怎么办呢,python提供一个range()函数,可以生成一个整数序列,再通过list()转换为list

//range(5)生成的序列是从0开始小于5的整数

list(range(5))

[0,1, 2, 3, 4]

第二种循环是while循环,条件满足不断循环条件不满足退出循环

//计算100以内的奇数的和

sum=0

n= 99

while n >0:

sum= sum +n

n= n - 2

print(sum)

break和continue跟js一样,此处不讲

使用dict和set

dict其实就是对象

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

d['Michael']

如果key不存在,会报错,避免key不存在的错误,通过in判断key是否存在

'Thomas' ind

False

也可以通过get()判断key是否存在

d.get('Thomas')

d.get('Thomas', -1)-1

//可以返回none或者自己指定的value,返回none时python的交互环境不显示结果

dict占用大量内存,内存浪费多,查找和插入速度快,list占用内存小,查找和插入速度随着元素增加而增加,所以dict是用空间换取时间的一种方法。

dict的key必须是不可变对象

set与dict类似,是key的集合,但不存储value,由于key不能重复,所以set中没有重复的key,类似于js的Set()函数

s = set([1, 1, 2, 2, 3, 3])

s

{1, 2, 3}

set添加元素add(),可以重复添加,但不会有效果:

>>> s.add(4)>>>s

{1, 2, 3, 4}>>> s.add(4)>>>s

{1, 2, 3, 4}

set删除元素remove()

>>> s.remove(4)>>>s

{1, 2, 3}

set可以看作数学意义上的无序和无重复元素的集合,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 &s2

{2, 3}>>> s1 |s2

{1, 2, 3, 4}

不可变对象

str是不可变对象,list是可变对象

//可变对象>>> a = ['c', 'b', 'a']>>>a.sort()>>>a

['a', 'b', 'c']//不可变对象>>> a = 'abc'

>>> a.replace('a', 'A')'Abc'

>>>a'abc'

>>> a = 'abc'

>>> b = a.replace('a', 'A')

>>> b

'Abc'

>>> a

'abc'

未完。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值