python基础学习总括,Python基础学习计算

By admin in 4858.com on 2019年4月8日

  Python版本:三.陆.二  操作系统:Windows
 作者:SmallWZQ

Python基础——字符串,python字符串

  Python版本:叁.陆.贰  操作系统:Windows  作者:SmallWZQ

  在Python中,字符串也是一种数据类型。比较别的数据类型,字符串算是相比复杂的。为什么呢?因为字符串不仅富含英文字母,还包含各国的语言文字。既然字符串包罗各国语言,由此字符串还论及编码难点。

  在Python
三.x版本中,字符串是以Unicode编码的,相当于说,Python的字符串协助多语言。

  示例代码如下:

1 #字符串包含中文
2 >>>print('我爱祖国!I love my country!')
3 我爱祖国!I love my country!

  字符串协助拼接语法。

#拼接字符串
>>>x = "Hello,"
>>>y = 'world!'
>>>x + y
'Hello,world!'
>>>print(x + y)
Hello,world!

  在Python中,值被转移为字符串的三种体制:

  壹、str(),它会把值转换为客体形式的字符串,方便用户明白;

  二、repr(),它会创制二个字符串,以合法的Python表明式的款型来表示值。

  对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

1 #ord()和chr()
2 >>> ord('A')
3 65
4 >>> ord('中')
5 20013
6 >>> chr(66)
7 'B'
8 >>> chr(25991)
9 '文'

  假如驾驭字符的平头编码,还足以用十6进制这么写str:

1 #十六进制——字符串编码
2 >>> '\u4e2d\u6587'
3 '中文'

  二种写法完全是等价的。

  由于Python的字符串类型是str,在内存中以Unicode表示,2个字符对应若干个字节。

  假使要在网络上传输,也许封存到磁盘上,就必要把str改为以字节为单位的bytes。

  Python对bytes类型的数码用带b前缀的单引号或双引号表示:

1 #Bytes编码
2 >>>s = b'ACV'
3 >>>print(s)
4 b'ACV'
5 >>>s
6 b'ACV'

  要留意区分'ABC'b'ABC',前者是str,后者固然内容展现得和前者壹样,但bytes的各类字符都只占用三个字节。 

  以Unicode表示的str通过encode()方法能够编码为钦定的bytes,例如:

1 #字符串编码之ASCII、UTF-8
2 >>> 'ABC'.encode('ascii')
3 b'ABC'
4 >>> '中文'.encode('utf-8')
5 b'\xe4\xb8\xad\xe6\x96\x87'
6 >>> '中文'.encode('ascii')
7 Traceback (most recent call last):
8   File "<stdin>", line 1, in <module>
9 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

   供给注意的是,大家得以将str转换来任意编码的bytes。然而在更换含有中文的str时,不能更换到ascii编码的bytes。含有汉语的str不可能用ASCII编码,因为中文编码的限定超过了ASCII编码的范围,Python会报错。

  反过来,就算我们从互连网或磁盘上读取了字节流,那么读到的多寡就是bytes。要把bytes变为str,就须要用decode()方法:

#decode()用法
1 >>> b'ABC'.decode('ascii')
2 'ABC'
3 >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
4 '中文'

  要总结str包涵多少个字符,能够用len()函数:

1 >>> len('ABC')
2 3
3 >>> len('中文')
4 2

  len()函数总括的是str的字符数,若是换到bytes,len()函数就总结字节数:

1 >>> len(b'ABC')
2 3
3 >>> len(b'\xe4\xb8\xad\xe6\x96\x87')
4 6
5 >>> len('中文'.encode('utf-8'))
6 6

  在操作字符串时,我们平时碰着str和bytes的交互转换。

  尤其地,为了防止乱码难点,应当始终坚定不移使用UTF-八编码对str和bytes实行转移。

Python基础学习总括(一),python基础学习总计

一、变量和数据类型

python基础学习总括,Python基础学习计算。  在Python中,字符串也是1种数据类型。比较其余数据类型,字符串算是比较复杂的。为何呢?因为字符串不仅涵盖英文字母,还包罗各国的语言文字。既然字符串包蕴各国语言,由此字符串还涉嫌编码难点。

字符串格式化

  最后1个周围的标题是怎么输出格式化的字符串。我们平常会输出接近'亲爱的xxx你好!你xx月的话费是xx,余额是xx'等等的字符串,而xxx的始末都以基于变量变化的,所以,要求1种便利的格式化字符串的秘籍。

  c语言中得以接纳%来决定输出的格式,python中也类似。

  示例代码如下:

1 #字符串格式化(%)
2 >>> 'Hello, %s' % 'world'
3 'Hello, world'
4 >>> 'Hi, %s, you have $%d.' % ('James', 1000000)
5 'Hi, Michael, you have $1000000.'

  %运算符正是用来格式化字符串的。

  在字符串内部,%s表示用字符串替换,%d代表用整数替换,有多少个%?占位符,后边就跟多少个变量恐怕值,顺序要对应好。倘使唯有贰个%?,括号能够不难。 

