编码和字符串

前言

我还是坚持的来写博了,,,哼

python基础内容

看来要过一段时间基础内容了,其实并不是什么都不知道才从基础学起,而是学高级之前把基础的知识系统的从头到尾过一遍真的是很有必要的

编码

电脑的传输和储存的都是二进制代码
ASCII码[只可表示英文字母,数字,特殊字符]

  一个英文字母用1个字节表示
ASCII码最左边一位都是0
  8bit=1byte
  1024byte=1kb
  1024kb=1MB
  1024MB=1G
  1024GB=1TB
万国码(unicode):一个英文2个字节表示
         一个中文4个字节表示(浪费空间)
utf-8:一个中文3个字节表示
   欧洲2个字节

   英文1个字节表示
gbk:只可表示中文 一个中文2个字节表示
相互之间可以通过unicode相互转换

运算符

基本运算符
  +-*/ //(整除) %(取余)!=(不等)<>(不等于)等等比较简单不再列举

逻辑运算
  and or not
  优先级:(括号)>not>and>or
  计算 x or y x为非零,则返回x,否则返回y
     x and y x为非零,返回y,否则返回x

思考:1>2 and 3 or 4 and 3<2
   

6 or 2>1 -->6
0 or 5<4 -->False
5<4 or 3 -->3
2>1 or 6 -->True
3 and 2>1 -->True
0 and 3>1 -->0
2>1 and 3 -->3    

字符串

索引和切片

对字符串的任何操作都会形成新的字符串
源字符串不变

#字符串切片举例
s = 'qwsdef'
s1 = s[0]
s2 = s[2:3]#含头不含尾
s3 = s[:]#表示选取整个字符串
s4 = s[0:]#表示选取整个字符串
s5 = s[0:5:2]#表示在s[0]到s[5]中每两个取一个
s6 = s[4:0:-1]#表示倒着取值
View Code

字符串常见操作

 1 str的常见操作
 2 str = '  abcde fgHJ uyhj  '
 3 s1 = str.capitalize()#首字母大写
 4 s2 = str.upper()#变大写
 5 s3 = str.lower()#变小写
 6 s4 = str.swapcase()#大小写反转
 7 s5 = str.title()#以特殊字符或者数字隔开的每一个字符串首字母大写
 8 s6 = str.center(20,'*')#居中,字符填充
 9 len = len(str)#字符串长度
10 flag = str.startswith('abc',2,7)#从str[2]-str[7]是否以abc开头
11 f = str.find('a')#返回索引,找不到返回-1
12 i = str.index('a')#返回索引,找不到报错
13 s7 = str.strip('*')#默认去前后空格,指定字符之后,删除前后指定字符
14 s8 = str.rstrip()#默认去右边空格
15 s9 = str.count('a')#字符串中有多少个指定字符
16 s10 = str.split(' ')#以指定的字符拆分,得到一个列表
17 s11 = str.replace('a','b',1)#把a替换成b 只替换一次,默认全部替换
View Code

字符串格式化输出

 1 #格式化输出之%测试
 2 name = input('name:')
 3 age = input('age:')
 4 hobbiy = input('hobbiy:')
 5 msg = '''
 6 ---------info %s---------
 7 name:%s
 8 age:%d
 9 hobbiy:%s
10 ---------end-------------
11 '''%(name,name,int(age),hobbiy)
12 print(msg)
13 
14 #格式化输出之format测试
15 s = '我叫{},今年{}'.format('dudu',18)
16 print(s)
17 s1 = '我叫{0},今年{1}'.format('dudu',18)
18 print(s1)
19 s2 = '我叫{name},今年{age}'.format(name='dudu',age=18)
View Code

后记

今天学的东西不是很多,嗯,早点回家啦啦啦  

19:11

原文地址:https://www.cnblogs.com/jiangchengcheng/p/9525694.html