python基础
1. 数据类型
- 整数
- 浮点数
- 字符串
- 布尔值: True ,False 注意大小写
- 空值 是none
- 列表list(相当于别的语言里的数组)
- 字典
2. 编码设置与注释
编码: # -*- coding=utf-8 -*_
注释: 使用#
或者是'''
和"""
这种表示
3. 格式式
-
可以使用%这种格式
%s
用字符串替换,%d
用整数替换,%f
用浮点数替换,%x
用十六进制整数>>> 'this is %s you have %d' % ('lnsmm',123)
-
还用一种使用format()函数,它传入的参数会依次替换字符串里内{0},{1}{…}
str= 'this is {0} ,{1}'.format('test',123) print(str) #匹配浮点数 str='this is {0},{1:.1f}'.format('test',12,11) #这是显示 this is test,12.1 1f代表着小数点的位数
4. list 可变列表与tuple 不可变列表
4.1 list 可变列表
1.它相当于php语言里的array方法,同样可以使用下标的方法访问里面的元素
li=['a','b','c']
print(li[0]) # 输出 a
print(li[-1]) # 输出 c
-
可以使用len()函数计算列表的长度
len(li) #输出 3
3.可以向列表里添加元素append(), insert()
-
append()向元素尾添加元素
li.append('test')
-
insert()是可以指定索引位置添加元素,如果我想从第一个索引添加
li.insert(0,'one')
-
可以删除元素 pop(i)方法,i是索引位置,不加索引,则删除最后一个元素
li.pop(0
4.2 不可变列表 tuple 原名叫 元组,php里好好像没这么个玩意吧,你说像常量?,静态变量?都不是吧?
常量或者是静态变量,是当变量定义好后,变量使用完后并不消失,这货是一旦初始化后,就不能修改,变量的指向
,这是不是不懂?,(没关系,反正我也不太懂!),一会来个例子来说明下吧,反正我理解的也就到这了
元组的定义使用()
来实现,定义好后,就不可修改了,也没有什么append,insert()的啥的了,否则会报错
classlist=('name1','name2','name3')
- 如何定义这么一个tuple元组呢?
>>> t=() #这种方式定义
-
如果只有一个元素呢?
>>> t=(1) # 这种是不行的,种括号是不行的,它与数学公式里的()产生了歧义,在python里会返回1,而不是一个元组 >>> t=(1,) #p 这种是可以的
-
如果是这种能改变吗?
>>> t=('a','b',[1,2,3]) >>>t[2][0]=11 #通过这种方式可以把变成('a','b',[11,2,3])吗?
答案是肯定的,不是说定义好了之后就不能修改了吗?,这里要理解一下,值是可以改变的,但是指向是不能改变的,说的明白点就像是一个盒子一样,规定死了这个盒子只能放下三种东西,你可以替换里面的东西,但不三种东西不能少一样,就是这个意思吧?还不懂就再想想吧!
这里可要注意哈:这个元组里的列表是可以append,insert,pop等操作的呀,可别弄混,
也就是说 t=(‘a’,‘b’,[])或者是t=(‘a’,‘b’,[1,2,3,4,5])这个都是可以,元组里必须有三个位置就可以了
5.if判断
格式:
#这是第一个写法,别忘记了冒号:
if aget>18:
print('你真年轻')
else:
print('哈哈')
#另一个写法elif(else if 简写)
if age>18:
print()
elif age>30:
print()
else:
print()
# 另一个写法
if x: # 只要这个x是一个非空整数,非空字符串,非空list 就可以认定是true
print()
else:
print()
6. 循环
python 里有两种循环:
- for … in 用于遍历 list 类型 tuple类型
格式:
list=[1,2,3]
for x in list:
print(x)
用例:
list=range(0,101) #快速生成0-100的数
sum=0
for x in list:
sum +=x
print(sum)
# 输出5050
-
还有一种循环 while循环
格式: 只有条件不成立时,则会退出循环
while 条件:
例子;
sum=0 num=99 while num>0: sum +=num num=num-2 print(sum)
-
跳出循环:
- break: 提前退出循环
- continue 跳出本次循环,进入到下一次循环
7.python里的dict和set
1.dict(字典) :相当于map,使用key-value存储,相当于php里的关联数组吗?但我觉得它更像json对象吧,访问速度要比list和tuple那种要快
格式
d={'name':11,'age':20,'sex':1}
d['name'] #可以访问
d['name']=22 #可以赋值,后面的值覆盖前面的值
-
判断key值存在不存在可以使用 in语法来判断或者是通过dict提供的get()方法来测试,如果key不存在,则返回none
name in d
-
删除key,可以使用pop(key)来实现
d.pop('name')
-
dict内部存放的顺序和key放入的顺序是没有关系的
-
和list 相比有几个特点: 1. 查找和插入的速度极快,不会随着key的增加而变慢 2, 需要占用极大的内存,而list相反 查找会随着元素的增加而增加,占用空间小
-
set类型,也是一组key的集合,但不存储value ,key是不可以重复的,要创建set,需要提供一个list作为list的输入集合
s=set([1,2,3]) # 需要注意的是,传入的参数是[1,2,3]是一个list,但是显示的是{1,2,3},只是说明这个set内部有3个元素,并不是有序的
-
可以使用
add(key)
向set里添加元素s.add(4)
-
可以使用
remove(key)
方法删除元素 -
使用两个set可以实现交集与并集
s1=set([1,2,3]) s2=set([2,3,4]) #交集 s1 & s2 # 输出 {2,3} #并集 s1 | s2 #输出{1,2,3,4}
-
注意事项: dict的key必须是不可变对象