常见的占位符
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

  要是你不太分明相应用什么,%s永远起效果,它会把其余数据类型转换为字符串:

1 >>> 'Age: %s. Gender: %s' % (25, True)
2 'Age: 25. Gender: True'

  有读者会有疑难,那碰到字符串本人含有%,如何做吧?

  那个简单,那要转义就OK拉。用%%来代表二个%。

1 #%转义
2 >>> 'growth rate: %d %%' % 7
3 'growth rate: 7 %'

  字符串格式化的别的1种形式:使用.format()。

  它会用传入的参数依次替换字符串内的占位符{0}{1}……,然则那种方式写起来比%要麻烦得多。

  .format()语法如下:

1 #.format语法
2 >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
3 'Hello, 小明, 成绩提升了 17.1%'

  字符串中既涵盖小写字母又包括大写字母,怎样将大写字母转化为小写字母呢?

  在Python中,字符串中有lower()方法。

#字符串lower()方法
>>>x = "HelLO wOrLd!"
>>>x.lower()
'hello world!'

  字符串还提供了无数方法,比如find()、join()、replace()、split()、strip()、upper()、title()、lstrip()、rstrip()等等。其实,方法是为全人类服务的,利用形式能够能够最大化地展示String作用的有力之处。

  find():在字符串中查找子串,并回到子串所在地点的最左端索引。

  join():连接种类中的成分。

  replace():重回某字符串中具备相配项均被交流后的新字符串。

  split():将字符串分隔成类别。

  strip():重返去除两侧(不包含内部)空格的字符串。

  ……

  ……

字符串方法
方法 描述
string.capitalize() 返回首字母大写的字符串的副本
string.center() 返回一个长度为max(len(string),width)且其中String的副本居中的字符串,两侧使用fillchar(默认为空字符串)填充
string.count(sub[,start[,end]]) 计算子字符串sub的出现次数,可将搜索范围限制为string[start,end]
string.find(sub[,start[,end]]) 返回子字符串sub的第一个索引,如果不存在则返回-1,可以定义字符串的搜索范围为string[start:end]
string.isalnum() 检查字符串是否由数字和字母字符组成
string.isalpha() 检查字符串是否由字母字符组成
string.isdigit() 检查字符串是否由数字组成
string.islower() 检查字符串中所有基于实例的字母是否都为小写
string.isspace() 检查字符串是否由空格组成
string.istitle() 检查字符串中不基于实例的字母后面的基于实例的字符都是大写的,且其他的基于实例的字符都是小写的
string.isupper() 检查是否所有的字符串中的基于实例的字符都是大写
string.join(sequence) 返回其中sequence的字符串元素已用String连接的字符串
string.lower() 返回一个字符串的副本,其中所有基于实例的字符都是小写
string.replace(old,new[,max]) 返回字符串的副本,其中old的匹配项都被new替代,可选择最多替换max个
string.split([sep[,maxsplit]]) 返回字符串中所有单词的列表,使用sep作为分隔符(若没有指定特别的分隔符,默认为空格),可使用maxsplit指定最大切分数
string.strip([chars]) 返回字符串的副本,其中所有chars(默认空格)都从字符串的开头和结尾去除(默认为所有空白字符,如空格,tab和换行符)
string.title() 返回字符串的副本,其中单词都以大写字母开头
string.upper() 返回字符串的副本,其中所有基于实例的字符都为大写

  字符串方法还有不少浩大,那里就不详细例举啦~~~

 

Python版本:三.6.二 操作系统:Windows 笔者:SmallWZQ
在Python中,字符串也是1种数据类型。相比较别的数据类型…

一、变量和数据类型

1.1变量

  壹.各样变量都存款和储蓄了三个值——与变量相关联的新闻。

  二.变量不仅能够为整数或浮点数,还是能够是字符串,能够是任意数据类型。

  在Python 三.x本子中,字符串是以Unicode编码的,也正是说,Python的字符串协助多语言。

1.1变量

一.各样变量都存款和储蓄了二个值——与变量相关联的音信。

贰.变量不但可以为整数或浮点数,仍可以是字符串,能够是自由数据类型。

1.壹.一变量的命名和采用

  变量名只好分包字母、数字和下划线,且数字无法超越。变量名不能够包蕴空格,但足以选择下划线间隔。无法把python关键字和函数名作为变量名。变量名应既简便易行又具有描述性。慎用小写字母l和大写字母O,不难和1,0混淆。

  示例代码如下:

1.一.一变量的命名和动用

变量名只可以分包字母、数字和下划线,且数字不能够超过。变量名不能够蕴含空格,但能够动用下划线间隔。不能够把python关键字和函数名作为变量名。变量名应既简便易行又怀有描述性。慎用小写字母l和大写字母O,因为它们大概被人错看成数字1和0。

