编码,str

一,编码

   1. ascii. 最早的编码. 至今还在使用. 8位一个字节(字符)
        2. GBK. 国标码. 16位2个字节.
        3. unicode. 万国码. 32位4个字节
        4. UTF-8. 可变长度的unicode.
            英文: 8位. 1个字节
            欧洲文字:16位. 2个字节
            汉字. 24位. 3个字节

        8bit = 1byte
        1024byte = 1KB
        1024KB = 1MB
        1024MB = 1GB
        1024GB = 1T

二,字符串(重点)

基本数据类型(int,bool,str)
1.基本数据数据类型:
int 整数
str 字符串. 一般不存放大量的数据
bool 布尔值. 用来判断. True, False
list 列表.用来存放大量数据, []表示. 里面可以装各种数据类型.
tuple 元组. 只读列表. () 表示
dict 字典. {key:value}
set 集合. 不重复
2. int类型
bit_length() 返回一个数的二进制长度
3. bool类型
布尔只有两个值. True,False. 一般是没有什么操作的.

类型转换的问题:
想把xx转换成yy. yy(xx)

可以表示False的内容:0, "", [], tuple(), {}, None
所有的空都是False. 所有的非空是True

4. str类型 字符串
',",''', """阔起来的内容就是字符串
字符串是不可变的数据类型.不论你执行任何操作. 源字符串是不会改变的, 每次操作都会返回新字符串

1. 索引和切片
索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数
切片: [起始位置:结束位置:步长]
1. 顾头不顾尾
2. 默认从左到右取值.
3. 当步长为负可以从右往左取值
2. 字符串相关操作
1. upper() 转换成大写
2. stript() 去掉空白
3. replace(old, new) xxx替换成xxxx
4. split() 切割. 返回列表. 用多长的刀. 就要损失掉多少
5. startswith() 判断是否以xxx开头
6. find(), count(), index()
7. len() 字符串长度. python的内置函数
3. for循环
for 变量 in 可迭代对象:
循环体, 也存在breakcontinue
else:
当循环结束的时候会执行
# 把字符串转化成int
# a = "10"
# b = int(a)
# print(type(b))

# 把int转化成str
# a = 10
# print(type(a))
# s = str(a)
# print(type(s))

# 如果想把字符串转化成int    int(str)
# 把int转化成str    str(int)
# 结论: 想转化成xxx数据类型    xxx(目标)

# a = 10
# b = bool(a)
# print(b)

# c = True
# d = str(c)
# print(type(d))

# a = False
# print(int(a))

# 结论2: True => 1  False => 0
# 结论3 , 可以当做False来用的数据: 0, "", [], (),{}, None
# 所有的空的东西都是False

# s = ""
# if s:
#     print("娃哈哈")

# while 1:  # 1和True效率: 1的效率比True高一点点
#     print("还我钱!")

  

# s = '刘德华很帅但是张国荣更'
# print(s[2])
# print(s[11])
# print(s[-5]) # 倒数第一
# print(s[-4]+s[-3]+s[-2])

# 切片 s[start: end] 顾头不顾尾
# print(s[7:10])
# print(s[0:3])
# print(s[-4:-1])
# print(s[-1:-4]) # 默认的方向是从左往右切.
# 从德开始切. 切到结尾
# print(s[1:]) # 末尾
# print(s[:4]) # 开头
# print(s[:])

# s = "我要开始玩幺蛾子了你们怕不怕我很怕"
# print(s[1:5])
# print(s[5:1:-1])
# 第三个参数是步长
# print(s[1:5:3])
# print(s[4:8:2])
# print(s[::2]) # 02468
# print(s[-1:-6:-2])
# print(s[::-3])
# print(s[::-1])

# s = ""  # 回文
# s1 = s[::-1]
# if s == s1:
#     print("是回文")
# else:
#     print("不是回文")

# 切片: str[start : end : step]
# start: 起始位置
# end: 结束位置 顾头不顾尾
# step: 步长 默认是1. 从左往右取.   -1 从右往左取

  

 

 

 

 

# s = "太白金星"
# s2 = s[::-1]
# print(s)

# s = "alex is not a good man! Tory is a good man"
# # s1 = s.capitalize()  # 首字母大写
#
# s1 = s.lower()
# s2 = s1.upper() # 转化成大写字母. 要求记住. 使用场景: 忽略大小写的时候需要
#
# print(s2)

# while True:
#     content = input("请输入你要喷的内容(输入Q退出):")
#     if content.upper() == 'Q': # 当用户输入q或者Q的时候退出. 这里要忽略大小写
#         break
#     print(content)


# s = "alex is not a good man! Tory is a good man"
# s1 = s.swapcase()  # 大小写互换
# print(s1)

# s2 = "БBß" # 俄美德
# print(s2)
# print(s2.lower())
# print(s2.casefold()) # 都转化成小写. 支持的文字比lower多


# s = "class app_le banana ora1nge pear alex wusir"
# s1 = s.title() # 标题.把单词的首字母大写
# print(s1)


# s = "刘伟"
# s1 = s.center(4,"*") # 把字符串拉长成4个单位 用*扩充
# print(s1)


# s = " \t       你好啊. 我叫赛利亚       "
# print(s)
# s1 = s.strip() # 去掉空白
# print(s1)

# 模拟登陆
# 用户输入的内容是无法保证合法的. 需要进行处理和判断
# username = input("请输入用户名:").strip()
# password = input("请输入密码:").strip()
# if username == "alex" and password == "123":
#     print("成功")
# else:
#     print("失败")


# s = "刘伟很帅刘伟"
# print(s.strip("伟"))


# s = "alex_wusir_ritian_taibai_evaj_eggon"
# # s1 = s.replace("taibai", "taihei")
# s1 = s.replace("i", "SB", 2)
# print(s1)

# s = "alex_wusir_ritian_taibai_evaj_eggon"
# lst = s.split("_") # 刀有多宽 就要损失掉多少
# print(lst)

# print("周润发\n周星驰周笔畅周杰伦")  # \n 是换行

# s = "周润发周星驰周笔畅周杰伦"
# lst = s.split("周润发周星驰周笔畅周杰伦")  # 切割的内容在边上. 会出现空字符串
# print(lst)

# 格式化输出
# print("我叫%s, 我今年%d岁了, 我喜欢干%s" % ("alex", 18, "python"))
# print("我叫{}, 我今年{}岁了, 我喜欢干{}".format("alex", 18, "python"))
# print("我叫{0}, 我今年{1}岁了, 我喜欢干{2}".format("alex", 18, "python"))
# print("我叫{name}, 我今年{age}岁了, 我喜欢干{hobby}".format(name="alex", age=18, hobby="python"))

# s = "今天的内容非常简单.你们信吗? 作业也很容易. 就是整理不太好"
# print(s.startswith("太好了"))
# print(s.endswith("太好了"))
#              啤酒
# s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
# # print(s.count("炸鸡")) # 计数
# print(s.find("疙瘩汤")) # 如果找不到返回-1  用这个
# print(s.index("疙瘩汤")) # 如果找不到报错.


# s = "一二壹贰叁肆萬两"
# print(s.isnumeric())

# s = "我是上帝, 你也是上帝"
# print(len(s)) # 内置函数len(字符串) 返回给你字符串的长度

  

 

# s = "朱元璋朱棣"
#
# # count = 0
# # while count < len(s): # 遍历字符串的第一种办法
# #     print(s[count])
# #     count = count + 1
#
# s = "朱元璋朱棣朱建峰"
# # for循环
# # for 变量 in 可迭代对象:
# # 把可迭代对象中的每一个元素 分别赋值给前面的变量, 可以方便可迭代对象的遍历
# for c in s:
#     print(c)

# TypeError: 'int' object is not iterable
# for i in 10:
#     print(i)

  

基本数据类型(int,bool,str)
1.基本数据数据类型:
int 整数
str 字符串. 一般不存放大量的数据
bool 布尔值. 用来判断. True, False
list 列表.用来存放大量数据, []表示. 里面可以装各种数据类型.
tuple 元组. 只读列表. () 表示
dict 字典. {key:value}
set 集合. 不重复
2. int类型
bit_length() 返回一个数的二进制长度
3. bool类型
布尔只有两个值. True,False. 一般是没有什么操作的.

类型转换的问题:
想把xx转换成yy. yy(xx)

可以表示False的内容:0, "", [], tuple(), {}, None
所有的空都是False. 所有的非空是True

4. str类型 字符串
',",''', """阔起来的内容就是字符串
字符串是不可变的数据类型.不论你执行任何操作. 源字符串是不会改变的, 每次操作都会返回新字符串

1. 索引和切片
索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数
切片: [起始位置:结束位置:步长]
1. 顾头不顾尾
2. 默认从左到右取值.
3. 当步长为负可以从右往左取值
2. 字符串相关操作
1. upper() 转换成大写
2. stript() 去掉空白
3. replace(old, new) xxx替换成xxxx
4. split() 切割. 返回列表. 用多长的刀. 就要损失掉多少
5. startswith() 判断是否以xxx开头
6. find(), count(), index()
7. len() 字符串长度. python的内置函数
3. for循环
for 变量 in 可迭代对象:
循环体, 也存在breakcontinue
else:
当循环结束的时候会执行
posted @ 2019-10-17 16:31  forever_fortunate  阅读(167)  评论(0编辑  收藏  举报