python 基础只数据类型


今日内容概要:

1 进制
基本数据类型
- 整数
- 布尔值
- 字符串
- 列表
- 元组
- 字典
- 集合

for , while , range, ...



1. 进制

0
1010010100101001
1
01010010
100101001
1
字节
01010010
01010010 +
unicode

UTF - 8 : 自己对应关系
01010010
01010010
01010010

GBK: 自己对应关系
11010010
01110011

== == 》
二进制: 0
1
10
11
100
101
八进制: 0
1
2
3
4
5
6
7
10
十进制: 0
1
2
3
4
5
6
7
8
9
10. .
15
十六进制: 0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10

总结:
1.
硬盘上保存数据: 01010101010101010101
2.
读取: 01010101010101010101 -> 对应的编码的汉字 --> xx
3.
看到:
- 转换完成的字符串
- 以十六进制展示的01010101

2. 基本数据类型
可变数据类型:可以直接更改
不可变数据类型:不能直接更改,只能新建一个新的变量 重新接收 在内存方面 不一样
- 字符串
字符串 str 不可变数据类型
1 capitalize 格式化字符串 改变为首字母大写 其他小写的字符串
name = 'stAy_sUn'
v=name. capitalize ()
print (v)
print (name)
Stay_sun
stAy_sUn


2 casefold 所有 字母改变为小写 可以修改 德语 等
name = 'stAy_sUn'
v = name .casefold()
print (v)
print ( name )
stay_sun
stAy_sUn

2 lower 所有 字母改变为小写
name = 'stAy_sUn'
v= name .lower()
print (v)
print ( name )
stay_sun
stAy_sUn


3 upper 将所有字母改变为 大写
name = 'stAy_sUn'
v= name .upper()
print (v)
print ( name )
STAY_SUN
stAy_sUn



4 center 填充字符 变量放在中间 可以不设置 第二个参数
默认为 空格
参数1: 表示总长度
参数2:空白处填充的字符(长度为1)
name = 'stAy_sUn'
v= name .center( 20 ,)
v= name .center( 20 , '啊' )
print (v)
print ( name )


啊啊啊啊啊啊stAy_sUn啊啊啊啊啊啊
stAy_sUn


5 count 查询出 字符串里面 有多少该字符
参数1: 要查找的值(子序列)
参数2: 起始位置(索引)
参数3: 结束位置(索引)
name = 'stAy_sUn'
v=name.count( 's' )
print (v)
print (name)

2
stAy_sUn


6 endswith 是否已xxx 结尾
name = 'stAy_sUn'
v= name .endswith( 'n' )
print (v)
print ( name )

True
stAy_sUn


7 startswith 已 xxx 开头
name = 'stAy_sUn'
v= name .startswith( 's' )
print (v)
print ( name )

True
stAy_sUn

8 找到制表符\t,进行替换(包含前面的值)
name = 'stAy \t _s \t Un'
v=name.expandtabs( 20 )
print (v)
print (name)

stAy _s Un
stAy _s Un
name = 'stAy \t _s \t Un'
v= name .expandtabs( 20 )
print (v)
print ( name )


9 找到指定子序列的索引位置:不存在返回-1
name = 'stAy_stUn'
v = name.find( 's' ) #不存在返回-1
print ( v )
v = name.index( 'A' ) #不存在 报错
print ( v )

10 字符串格式化、

# tpl = "我是:%s;年龄:%s;性别:%s"

tpl = "我是:{0};年龄:{1};性别:{2}"
v = tpl.format("李杰",19,'都行')
print(v)

tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format(name='李杰',age=19,gender='随意')
print(v)

可以放入字典
tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format_map({'name':"李杰",'age':19,'gender':'中'})
#print(v)


11 字符串之中 是完全包含数字
name = 'aaa8'
v = name.isalnum() # 字,数字
print (v) # True
v2 = name.isalpha() #
print (v2) # False



12. 判断是否是数字
num = '②'
v1 = num.isdecimal() # '123'
v2 = num.isdigit() # '123','②'
v3 = num.isnumeric() # '123','二','②'
print(v1,v2,v3)


13 isidentifier 检测是否是字符
n = '8'
v = n.isidentifier()
print (v)


14 是否是完全大写
name = "ALEX"
v = name.islower()
print (v)
v = name.isupper()
print (v)

False
True

15 查询字符串里是否含有 \n
name = "钓鱼要钓刀鱼, \n 刀鱼要到岛上钓"
v = name .isprintable()
print (v)
True

16 isspace 检测 字符串是否完全是空格
name = ' '
v = name.isspace()
print ( v )

