python 基本语法——语法基础决定上层建筑

前言

今天来讲一些老生常谈,但凡学习一门语言都逃不过基本的语法,我们也来叨逼叨逼。不过不想事无巨细地讲,因为没有意义,估计讲完了大家都忘记了,我们挑钟爱你,其他的可以自学。

变量

变量,学习一门语言第一件事可能是打印hello world,打印完后就可以学习变量。变量,怎么解释呢?简单来看就是一个用来指代对象的量。python里面的变量很好定义,比如你要定义变量a等于1

a = 1

对比Java、C啊什么的,大家有没有发现少了什么东西?对,就是少了变量声明。python是一门动态语言,什么叫动态?就是可以根据赋给变量的值,来自动确定变量类型,极大的简化了敲代码的过程。

基本数据结构

基本数据结构,python基本的数据结构有,list(列表)、dict(词典)、cell(元组)、set(集合)。简单的讲一下,列表简单理解就是,几个对象组成的序列,你把菜单的菜名按顺序存储起来就是一个列表了

menu = ["小龙虾", "小炒牛肉", "烧公鸡", ..]

是不是有点饿了,挨个点一遍呗。python列表里存的对象可以很自由,不要求每个元素的类型都是一样的,比如

list1 = [1, 2, "A", "B", [2, 4]]

自由虽好,当时还是不要乱用,否则该是有你怀疑人生的时候。数组支持增删改,功能很强大,通常在python里实现【队列】、【堆】的时候会用列表。比如

a = []  # 初始化空数组
a.append(1)  # 往数组a中加入元素1
a.pop()  # 把a中最后一个元素弹出

词典是key到value的一个映射,类似于C中的hashmap,比如我们可以把一个班级的学生的成绩存在一个词典里

report_card = {'jacy': 99, 'xiaoming': 55, 'liming': 20, 'hanmeimei': 100 ...}

词典是用大括号{}的,不同于列表的方括号[]。词典的优势是可以通过key快速找到value的值,比如你是liming的家长,想知道liming的成绩,你只要

print(report_card['liming'])

就可以快速查到成绩。其实你也可以把成绩单存到一个列表里面,但是这个时候你可能要挨个去找名字,最后才能找到liming的成绩,耗时自然长。

元组,你可以看成是一个组合,和数组没有多大区别,但是元组不支持修改操作,也就是你定义好了就不能修改其中内容了。还是拿成绩单距离,我们可以把姓名,成绩组成一个元组

('liming', 20)

如果我们要知道成绩排名前三的学生怎么实现呢?把成绩存到列表,列表的元素是元组

 report_card2 = [('jacy', 99), ('xiaoming', 55), ('liming', 20), ('hanmeimei', 100) ,...]

然后调用排序函数

report_card2 = sorted(report_card2, key=lambda x: x[1], reverse=True)
print(report_card2[:3])

这里有个数组的切片操作,就是你想知道数组前n个元素,用list[:n],注意点是数组的缩影是从0开始,list[:n],实际是取0, …, n-1对应的元素。

最后就是集合了set,集合是一个没有顺序的量/没有重复值的对象组合,不能用索引,我的感觉就是一个整体,通常个人是用来做去重复使用,比如

a = [1, 1, 2, 2, 3, 3]
a = list(set(a))  # 去重复

数组支持计算交集、并集、差集的运算。所谓交集,举个例子,我和王美女唯一的交集就是我们选了同一门课程,如果把我们的选的课存到两个集合中S1, S2, 那么

 s1 & s2  # 计算交集 应该输出英语

在自然语言处理中,有一种编辑距离的计算方式会用到集合,考虑两个文本有多少个字符一样。

条件&循环

然后再聊聊条件语句和循环语句,写程序可以理解为是在交代计算机去干活,计算机会按顺序去读取程序,一行一行地执行。但是有时候会遇到一些情况,一些语句我们希望在特定情况下才执行,比如当你收到100个赞的时候,打印你真棒,这时就需要用到条件语句:

if praise_num == 100:
  print("you are really good!")

如果多中情况,可以写多个if语句+else … 然后是循环语句,为什么要用到循环语句呢?比如你和妹子表白,你只说一句“我爱你”,妹子可能觉得不够。于是你大叫“我爱你”99次,妹子被感动得一塌糊涂,这就是循环的力量:

for  _ in range(99):
  print("I love you very much! NvShen!")

当然你也可以用while语句

count=0
while(True):
  print("I love you very much! NvShen!")
  count += 1
  if count == 99:
    break

用while语句总免不了多定义一个变量,我不喜欢!而且如果条件写错变成无限循环,就不美丽了。就好比,你不停地大叫妹子,“我爱你”,妹子肯定以为你失心疯了,得治!

有变量以及基本数据结构,再补上条件语句和循环语句,python基本知识就妥妥地够,你可以自信地和世界说我会python了。

参考

follow me

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘记开挂的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值