Python基础语法

基础语法

代码越少,开发效率越高
标识符
第一个字母:字母或下划线
由字母数字下划线组成
大小写敏感
保留字:‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, 'yield、

变量
所有变量只有在被赋值后才被创建
变量本身没有类型,所谓类型是指在内存中的变量
允许多个变量赋值
a, b, c = 1, 2, “yrsnb”
a = b = c = 1

格式化方法
与c语言是一样的。
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串

eg:
print(“hello ,%s" %(‘world’))

类似于数组的list

eg
classmates=[‘yrs’,‘yd’,‘wly’,‘zx’]

print(classmates[0],classmates[-1],classmates[2],classmates[1])

-classmates.append(‘xxx’)
classmates.insert(1,‘xxxx’)
classmates.pop()//删掉结尾
classmates.pop(i)//删掉任意一个

list里面的元素的数据类型也可以不同,比如:

L = [‘Apple’, 123, True]

list元素也可以是另一个list,比如:

s = [‘python’, ‘java’, [‘asp’, ‘php’], ‘scheme’]
len(s)
4

要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:

p = [‘asp’, ‘php’]
s = [‘python’, ‘java’, p, ‘scheme’]
要拿到’php’可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。

tuple

因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
其语法与list很像,但是一旦创建就不能被更改
classmates = (‘Michael’, ‘Bob’, ‘Tracy’)
但是可以在tuple中放一个list这样可以改变list的值

if语句
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

lov = ‘u’
if lov>=‘a’:
print(lov)
print(‘i’)

循环语句
for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
while 跟之前学的基本一样

break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

for x in classmates:
print(x)

dic功能(字典功能)
给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。
不可放入可变对象
如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
例子
事先有:l[michael,bob,tracy]
score[95,75,85]
就定价于下面的dic

d = {‘Michael’: 95, ‘Bob’: 75, ‘Tracy’: 85} (键:值
d[‘Michael’]
95

当然字典还可以填充: d[‘Adam’] = 67(发现字典和list是混着用的)

set功能
要创建一个set,需要提供一个list作为输入集合:

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

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:

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

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

通过remove(key)方法可以删除元素:

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}

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

函数

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):
当你想调用一个在同文件下的另一个py里的函数时
def 函数名(参数):
。。。。。。。。
return*(函数可以同时返回多个值,但其实就是一个tuple。)*
可以用pass来表示do nothing或者一个空函数
对于参数,多参情况可以设置默认参数(默认参数必须指向不变对象)

递归实例
def fact(n):
if n==1:
return 1
return n * fact(n - 1)

简化代码
Python提供了切片(Slice)操作符,能大大简化这种操作。

对应上面的问题,取前3个元素,用一行代码就可以完成切片:

L[0:3]//0,1,2三个元素
[‘Michael’, ‘Sarah’, ‘Tracy’]

可以通过切片轻松取出某一段数列。比如前10个数:

L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

前11-20个数:

L[10:20]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

所以数每五个区一个

L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

使用内建的isinstance函数可以判断一个变量是不是字符串:

x = ‘abc’
y = 123
isinstance(x, str)
True

isinstance(y, str)
False

一些函数
generator(
map reduce
sorted
filter

flask听课内容

配置文件
新建一个py文件,可以把一些参数写进去,最后在原文件里import 配置文件
url传参到视图
@app.route("/article/")
def article(id):
return(“id is %s” % id)
<>尖括号里的是自己输入的参数
反样显示url
导入url_for
用视图函数来显示url的方法
页面跳转和重定向

from flask import url,redirect
redirect(url_for(‘login’))

参数传递and渲染模板
(1)在templates中新建html
(2)在函数中引用render_templates
(3)在视图函数中引用函数render_templates
当后端数据想要传输给前端时,可以采用在render.template()里加入参数
也可以定义在字典里
context
{
}
其中前端在接受到参数时要用两个花括号来{{name}}
如果是字典的话则是{{字典.所需}}

过滤器
有许多类似于管道符号的过滤器
比如
1,|default可以接上一个默认的失效后的数据
2,|length可以接上一个字典,元组等等的长度
so on

继承和block使用
block:
让子模板实现自己需求,父模板需要提前定义好
可以把一串相同的代码写在一个渲染里
具体则是:
{% extends ‘base.html’ %}

url连接
使用url_for(视图函数)可以反转成url

加载静态的文件
语法:url_for(‘static’,filename=‘路径’)
url_for(‘static,filename=’ ')
其中要link一下(css
或者要scrip一下(js
或者加载图片src一下(pic

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值