一.一.2行使变量时幸免命名错误

  出现谬误时表达器会提供1个traceback(回溯)。Traceback是一条记下,建议了哪些地方出现谬误,展现错误指示。

1 #字符串包含中文
2 >>>print('我爱祖国!I love my country!')
3 我爱祖国!I love my country!

一.1.二施用变量时幸免命名错误

出现谬误时表明器会提供一个traceback(回溯)。Traceback是一条记下,提议了哪些地点陷入困境。

1.2字符串str

  1.字符串正是一雨后冬笋字符。是一种数据类型,在Python中用引号括起的都以字符串,可单引号也可双引号

  二.Unicode正规也在时时刻刻上扬,但最常用的是用几个字节表示3个字符(如果要用到尤其偏僻的字符,就供给多个字节)。现代操作系统和多数编制程序语言都一直扶助Unicode。把Unicode编码转化为“可变长编码”的UTF-捌编码。

  字符串援助拼接语法。

1.2字符串str

1.字符串正是一层层字符。是一种数据类型,在Python中用引号括起的都是字符串,可单引号也可双引号

二.Unicode正经也在频频前进,但最常用的是用多个字节表示2个字符(如若要用到充足偏僻的字符,就必要四个字节)。现代操作系统和大部分编制程序语言都平昔援救Unicode。把Unicode编码转化为“可变长编码”的UTF-捌编码。

三.Python对bytes类型的数额用带b前缀的单引号或双引号表示:x =
b’ABC’。以Unicode表示的str通过encode()方法可以编码为钦命的bytes。

‘ABC’.encode(‘ascii’)

b’ABC

扭动,假若大家从互联网或磁盘上读取了字节流,那么读到的数额正是bytes。要把bytes变为str,就需求用decode()方法:

b’ABC’.decode(‘ascii’)

‘ABC

4.
对于单个字符的编码,Python提供了ord()函数获取字符的平头表示,chr()函数把编码转换为相应的字符:

>>> ord(‘A’)

65

>>> ord(‘中’)

20013

>>> chr(66)

‘B’

>>> chr(25991)

‘文’

伍.要计算str包括多少个字符,可以用len()函数,len()函数总结的是str的字符数,假使换来bytes,len()函数就总计字节数。可知,壹当中文字符经过UTF-8编码后一般会占有1个字节,而1个英文字符只占用二个字节。

  三.Python对bytes类型的数量用带b前缀的单引号或双引号表示:x

b’ABC’。以Unicode表示的str通过encode()方法能够编码为钦命的bytes。

>>> 'ABC'.encode('ascii')
b'ABC'

  反过来,要是我们从互联网或磁盘上读取了字节流,那么读到的数码正是bytes。要把bytes变为str,就供给用decode()方法:

>>> b'ABC'.decode('ascii')
'ABC'

  4.
对此单个字符的编码,Python提供了ord()函数获取字符的平头表示,chr()函数把编码转换为相应的字符:

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

  五.要总结str包蕴多少个字符,可以用len()函数,len()函数总计的是str的字符数,假使换成bytes,len()函数就总括字节数。可见,3个普通话字符经过UTF-八编码后平时会占据一个字节,而3个英文字符只占用三个字节。

  6.当num<0时,bin(num + 2**32),转化为16位的二进制。也可以用bin(num & 0xffffffff)转化为16位的二进制,两种方法效果是一样的。

  7.二进制表示法:前缀为0b的字符串,’0b1110’,用bin()把数字转换为二进制。>>>
bin(14)  代表为’0b11十’

  八.1陆进制表示法:前缀为0x的字符串,’0xe’用hex()把数字转换为1陆进制。>>> hex(1四)
表示为 ‘0xe’

  玖.3二进制表示法:前缀为0o的字符串,’0o1陆’,用Oct把数字转换为32进制。>>> oct(1四) 
表示为 ‘0o1陆’

  十.接纳int(
)可以把任何进制转换为10进制.

>>> int('1001', 2)
9
>>> int('2333', 16)
9011
#拼接字符串
>>>x = "Hello,"
>>>y = 'world!'
>>>x + y
'Hello,world!'
>>>print(x + y)
Hello,world!

一.贰.一对字符串的操作

壹.格局是Python可对数据举行的操作。

4858.com,贰.title()以首字母大写的方法体现每一种单词,即将每一种单词的首字母都改为大写。

3.upper()将字符串改为整个大写。lower()将字符串改为一体大写。

4.只要字符串至少有一个字母,并且有着字母都以大写或小写,isupper()和
islower()方法就会相应地重临布尔值 True。否则,该措施重回 False。

5.s阿尔法()重临 True,假诺字符串只包蕴字母,并且非空;

陆.isalnum()再次来到 True,假设字符串只含有字母和数字,并且非空;

