python基础学习笔记(二)
列表用[###] l[ ]
字典表用花括号{##}表示
eg:d={‘name’:‘tom’,‘age’:20,‘job’:‘dev’}
d[’#’]进行查找键值
字典表里面没有,无法查到,报错
d.get(‘#’)查找不会报错
d.get(‘gender’,‘man’)如果没找到,则以man为初始值当默认值
tuple用圆括号(##)
t=(####)
列表支持原位修改,元组不允许原位修改
数值类型
声明 、赋值、使用
eg:
age=20
print(age)
20
float精度不够,是因为硬件存储结构描述浮点型的精度不够
数值显示 :3.33333333,取整的方法
‘{0(0为占位符)}’.format(20)
‘20’
‘3+2={0}’.format(f)
‘3+2=5’
f=3.33333333
‘f={0}’.format(f)
‘f=3.33333333’
‘f={0:.2f}’.format(f)(保留2位小数,以浮点型保存)显示
‘f=3.33’
字典表
d={‘name’:‘tom’,‘age’:20,‘job’:‘dev’}
‘姓名:{0},年龄:{1}’.format(d.get(‘name’),d.get(‘age’))
比较的结果是返回 Boolean布尔型(ture/false)
> ,< ,>=,<=,==(判断是否相等),!= (判断是否不等)
相除:10/4 2.5
10//4 2(取整)
10//4.0(按照精度高得进行)2.0
小数取整
3.4
import math
math.floor(3.4) 3
math.floor(3.9) 3 只是去掉小数,不是四舍五入
math.floor(-3.4)
-4
math.floor(-3.9)
-4
正向取整,总是往左移
math.trunc(3.14)
往中间0处移动
round(3.14)3
round(3.94)4 四舍五入
(round是全局函数,不是来自math模块)
整型:无限精度,仅受限于内存及计算机配置
八进制 :0o3 0o7
十六进制:0x3(取颜色的时候用16进制)
0xa ———— 0xf(10-15)
二进制:0b1 0b0 0b11(3)
0b1011(11)
转换oct(64)(oct可以转换为字面值)(64进制)
hex(16)(16进制)
bin( 2) *(二进制)
数学开发:math模块
实现精度计算,用decimal模块
import decimal
decimal.Decimal(‘3.14’)
声明:‘#’ 和“##”直接声明,’’’ # ‘’’ 定义说明文档的用途,可以保留原样的效果,三引号不会被计算机忽视,会生成说明性文档
常用转义符:
\n 换行键
\b 退格键
\t tuple键 四个空格
避免:path=‘c:\abc\xyz.txt’\ 避免\a 转义符 用双斜杠转义
忽略转义符: r‘…’
计算字符串长度
‘abc’+‘xyz’
‘abcxyz’
‘ok’5
‘okokokokok’
print(‘-’20),将-打印20个,华丽分割线
s=‘hello’
for c in s:
print(c)自动打印后结束后 以\n结尾 换行
for c in s:
print(c,end=‘ ’)以空格结尾
hello
s[0] 打印出hello中的第一个元素
s=‘asdfghjkl’
s[0:4] 打印出前四个元素,s[0:a] 打印出0坐标到a-1坐标的元素
最后一位用-1表示
s[-1]=l
若不知最后一位是-1,则可以用s[len(s)-1]
s[:] 取所有元素
s[::2] 隔一个元素去一个
s[:: -1] 反转过来进行 lkjhgfdsa
int(‘42’)+1 为避免混淆,将字符转换为(数字)整型 进行运算
ord(‘##’)
eg:ord(‘c’) c字符在ASCII 对应的位置
chr(99) 对应在ASCII中的字符
不允许字符串的原位替换
但是可以用.replace(‘#’,‘#’)**替换,并重新赋值给变量
字符串
字符串中替换内容的话
s=‘codeclassroom.com’
s=s.replace(‘com’,‘cn’) 产生新的字符串,赋值到s
布尔型也属于数值类型
True1/False0 非对即错的状态 第一个字母大写
isinstance(True,int)True 与int相接
= 是赋值 ==是判断
list 列表
l=list(s) 将字符串内容赋值到列表中
l[len(l)-1]=‘c’
l[-1]=‘n’ 在列表中进行替换
s=’ ',join(l) 将列表转换为字符串,以空格隔开,也可以用其他隔开
url.split(’,’) 字符串支持的分割方法,可以通过列表修改
.replace(’#’,’#’)
.split(’#’) 分割列表
len (l) 函数 不依附于某个对象,s.split 是种方法 针对于字符串的
url=‘uke.cc’
url**.startswith**(‘http:’)是否以 http开头
url.endswith(‘cc’)是否以cc结尾
url.find(‘#’)是否含有# ,并告知其位置
a,b=b,a 直接将a ,b 交换
‘{0}=>{1}’.format(a,b)
‘2=>1’
’{name}=>{salary}’.format(name=‘tom’,salary=9000)
.upper 转换为大写
list(任意对象的有序集合
通过索引下标访问元素
可变长度
属于可变序列)
for c in l:
四个空格进行缩进 print(c) 换行结束
for c in l:print(c,end=‘|’) 以| 结束
在列表中每个元素放到c中
tab键四个空格或者四个空格进行缩进
执行操作
**.append(a)**在原列表中追加一个元素a,不用和str一样加=,支持在原位改变
**l.extend([###])**extend是将两个列表连接起来
l=[1,2,3]
l[1:2]=[4,5] 将第二位置元素换成 4,5
[‘abc’]*3
结果为[‘abc’,‘abc’,‘abc’]
l.sort()排序
l.resverse()倒序
l.pop () 弹出某个元素
del(l[0]) 删除某个元素
l.index(7)找出列表中元素所在位置
l.count(5) 统计列表中元素的个数
多个变量指向同一个对象
变量会根据变量值一起变换
若不想一起变化
eg: l3=l1[:]
or l3=l1.copy()
引用类型 也支持原位改变
拷贝副本:[:];.copy()