Day2:循环 dict,set类型,初级函数用法

导言

今天学了一阵子python,时间没有预先想象的那么多,感觉自己学习的效率应该提升!不然也不会到现在这个时间才写学习笔记。自勉。今天主要学习的内容如标题所示:循环 dict,set类型,初级函数用法

1.循环

假设有list l=[1,2,3]

首先是for循环,Python似乎不需要考虑计数和循环边界的问题,for语句已经天然地限制在List对象中了。

for elem in l :

 do sth...

 if 条件判断句:

   break/continue #用法与其他语言类似

接着是while循环,while循环不必拘泥于某一对象,方便性下降,但自由性大大提高了~

while 条件(满足即进行循环)

 do sth...

2.dict 与 set

dict即是所谓的字典,在其他语言里也有叫做map的。构造字典的时候没有特殊声明,但它用的是 大括号!

d={'key1':1,'key2':2,'key3':3}

如需调用key1对应的value,直接用d['key1']即可(python里几种括号真是用得乱套)

向字典里加入条目非常容易,直接用 d['想用的key']=想用的value 就可以了。删除条目用d.pop('想删除的条目的key')。

查找字典中是否有对应key,可以用in,语法是: print 你想要查找的key in d,如果不用print,光有后面的 你想要查找的key in d 是不会让你看到明确的True or False的。

我的发现是:使用for循环输出d,输出的其实是d中的key,想要输出value还是要老老实实用d['key']。

d中元素存放的顺序与声明时的顺序无关,例如我声明如下:

dic={'a':1,'c':3,4:'m','b':2},使用for循环输出key与value,结果是:

a
1
c
3
b
2
4
m

我们可以看到4:m 和 'b':2的顺序与声明时相反,说明声明顺序与存放顺序无关。

 

set是和dict类似的结构,但是只有Key,正因为只有Key,所以set中的所有元素都是自动去重的,绝对不会重复,而且会自动排序

set的声明也很有特点,乱用括号,它会特意声明一下“我是set”

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

p=set('abc')#这个的结果就是p里面是三个字母'a','b','c'

o=set(['abc')]#o中只有一个'abc'

增加可以用a.add(想加的东西),删除可以用s.remove(不想要的东西)

可以求交集并集之类的:s&p(交) s|p(并)

3.初级函数用法

终于明白之前看代码时那些个def是什么了,它是声明“我要define一个函数了”

Python中可以不设置函数参数的数据类型,可以在函数体里写数据类型的限制。有时候还要在函数里对参数进行一些处理,例如:

#coding=utf-8
import math
def quadratic(x,y,z):
 a=float(x)
 b=float(y)
 c=float(z)
 delta=b*b-4*a*c
 
 if delta > 0:
  return (-b+math.sqrt(delta))/(2*a),(-b-math.sqrt(delta))/(2*a)
 elif delta==0:
  return (-b/(2*a))
 else:
  return('no roots')

参数x,y,z进入函数体时均被转化为float型,方便之后的计算,也避免计算出错。

 

在定义函数的时候也记得要加上冒号!

每一个函数都应该有一个返回值,所以应当确保return

如果你把函数写到一个py里,那么在命令行窗口中应当输入 from py文件的名字(不用带.py) import 函数的名字(不用带括号)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值