柒.sdecimal()重返 True,如若字符串只包罗数字字符,并且非空;

八.sspace()重临 True,如若字符串只含有空格、制表符和换行,并且非空;

玖.istitle()返回True,如若字符串仅包含以大写字母开首、后边都是小写字母的单词。

拾.startswith()和 endswith()方法重回True,假如它们所调用的字符串以该办法传入
的字符串初始或终止。不然,方法重返 False。

11.join()方法在一个字符串上调用,参数是二个字符串列表,重返二个字符串。

>>> ‘, ‘.join([‘cats’, ‘rats’, ‘bats’])

‘cats, rats, bats’

>>> ‘ ‘.join([‘My’, ‘name’, ‘is’, ‘Simon’])

‘My name is Simon’

 >>> ‘ABC’.join([‘My’, ‘name’, ‘is’, ‘Simon’])

‘MyABCnameABCisABCSimon’

1二.split()方法做的事情恰好相反:它针对三个字符串调用,再次来到3个字符串列表。也足以向split()方法传入七个分割字符串,钦定它根据不一样的字符串分割。

>>> ‘My name is Simon’.split()

[‘My’, ‘name’, ‘is’, ‘Simon’]

一3.rjust()和
ljust()字符串方法重回调用它们的字符串的填写版本,通过插入空格来
对齐文本。那八个法子的率先个参数是三个整数长度,用于对齐字符串。rjust()和
ljust()方法的第3个可选参数将点名3个填充字符,取代空格字符。

>>> ‘Hello’.rjust(20, ‘*’)

‘***************Hello’

 >>> ‘Hello’.ljust(20, ‘-‘)

‘Hello—————‘

1四.center()字符串方法与 ljust()与
rjust()类似,但它让文本居中,而不是左对齐或右对齐。

一伍.sort()将字符串排序。

1陆.请务必注意,Python程序是高低写敏感的,如若写错了尺寸写,程序会报错。

17.合并——Python使用加号+来归并字符串

1八.得以在字符串早先的引号以前增进 r,使它成为原始字符串。 “原始字符串”完
全忽略全部的转义字符,打字与印刷出字符串中享有的倒斜杠。

>>> print(r’That is Carol\’s cat.’)

 That is Carol\’s cat.

1玖.刨除空白:方法rstrip()右   lstrip()左   strip()两边

20.
语法错误:是1种时不时会赶上的荒谬,在用单引号括起的字符串中,固然含有撇号,就将招致错误。双引号不会。

二一.Print() 打字与印刷,逗号会空壹格。

2贰.pyperclip 模块有 copy()和
paste()函数,能够向电脑的剪贴板发送文书,或从 它接受文本。

二三.字符串有个replace()方法

>>> a = ‘abc’

>>> a.replace(‘a’, ‘A’)

‘Abc’

一.二.一对字符串的操作

  •   title()
    以首字母大写的办法展示各类单词,即将每种单词的首字母都改为大写。
  •   upper()
    将字符串改为全体大写。lower()将字符串改为一切大写。
  •   capitalize() 将字符串的率先个字符转换为大写。
  •   假如字符串至少有叁个字母,并且有所字母都以大写或小写,isupper()和
    islower()方法就会相应地回到布尔值 True。不然,该措施重临False。
  •   s阿尔法() 重返True,假若字符串只包涵字母,并且非空;
  •   isalnum() 重临True,借使字符串只含有字母和数字,并且非空;
  •   sdecimal() 再次回到True,假若字符串只包罗数字字符,并且非空;
  •   sspace() 重临True,要是字符串只包涵空格、制表符和换行,并且非空;
  •   istitle() 再次回到True,要是字符串仅包蕴以大写字母起初、前边都以小写字母的单词。
  •   startswith()和 endswith()方法重返True,即使它们所调用的字符串以该办法传入的字符串开头或甘休。不然,方法再次回到False。
  •   count()
    再次回到str在字符串中冒出的次数。能够内定范围,添加参数beg 也许end。
  •   join()方法在1个字符串上调用,参数是贰个字符串列表,重临三个字符串。
  • ‘, ‘.join([‘cats’, ‘rats’, ‘bats’])
    ‘cats, rats, bats’
    ‘ ‘.join([‘My’, ‘name’, ‘is’, ‘Simon’])
    ‘My name is Simon’
    ‘ABC’.join([‘My’, ‘name’, ‘is’, ‘Simon’])
    ‘MyABCnameABCisABCSimon’

  •   split()方法做的作业恰好相反:它针对3个字符串调用,再次回到多少个字符串列表。也足以向split()方法传入三个分割字符串,内定它遵照分化的字符串分割。
    >>> 'My name is Simon'.split()
    ['My', 'name', 'is', 'Simon']
    

  •   rjust()和
    ljust()字符串方法重临调用它们的字符串的填充版本,通过插入空格来对齐文本。那八个办法的第多少个参数是1个整数长度,用于对齐字符串。rjust()和
    ljust()方法的第二个可选参数将点名二个填充字符,取代空格字符。

    >>> 'Hello'.rjust(20, '*')
    '***************Hello'
     >>> 'Hello'.ljust(20, '-')
    'Hello---------------'
    

  •     center()字符串方法与 ljust()与
    rjust()类似,但它让文本居中,而不是左对齐或右对齐。
  •   sort()将字符串排序。
  •   注意,Python对大大小小写很灵巧,假设写错了大小写,程序会报错。
  •       
    合并——Python使用加号+来统一字符串。
  •    删除空白:方法rstrip()右,  
    lstrip()左,  
    strip()两边,strip()也能够带参数,删除钦定内容。
  •   语法错误:在用单引号括起的字符串中,假如含有撇号,就将造成错误。双引号不会。
  •   Print()
    打字与印刷,添加逗号会空一格。
  •   pyperclip 模块有 copy()和
    paste()函数,能够向电脑的剪贴板发送文书,或从它接受文本。
  •   字符串有个replace()方法,能够替换钦点内容。
    >>> a = 'abc'
    >>> a.replace('a', 'A')
    'Abc'
    

  在Python中,值被更换为字符串的三种体制:

1.2.2空值

空值是Python里2个与众分化的值,用None表示。None无法了然为0,因为0是有含义的,而None是贰个特种的空值。

1.2.2空值

  空值是Python里二个非同小可的值,用None表示。None不可能驾驭为0,因为0是有意义的,而None是贰个至极的空值。

  一、str(),它会把值转换为合理情势的字符串,方便用户知道;

1.2.3常量

常量正是无法变的变量,比如常用的数学常数π正是1个常量。在Python中,经常用全体大写的变量名表示常量:PI
= 三.1415926535玖

1.2.3常量

  常量正是无法变的变量,比如常用的数学常数π就是1个常量。在Python中,日常用任何大写的变量名表示常量:PI
= 3.1415926535九。

  贰、repr(),它会创建3个字符串,以法定的Python表明式的方式来代表值。

1.2.4赋值

在Python中,等号=是赋值语句,能够把自由数据类型赋值给变量,同三个变量能够屡屡赋值,而且能够是不相同门类的变量:

a = 123 # a是整数

print(a)

a = ‘ABC’ # a变为字符串

print(a)

赋值语句:a, b = b, a + b

t = (b, a + b) # t是一个tuple

a = t[0]

b = t[1]

1.2.4赋值

  在Python中,等号=是赋值语句,能够把自由数据类型赋值给变量,同二个变量能够屡屡赋值,而且可以是例外门类的变量:

>>>a = 123 # a是整数
>>>print(a)
123
>>>a = 'ABC' # a变为字符串
>>>print(a)
 'ABC'

  赋值语句:a, b = b, a +
b,这种赋值1二分有益。用这种赋值能够很自在的构造斐波那契数列:

1 fib = [0, 1]  # 构造fib数列
2 a, b = 0, 1
3 while b < 1000:
4     a, b = b, a + b
5     fib.append(b)
6 
7 print(fib)
8 
9 输出:[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597]

  对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为相应的字符:

1.2.5格式化

Python中格式化有二种,第三种用%落到实处,第一种{ } format格式。

‘Hello, %s’ % ‘world’

%
运算符正是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d代表用整数替换,有多少个%?占位符,前面就跟多少个变量或然值,顺序要对应好。借使唯有四个%?,括号能够简简单单。常用占位符:

%d  整数

%f  浮点数

%s  字符串

%x  十六进制整数

 

内部,格式化整数和浮点数还足以钦赐是不是补0和整数与小数的位数:

>>> ‘%2d-%02d’ % (3, 1)

‘ 3-01’

>>> ‘%.2f’ % 3.1415926

‘3.14’

壹经您不太明确相应用什么,%s永远起成效,它会把其它数据类型转换为字符串。

稍许时候,字符串里面包车型大巴%是2个常常字符,要求转义,用%%来代表叁个 % 。

其次种格式化方法,format,通过 {} 来代表 % 。

壹、日常使用

>>> print("我叫{},今年{}岁了".format("小李", 20))

我叫小李,今年20岁了

二、还是能透过在括号里填写数字,修改格式化的相继

>>> print("我叫{1},今年{0}岁了".format("小李", 20))

我叫20,今年小李岁了

3、通过key取变量

>>> print("我叫{name},今年{age}岁了".format(name="小李", age=20))

我叫小李,今年20岁了

1.2.5格式化

  Python中格式化有二种,第二种用%兑现,第二种{ } format格式。

  %
