python修炼之路-day3
Posted child-king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python修炼之路-day3相关的知识,希望对你有一定的参考价值。
一.编码
1.最早的编码是ASCII码,美国人创建的. 8位 1字节
2.gbk 国标码 16位 2字节
3.unicode 万国码 32 位 4字节
4.utf-8 : 英文 8位 1字节
欧洲 16位 2字节
中文 24位 3字节
计算机存储单位:
8 bit ==> 1 byte
1024 byte ==> 1 kb
1024 kb ==> 1 mb
1024 mb ==> 1 gb
1024 gb ==> 1 tb
1024 tb ==> 1 pb
二.基本数据类型的概述
int 整数 主要用来进行数学运算
str 字符串, 存储少量的数据
bool 布尔 用于判断真假 True, False
list 列表 [ ] 存取大量数据
tuple 元组. 只读列表, 不能改( )
dict 字典; 一对一对的存储数据. key:value {" ":" "," ":" "}
set 集合. 存储不重复的内容
三.int bool str
int 方法操作:
bit_length() 求二进制长度
bool: 类型转换
1. 你想转换成什么. 就用什么把目标包裹起来
2. 带空的是False, 不带空的True
str
1. str索引和切片:
索引:起始下标是0(从左到右), (-1)从右到左
1 s1 = "python?B" 2 print(s1[0]) # 获取第0个 3 print(s1[1]) 4 print(s1[2]) 5 print(s1[3]) 6 print(s1[4]) 7 print(s1[5]) 8 print(s1[6]) 9 print(s1[7]) 10 print(s1[8]) # 11 print(s1[9]) # 没有9, 越界了了. 会报错 print(s1[-1]) # -1 表示倒数. print(s1[-2]) # 倒数第二个
切片: s[起始位置: 结束位置: 步长] 步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
特点:顾头不顾尾
1 s2 = "python?牛B" 2 print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt 3 print(s2[6:8]) # 结果 ? 4 print(s2[6:9]) # 大是8. 但根据顾头不顾腚, 想要取到8必须给9 5 print(s2[6:10]) # 如果右边已经过了大值. 相当于获取到后 6 print(s2[4:]) # 如果想获取到后. 那么后?个值可以不给. 7 print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数 也数不到-5 8 print(s2[-5:-1]) # ?b, 取到数据了了. 但是. 顾头不顾腚. 怎么取后?个呢? print(s2[-5:]) # 什么都不写就是后了 9 print(s2[:-1]) # 这个是取到倒数第?个 10 print(s2[:]) # 原样输出
2. 字符串的常用操作: 常用方法
原字符串不可变.
1. upper() 转换成大写
1 # 应用, 校验用户输入的验证码是否合法 2 verify_code = "abDe" 3 user_verify_code = input("请输?入验证码:") 4 if verify_code.upper() == user_verify_code.upper(): 5 print("验证成功") 6 else: 7 print("验证失败")
2. strip() 去掉空格
1 # 应用, 模拟用户登录. 忽略用户输入的空格 2 username = input("请输入用户名:").strip() 3 password = input("请输入密码: ").strip() 4 if username == ‘alex‘ and password == ‘123‘: 5 print("登录成功") 6 else: 7 print("登录失败")
3. replace() 替换
1 # 字符串替换 2 s8 = "sylar_alex_taibai_wusir_eggon" 3 ret = s8.replace(‘alex‘, ‘金角?王‘) # 把alex替换成金角大王 4 print(ret) # sylar_金角?大王_taibai_wusir_eggon
4. split() 切割
1 # 字符串切割 2 s9 = "alex,wusir,sylar,taibai,eggon" 3 lst = s9.split(",") # 字符串切割, 根据,进行切割 4 print(lst)
5. format() 格式化输出
# 格式化输出 s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % (‘sylar‘, 18, ‘周杰伦‘) # 之前的写法 print(s12) s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化 print(s12) s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置 print(s12) s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字 print(s12)
6. startswith() 判断是否以xxx开头
1 s13 = "我叫sylar, 我喜欢python, java, c等编程语言." 2 ret1 = s13.startswith("sylar") # 判断是否以sylar开头 3 print(ret1) 4 ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开头 5 print(ret2)
7. find() 查找. 找不到返回-1
1 ret5 = s13.find("sylar") # 查找‘sylar‘出现的位置 2 print(ret5) 3 ret6 = s13.find("tory") # 查找‘tory‘的位置, 如果没有返回-1 4 print(ret6) 5 ret7 = s13.find("a", 8, 22) # 切片找 6 print(ret7)
8. len() 内置函数. 直接使用. 不用点操作 求字符串的长度
s18 = "我是你的眼, 我也是a" ret = len(s18) # 计算字符串的长度 print(ret)
3. 迭代
for 变量 in 可迭代对象:
循环体
else:
1 s19 = "大家好, 我是VUE, 前端的小朋友们. 你们好么?" 2 3 # 用while循环 4 5 index = 0 6 while index < len(s19): 7 print(s19[index]) # 利用索引切片来完成字符的查找 8 index = index + 1 9 10 # for循环, 把s19中的每一个字符拿出来赋值给前面的c 11 12 for c in s19: 13 print(c)
以上是关于python修炼之路-day3的主要内容,如果未能解决你的问题,请参考以下文章