小学生都能学会的python(编码 and 字符串)


一,编码

最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII          GBK 把中国的文字进行编码. 对ASCII扩充。 16bit  => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)          UNICODE 32bit 兼容各个国家的编码。万国码。 浪费空间  32bit => 4byte          UTF-8 可变长度的UNICODE。本质是UNICODE。             英文在UTF-8里面占用1个字节  8bit             欧洲文字。占用2个字节  16bit             中文. 占用3个字节   24bit         UTF-16

8bit => 1byte         1024byte => 1kb         1024kb => 1mb         1024mb => 1gb         1024gb => 1tb         1024tb = > 1

二,字符串(重点)

常见的基本数据类型:
1. int 整数
2. bool 布尔. 判断. if while
3. str 字符串, 一般放小量的数据.
4. list 列表. 可以存放大量的数据
5. dict 字典, 以key:value的形式存储数据
6. set 集合(数学)
7. tuple 元组 不可变

1. int
整数: 常见操作就那么几个 +-*/ // % **
bit_length() 一个数的二进制长度
2. bool(类型转换的问题)
没有操作
类型转换
字符串转换成整数 int(str)

结论1: 想要转化成什么类型就用这个类型括起来
结论2: True => 1 False => 0
结论3: 可以当做False来用的数据: 0 "" [] {} () None

3. 字符串
1. 字符: 单一文字符号
2. 字符串: 有序的字符序列
字符串由 ' " ''' """括起来的内容 字符串

索引 : 一排数字. 反应第某个位置的字符 索引的下标从0开始. 使用[]来获取数据
切片: [start: end: step]
顾头不顾尾
step:步长. 如果是+ 从左往右. 如果是- 从右往左 每n个取1个

3. 常用操作方法:
1. upper() 转化成大写. 忽略大小写的时候
2. strip() 去掉左右两端空白 用户输入的内容都要去空白
3. replace(old, new) 字符串替换
4. split() 切割 结果是list
5. startswith() 判断是否以xxx开头
6. find() 查找
7. isdigit() 判断是否是数字组成
8. len() 求长度. 内置函数

4. for循环
for 变量 in 可迭代对象:
循环体(break, continue)
else:
当循环结束的时候执行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)

  

小学生都能学会的python(编码 and 字符串)的更多相关文章

  1. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  2. 小学生都能学会的python(小数据池)

    小学生都能学会的python(小数据池) 1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 ...

  3. 小学生都能学会的python(运算符 和 while循环)

    ---恢复内容开始--- 小学生都能学会的python(运算符和编码) 一.格式化输出 #占位:"%s"占位,占得是字符串,"%d"占位,占的是数字. # 让用 ...

  4. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  5. 小学生都能学会的python(函数的进阶)

    小学生都能学会的python(函数的进阶) 1. 动态传参 形参: 1. 位置参数 2. 默认值参数 3. 动态传参 *args 动态接收位置参数 **kwargs 动态接收关键字参数 def fun ...

  6. 小学生都能学会的python(函数)

    小学生都能学会的python(函数) 神马是函数 函数: 对功能或者动作的封装 函数的定义 def 函数名(形参列表): 函数体(return) ret = 函数名(实参列表) 函数的返回值 retu ...

  7. 小学生都能学会的python(深浅拷贝)

    小学生都能学会的python(深浅拷贝) join() 把列表中的每一项用字符串拼接起来 # lst = ["汪峰", "吴君如", "李嘉欣&quo ...

  8. 小学生都能学会的python(字典{ })

    小学生都能学会的python(字典{ }) 1. 什么是字典 dict. 以{}表示. 每一项用逗号隔开, 内部元素用key:value的形式来保存数据 {"jj":"林 ...

  9. 小学生都能学会的python(列表[ ])

    小学生都能学会的python(列表[ ]) 1. 什么是列表(list) 能装东西的东西 列表中装的数据是没有限制的, 大小基本上是够用的 列表使用[]来表示. 在列表中每个元素与元素之间用逗号隔开 ...

随机推荐

  1. using_where, Using temporary ,using_filesort 分享

    Using filsort文档中的解释: Mysql需要额外的一次传递,以找出如何按排序顺序检索行,通过根据联接类型浏览所有行并为所有匹配where子句的行保存排序关键字和行的指针来完成排序,然后关键 ...

  2. ExtJs之Ext.XTemplate:模板成员函数

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  3. 工具-vscode使用

    1.智能感知 vscode使用DefinitelyTyped进行自动完成所以需要先安装tsd,命令: npm install -g tsd 安装完成后,首先安装node基本语法支持 tsd query ...

  4. BA--步进电机工作原理

    步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动 ...

  5. 支付宝接口程序、文档及解读(ASP.NET)

    最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开发的资料比较杂乱,这里就我此次开发所用到的资料进行汇总整理,希望能够帮助需要的朋友. 开发步骤: 1. 确定签约类型 支付宝的接口有多种类型, ...

  6. POI进行ExcelSheet的拷贝

    POI进行ExcelSheet的拷贝 学习了:http://www.360doc.com/content/17/0508/20/42823223_652205632.shtml,这个也需要改改 这个: ...

  7. Android Touch事件分发过程

    虽然网络上已经有非常多关于这个话题的优秀文章了,但还是写了这篇文章,主要还是为了加强自己的记忆吧,自己过一遍总比看别人的分析要深刻得多.那就走起吧. 简单演示样例 先看一个演示样例 : 布局文件 : ...

  8. PPAPI插件与浏览器的通信

    PPAPI的插件,原本是能够使用JS与浏览器交互的,https://code.google.com/p/ppapi/wiki/InterfacingWithJavaScript.这里还提供了一个JS与 ...

  9. 一个三年Android开发的总结-开篇

    一个三年Android开发的总结-开篇 转眼间全职从事Android开发已有三年,想把这一阶段的积累总结记录并展现出来,作为Android开发必备的知识,希望对有一定Android开发基础的人进阶有裨 ...

  10. node generator 模仿co

    exports.run = function(fn ){ return function(onDone){ function thunk(tfn , ctx){ return function(sql ...