概述
第二天,Python基础
一、列表List
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:
classmates = ['Michael', 'Bob', 'Tracy']
classmates.append('Adam')
classmates.insert(1, 'Jack')
classmates.pop(i)
s = ['python', 'java', ['asp', 'php'], 'scheme']#长度4
print(s[2][1])
classmates[-1] 可以直接获取最后一个元素。-即倒数
append可以末尾插入,insert则是指定位置插入
使用pop可以弹出并删除元素
并且list中元素也可以是另一个List,长度只为1,可以当做二维数组读取
二、元祖tuple
tuple一旦初始化就不能修改(指向)!如果tuple中包含List,则list中元素可以进行改变。
只有一个元素时要加,
classmates = ('Michael', 'Bob', 'Tracy')
classmates = (1,)
三、条件判断
age = input()
age = int(age)
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
注意!if和elif一定是包含关系,if正确则直接跳过elif和else
四、循环
sum = 0
for x in range(101):
sum = sum + x
print(sum)
for即遍历
wile用法同理
break可强行退出循环
continue可以跳过本次进入下一次循环(少用)
五、字典dict和set
dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
dict即在索引表里查这个字对应的页码,然后直接翻到该页,找到这个字。因此无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢。
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])
95
d['Adam'] = 67 #可以直接对键赋值
'Thomas' in d #判断d中是否有对应键
False
d.get('Thomas', -1) #也可判定,不存在则输出-1
pop('Bob') #删除键和值``
dict内部存放的顺序和key放入的顺序是没有关系的。
dict的两个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
这就是HASH算法,空间换时间,key绝对不能改变!
set则是直接从list中读取,可以过滤重复元素并排序,两个set可以进行& |等运算
s = set([3,3,2,2,1,1])
print(s)
[1,2,3]
s.add(4) #添加元素
s.remove(4)
注意,如果对str等不可变对象进行改变,会生成新str输出。
a = 'abc'
b = a.replace('a', 'A')
print(b)
'Abc'
print(a)
'abc'
六、函数
所有内置函数见收藏——官方文档https://docs.python.org/3/library/functions.html
常用:abs绝对值,max,isinstance(参数检查)
定义函数:(注意!def后注意缩进)
def myabs(x):
if x <= 0:
return -x
else:
return x
将其保存为ma.py后,可以在当前目录使用from ma import myabs来导入函数。
如果想不出函数该怎么写,可以先使用pass作为占位符。
函数也可以有多个返回值,本质上其实是返回一个省略了括号的tuple
import math用的也不少,很多数学公式需要用到!
在建立函数的时候,可以采取默认值的方式来简化输入运算,并且默认参数一定要指向不变对象
可变参数
加入*号,传入参数个数即可随意改变。
def calc(*nums):
sum = 0
for i in nums:
sum = sum + i * i
return sum
当参数已经是list或者tuple时,可以使用*list(相当于拆解)
关键字参数
关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def person(name, weigh, **kw):
print('name:', name, 'weigh:', weigh, 'other:', kw)
def person(name, age, *, city, job):
print(name, age, city, job)#city和job为必须项
person('Jone', 25, city='Shanghai', job='Engineer')
Jone 25 Shanghai Engineer
**kw为可选项,可以一次包含多个键和值。
使用后,后面几项为必填项,并且需要加上前缀!
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过kw传入:func(**{‘a’: 1, ‘b’: 2})。
计算n个数的乘积:
def product(x, *y):
s=x
for n in y:
s=s*n
return s
最后
以上就是愤怒小霸王为你收集整理的Python自学笔记D2的全部内容,希望文章能够帮你解决Python自学笔记D2所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复