True

17 jion 拆分拼接
name = 'stay_sun'
v = "_" .join(name)
print (v)

s_t_a_y___s_u_n

18 maketrans 对应翻译
m = str .maketrans( 'aeiou' , '12345' ) # 对应关系

name = "aeiou123456"
v = name.translate(m)
print (v)

12345123456

19 左右填充
# center左右 填充,rjust左填充,ljust 右填充

name = 'alex'
v = name.ljust( 20 , '*' )
print (v)


20 partition 字符串分割 保存分割字符
content = "zzSBzzSBzz"
v = content.partition( 'SB' ) # partition
print (v)

21 替换 replace
第一个参数 需要替换的字符
第二个 替换为的字符
第三个 替换多少个 可以不谢
content = "zhangxanSBadadSB刘adSB刘ad"
v = content .replace( 'SB' , 'Love' )
print (v)
v = content .replace( 'SB' , 'Love' , 1 )
print (v)

22 swapcase 大小写 互换
name = "Alex"
v = name.swapcase()
print (v)
aLEX

23自动填充
name = "alex"
v = name .zfill( 20 )
print (v)


###### 字符串功能总结:
# name = 'alex'
# name.upper()
# name.lower()
# name.split()
# name.find()
# name.strip()
# name.startswith()
# name.format()
# name.replace()
# "alex".join(["aa",'bb'])


###### 额外功能:
# name = "alex"
# name[0]
# name[0:3]
# name[0:3:2]
# len(name)
# for循环,每个元素是字符

- 整数

1 bit_length() 二进制占用的最少位数
age = 4 # 100
print ( age .bit_length())

2 . 获取当前数据的字节表示
# age = 15
# v = age.to_bytes(10,byteorder='big')
# v = age.to_bytes(10,byteorder='little')
# print(v)
# 00000000 00001111 -> 15
- 布尔值
# 布尔值:
# 1 True
# 0 False
#
# bool(1111)

- 列表
# 1.追加
# user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
# user_list.append('刘铭')
# print(user_list)
# 2. 清空
# user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
# user_list.clear()
# print(user_list)

# 3. 拷贝(浅拷贝)
# user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
# v = user_list.copy()
# print(v)
# print(user_list)

# 4. 计数
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# v = user_list.count('李泉')
# print(v)

# 5. 扩展原列表
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# user_list.extend(['郭少龙','郭少霞'])
# print(user_list)

# 6. 查找元素索引,没有报错
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# v = user_list.index('李海')
# print(v)

# 7. 删除并且获取元素 - 索引
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# v = user_list.pop(1)
# print(v)
# print(user_list)

# 8. 删除 - 值
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# user_list.remove('刘一')
# print(user_list)

# 9. 翻转
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
# user_list.reverse()
# print(user_list)

# 10. 排序: 欠参数
# nums = [11,22,3,3,9,88]
# print(nums)
# 排序,从小到大
# nums.sort()
# print(nums)
# 从大到小
# nums.sort(reverse=True)
# print(nums)

###### 额外:
# user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙']
# user_list[0]
# user_list[1:5:2]
# del user_list[3]
# for i in user_list:
# print(i)
# user_list[1] = '姜日天'
# user_list = ['李泉','刘一','李泉','刘康','豆豆',['日天','日地','泰迪'],'小龙']

- 元组
# ######################################### tuple:元组,不可被修改的列表;不可变类型 #########################################
# user_tuple = ('alex','eric','seven','alex')
# 1. 获取个数
# v = user_tuple.count('alex')
# print(v)
# 2.获取值的第一个索引位置
# v = user_tuple.index('alex')
# print(v)

####### 额外:
# user_tuple = ('alex','eric','seven','alex')
# for i in user_tuple:
# print(i)

# v = user_tuple[0]

# v = user_tuple[0:2]
# print(v)

# user_tuple = ('alex','eric','seven',['陈涛','刘浩','赵芬芬'],'alex')
# user_tuple[0] = 123 x
# user_tuple[3] = [11,22,33] x
# user_tuple[3][1] = '刘一'
# print(user_tuple)

# li = ['陈涛','刘浩',('alex','eric','seven'),'赵芬芬']
# ****** 元组最后,加逗号 ******
# li = ('alex',)
# print(li)





- 字典

# ######################################### dict:字典: 可变类型 #########################################

# 1. 清空、
# dic = {'k1':'v1','k2':'v2'}
# dic.clear()
# print(dic)

# 2. 浅拷贝
# dic = {'k1':'v1','k2':'v2'}
# v = dic.copy()
# print(v)