运算符正是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d代表用整数替换,有多少个%?占位符,后边就跟多少个变量恐怕值,顺序要对应好。假定唯有二个%?,括号能够差不多。常用占位符:

  • %d  整数
  • %f  浮点数
  • %s  字符串
  • %x  十六进制整数

  在那之中,格式化整数和浮点数还足以内定是不是补0和整数与小数的位数:

>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'

  假使你不太分明相应用哪些,%s永远起效果,它会把任何数据类型转换为字符串。有些时候,字符串里面包车型大巴%是多个平时字符,须要转义,用%%来代表两个% 。

  第两种格式化方法,format,通过 {}
来代表 % 。

一、符合规律使用

>>> print("我叫{},今年{}岁了".format("小李", 20))
我叫小李,今年20岁了

二、还是能够透过在括号里填写数字,修改格式化的逐条,0为第三个参数,1为第三个参数。

>>> print("我叫{1},今年{0}岁了".format("小李", 20))
我叫20,今年小李岁了

3、通过key取变量,通过设定至关心重视要字,能够在 {
}中央直机关接钦命关键字,不用管format中参数的1一。

>>> print("我叫{name},今年{age}岁了".format(name="小李", age=20))
我叫小李,今年20岁了
1 #ord()和chr()
2 >>> ord('A')
3 65
4 >>> ord('中')
5 20013
6 >>> chr(66)
7 'B'
8 >>> chr(25991)
9 '文'

一.二.陆转义字符

空白——泛指任何非打字与印刷字符,如空格、制表符和换行符。

转义字符\能够转义很多字符 \t 制表符    \n 换行

字符\自小编也要转义,所以\\表示的字符就是\

只要字符串里面有数不胜数字符都亟待转义,Python中得以用r”表示”内部的字符串私下认可不转义:

>>> print(‘\\\t\\’)

\       \

>>> print(r’\\\t\\’)

\\\t\\

壹.二.六转义字符

  1. 空荡荡——泛指任何非打字与印刷字符,如空格、制表符和换行符。
  2. 转义字符\能够转义很多字符 \t 制表符
    ,\n 换行符。
  3. 字符\本身也要转义,所以\\表示的字符就是\
  4. 若果字符串里面有诸多字符都急需转义,Python中得以用
    r”表示” 内部的字符串暗许不转义(原始字符串):

    print(‘\\t\’)
    \ \
    print(r’\\t\’)
    \\t\
    print(r’That is Carol\’s cat.’)
    That is Carol\’s cat.

  假设知道字符的平头编码,还足以用十6进制这么写str:

1.3数字

1.3数字

1 #十六进制——字符串编码
2 >>> '\u4e2d\u6587'
3 '中文'

1.3.1整数 int

能够开始展览4则运算。

电脑由于应用二进制,所以,有时候用十6进制表示整数比较便于,十陆进制用0x前缀和0-九,a-f代表,例如:0xff00,0xa5b四c3d二,等。

平头的除法是精确的。在Python中,有二种除法,1种除法是/ ,
/除法总结结果是浮点数,固然是五个整数恰好整除,结果也是浮点数。还有一种除法是//,称为地板除,五个整数的除法照旧是整数。

% 取余数。

1.3.1整数 int

  1. 电脑由于应用2进制,所以,有时候用十陆进制表示整数相比较有利,十陆进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等。
  2. 平头的除法是精确的。在Python中,有两种除法,1种除法是/
    ,
    /除法计算结果是浮点数,就算是八个整数恰好整除,结果也是浮点数。还有一种除法是//,称为地板除,多个整数的除法如故是整数。
  3. % 取余数。
  4. ** 表示次方,例如 a**b,即 a 的 b
    次方。
  5. pow(x, y)函数,计算x的y次方,例如:pow(2, 10) = 1024,pow(2, 15) =
    32768 。

  二种写法完全是等价的。

1.3.2浮点数float

Python将带小数的数字都称呼浮点数,之所以称为浮点数,是因为遵照科学记数法表示时,二个浮点数的小数点地点是可变的,比如,一.2三x109和12.3×108是截然相等的。

对此十分大或相当小的浮点数,就务须用科学计数法表示,把十用e替代,一.2叁x十玖正是一.二三e九,或然12.三e八,0.00001二得以写成壹.二e-5,等。

1.3.2浮点数float

  1. Python将带小数的数字都号称浮点数,之所以称为浮点数,是因为根据科学记数法表示时,二个浮点数的小数点地方是可变的,比如,1.23x十9和12.3×108是全然相等的。
  2. 对此极大或十分小的浮点数,就必须用科学计数法表示,把10用e替代,1.2三x十九就是一.2三e9,恐怕1二.3e8,0.00001二方可写成1.2e-伍,等。
  3. 浮点数精确到小数后一伍个人。

  由于Python的字符串类型是str,在内存中以Unicode表示,三个字符对应若干个字节。

1.三.3施用函数str()幸免不当

数据类型检查能够用内置函数isinstance()达成:

def my_abs(x):

    if not isinstance(x, (int, float)):

        raise TypeError(‘bad operand type’)

    if x >= 0:

        return x

    else:

        return -x

1.3.3复数complex

  1.使用complex()把数字转化为浮点数。 complex(贰) —> (2+0j)

  二.对于复数 z = 七 + 伍j
,能够用z.real得到实数部分,z.imag获得虚数部分。

  三.复数的虚数部分通过加 j 或 J 来标识。

  假如要在互连网上传输,恐怕封存到磁盘上,就需求把str成为以字节为单位的bytes。

1.4注释

1.
以#发轫的言语是注释,注释是给人看的,能够是随意内容,解释器会忽略掉注释。别的每一行都以3个说话,当语句以冒号:结尾时,缩进的讲话视为代码块。

#。。。。。。

二.是因为Python源代码也是3个文本文件,所以,当您的源代码中带有普通话的时候,在保存源代码时,就供给务必内定保存为UTF-八编码。当Python解释器读取源代码时,为了让它按UTF-八编码读取,大家无独有偶在文件开端写上那两行:

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

三.文书档案字符串的注释   ”””      ”””

1.3.四使用函数str()制止不当

  1. 行使 type() 能够百折不回数据类型,不过type() 无法对class类的子集实行自俺批评。
  2. 数据类型检查也足以用内置函数isinstance()实现,isinstance就足以对class类的子集进行自小编批评,全部要看状态要好判断采取使用哪三个:

    1 def my_abs(x):
    2 if not isinstance(x, (int, float)):
    3 raise TypeError(‘bad operand type’)
    4 if x >= 0:
    5 return x
    6 else:
    7 return -x

  Python对bytes类型的数额用带b前缀的单引号或双引号表示:

1.5Python之禅

1.4注释

  1. 以#千帆竞发的言语是注释,注释是给人看的,能够是任意内容,解释器会忽略掉注释。别的每一行都以二个说话,当语句以冒号:结尾时,缩进的话语视为代码块。

    1 # 那是个注释

2.由于Python源代码也是3个文件文件,所以,当你的源代码中富含普通话的时候,在保存源代码时,就要求务必钦赐保存为UTF-八编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,大家普通在文书开始写上那两行:

1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-

叁.文书档案字符串的诠释 , 
用3对双引号表示,一般用于对函数或类的认证,   ”””      ”””

1 #Bytes编码
2 >>>s = b'ACV'
3 >>>print(s)
4 b'ACV'
5 >>>s
6 b'ACV'

The Zen of Python, by Tim Peters

一、变量和数据类型 一.一变量
一.每一个变量都存储了2个值——与变量相关联的音讯。 二.变量不…

1.5Python之禅

  要留意区分'ABC'b'ABC',前者是str,后者即便内容突显得和前者一样,但bytes的种种字符都只占用一个字节。 

在命令行中输入import this打字与印刷出python之禅

  以Unicode表示的str通过encode()方法能够编码为钦赐的bytes,例如:

The Zen of Python, by Tim Peters

  1. Beautiful is better than ugly.
  2. Explicit is better than
    implicit.
  3. Simple is better than complex.
  4. Complex is better than
    complicated.
  5. Flat is better than nested.
  6. Sparse is better than dense.
  7. Readability counts.
  8. Special cases aren’t special enough to
    break the rules.
  9. Although practicality beats
    purity.
  10. Errors should never pass
    silently.
  11. Unless explicitly silenced.
  12. In the face of ambiguity, refuse the
    temptation to guess.
  13. There should be one– and preferably
    only one –obvious way to do it.
  14. Although that way may not be obvious
    at first unless you’re Dutch.
  15. Now is better than never.
  16. Although never is often better than
    *right* now.
  17. If the implementation is hard to
    explain, it’s a bad idea.
  18. If the implementation is easy to
    explain, it may be a good idea.
  19. Namespaces are one honking great idea
    — let’s do more of those!
1 #字符串编码之ASCII、UTF-8
2 >>> 'ABC'.encode('ascii')
3 b'ABC'
4 >>> '中文'.encode('utf-8')
5 b'\xe4\xb8\xad\xe6\x96\x87'
6 >>> '中文'.encode('ascii')
7 Traceback (most recent call last):
8   File "<stdin>", line 1, in <module>
9 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

   供给注意的是,我们得以将str转换来任意编码的bytes。然则在更换含有中文的str时,不能够更换来ascii编码的bytes。含有普通话的str不恐怕用ASCII编码,因为中文编码的范围当先了ASCII编码的界定,Python会报错。

  反过来,假诺大家从网络或磁盘上读取了字节流,那么读到的数目便是bytes。要把bytes变为str,就须要用decode()方法:

#decode()用法
1 >>> b'ABC'.decode('ascii')
2 'ABC'
3 >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
4 '中文'

  要总计str包蕴多少个字符,能够用len()函数:

1 >>> len('ABC')
2 3
3 >>> len('中文')
4 2

  len()函数总括的是str的字符数,若是换到bytes,len()函数就计算字节数:

1 >>> len(b'ABC')
2 3
3 >>> len(b'\xe4\xb8\xad\xe6\x96\x87')
4 6
5 >>> len('中文'.encode('utf-8'))
6 6

  在操作字符串时,大家平常碰到str和bytes的竞相转换。

  尤其地,为了制止乱码难点,应当始终坚持不渝使用UTF-八编码对str和bytes进行转移。

字符串格式化

  最后三个大面积的题材是怎么着输出格式化的字符串。大家平常会输出接近'亲爱的xxx你好!你xx月的话费是xx,余额是xx'等等的字符串,而xxx的剧情都以基于变量变化的,所以,必要一种便民的格式化字符串的主意。

  c语言中得以接纳%来支配输出的格式,python中也就像。

  示例代码如下:

1 #字符串格式化(%)
2 >>> 'Hello, %s' % 'world'
3 'Hello, world'
4 >>> 'Hi, %s, you have $%d.' % ('James', 1000000)
5 'Hi, Michael, you have $1000000.'

  %运算符就是用来格式化字符串的。

  在字符串内部,%s表示用字符串替换,%d代表用整数替换,有多少个%?占位符,前面就跟多少个变量只怕值,顺序要对应好。若是唯有1个%?,括号能够简简单单。 

常见的占位符
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

  假使你不太鲜明相应用什么,%s永远起效果,它会把别的数据类型转换为字符串:

1 >>> 'Age: %s. Gender: %s' % (25, True)
2 'Age: 25. Gender: True'

  有读者会不常常,那境遇字符串本身含有%,如何是好吧?

  这些简单,那要转义就OK拉。用%%来代表三个%。

1 #%转义
2 >>> 'growth rate: %d %%' % 7
3 'growth rate: 7 %'

  字符串格式化的别的1种情势:使用.format()。

  它会用传入的参数依次替换字符串内的占位符{0}{1}……,但是那种格局写起来比%要麻烦得多。

  .format()语法如下:

1 #.format语法
2 >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
3 'Hello, 小明, 成绩提升了 17.1%'

  字符串中既包蕴小写字母又富含大写字母,怎样将大写字母转化为小写字母呢?

  在Python中,字符串中有lower()方法。

#字符串lower()方法
>>>x = "HelLO wOrLd!"
>>>x.lower()
'hello world!'

  字符串还提供了很多主意,比如find()、join()、replace()、split()、strip()、upper()、title()、lstrip()、rstrip()等等。其实,方法是为全人类服务的,利用方式能够能够最大化地显示String功效的强硬之处。

  find():在字符串中查找子串,并赶回子串所在地点的最左端索引。

  join():连接类别中的成分。

  replace():重回某字符串中具有相配项均被替换后的新字符串。

  split():将字符串分隔成体系。

  strip():返回去除两侧(不包罗内部)空格的字符串。

  ……

  ……

字符串方法
方法 描述
string.capitalize() 返回首字母大写的字符串的副本
string.center() 返回一个长度为max(len(string),width)且其中String的副本居中的字符串,两侧使用fillchar(默认为空字符串)填充
string.count(sub[,start[,end]]) 计算子字符串sub的出现次数,可将搜索范围限制为string[start,end]
string.find(sub[,start[,end]]) 返回子字符串sub的第一个索引,如果不存在则返回-1,可以定义字符串的搜索范围为string[start:end]
string.isalnum() 检查字符串是否由数字和字母字符组成
string.isalpha() 检查字符串是否由字母字符组成
string.isdigit() 检查字符串是否由数字组成
string.islower() 检查字符串中所有基于实例的字母是否都为小写
string.isspace() 检查字符串是否由空格组成
string.istitle() 检查字符串中不基于实例的字母后面的基于实例的字符都是大写的,且其他的基于实例的字符都是小写的
string.isupper() 检查是否所有的字符串中的基于实例的字符都是大写
string.join(sequence) 返回其中sequence的字符串元素已用String连接的字符串
string.lower() 返回一个字符串的副本,其中所有基于实例的字符都是小写
string.replace(old,new[,max]) 返回字符串的副本,其中old的匹配项都被new替代,可选择最多替换max个
string.split([sep[,maxsplit]]) 返回字符串中所有单词的列表,使用sep作为分隔符(若没有指定特别的分隔符,默认为空格),可使用maxsplit指定最大切分数
string.strip([chars]) 返回字符串的副本,其中所有chars(默认空格)都从字符串的开头和结尾去除(默认为所有空白字符,如空格,tab和换行符)
string.title() 返回字符串的副本,其中单词都以大写字母开头
string.upper() 返回字符串的副本,其中所有基于实例的字符都为大写

  字符串方法还有许多过多,那里就不详细例举啦~~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有