# 3. 根据key获取指定的value;不存在不报错
# dic = {'k1':'v1','k2':'v2'}
# v = dic.get('k1111',1111)
# print(v)
# v = dic['k1111']
# print(v)

# 4. 删除并获取对应的value值
# dic = {'k1':'v1','k2':'v2'}
# v = dic.pop('k1')
# print(dic)
# print(v)

# 5. 随机删除键值对,并获取到删除的键值
# dic = {'k1':'v1','k2':'v2'}
# v = dic.popitem()
# print(dic)
# print(v)

# k,v = dic.popitem() # ('k2', 'v2')
# print(dic)
# print(k,v)

# v = dic.popitem() # ('k2', 'v2')
# print(dic)
# print(v[0],v[1])

# 6. 增加,如果存在则不做操作
# dic = {'k1':'v1','k2':'v2'}
# dic.setdefault('k3','v3')
# print(dic)
# dic.setdefault('k1','1111111')
# print(dic)
# 7. 批量增加或修改
# dic = {'k1':'v1','k2':'v2'}
# dic.update({'k3':'v3','k1':'v24'})
# print(dic)


# dic = dict.fromkeys(['k1','k2','k3'],123)
# print(dic)
# dic = dict.fromkeys(['k1','k2','k3'],123)
# dic['k1'] = 'asdfjasldkf'
# print(dic)

# dic = dict.fromkeys(['k1','k2','k3'],[1,])
# {
# k1: 123123213, # [1,2]
# k2: 123123213, # [1,]
# k3: 123123213, # [1,]
# }
# dic['k1'].append(222)
# print(dic)
# ########## 额外:
# - 字典可以嵌套
# - 字典key: 必须是不可变类型
# dic = {
# 'k1': 'v1',
# 'k2': [1,2,3,],
# (1,2): 'lllll',
# 1: 'fffffffff',
# 111: 'asdf',
# }
# print(dic)
# key:
# - 不可变
# - True,1

# dic = {'k1':'v1'}
# del dic['k1']
- 集合
# s1 = {"alex",'eric','tony','李泉','李泉11'}
# s2 = {"alex",'eric','tony','刘一'}

# 1.s1中存在,s2中不存在
# v = s1.difference(s2)
# print(v)
# #### s1中存在,s2中不存在,然后对s1清空,然后在重新复制
# s1.difference_update(s2)
# print(s1)

# 2.s2中存在,s1中不存在
# v = s2.difference(s1)
# print(v)

# 3.s2中存在,s1中不存在
# s1中存在,s2中不存在
# v = s1.symmetric_difference(s2)
# print(v)
# 4. 交集
# v = s1.intersection(s2)
# print(v)
# 5. 并集
# v = s1.union(s2)
# print(v)

# 6. 移除
# s1 = {"alex",'eric','tony','李泉','李泉11'}
# s1.discard('alex')
# print(s1)

# s1 = {"alex",'eric','tony','李泉','李泉11'}
# s1.update({'alex','123123','fff'})
# print(s1)
# ##### 额外:

# s1 = {"alex",'eric','tony','李泉','李泉11'}
# for i in s1:
# print(i)

# s1 = {"alex",'eric','tony','李泉','李泉11',(11,22,33)}
# for i in s1:
# print(i)

# ################################### 本周作业 ###################################

3.
for , while , range, ...

# 1. 请输出1-10
# 2.7: 立即生成所有数字
# range(1,11) # 生成 1,23,,4,56.10

# 3.x: 不会立即生成,只有循环迭代时,才一个一个生成
# for i in range(1,11): #
# print(i)

# for i in range(1,11,2): #
# print(i)

# for i in range(10,0,-1): #
# print(i)

# 1. 3.x 不会立生成,迭代之后才一个一个创建;
"""
- 2.7:
range()
xrange() 不会立生成,迭代之后才一个一个创建;
- 3.x
range() 不会立生成,迭代之后才一个一个创建;
"""
# 2. range: 三个参数
#
# li = ['eric','alex','tony']
# # range,len,li循环
# for i in range(0,len(li)):
# ele = li[i]
# print(ele)


# li = ['eric','alex','tony']
# for i in li:
# print(i)

# for i in range(0,len(li)):
# print(i+1,li[i])


# enumerate额外生成一列有序的数字
# li = ['eric','alex','tony']
# for i,ele in enumerate(li,1):
# print(i,ele)
#
# v = input('请输入商品序号:')
# v = int(v)
# item = li[v-1]
# print(item)
readme
isalnum 在检查字符串的时候 一直是True

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29896444/viewspace-2139020/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29896444/viewspace-2139020/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值