Python基础学习计算

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

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

  Python版本:3.陆.二  操作系统: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表示,一个字符对应若干个字节。

  假设要在网络上传输,或许封存到磁盘上,就须求把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基础学习总括(1),python基础学习总括

壹、变量和数据类型

  在Python中,字符串也是壹种数据类型。比较其余数据类型,字符串算是比较复杂的。为何呢?因为字符串不仅含有英文字母,还包涵各国的语言文字。既然字符串包括各国语言,由此字符串还提到编码难点。

字符串格式化

  最终1个广大的主题材料是怎么样输出格式化的字符串。大家平日会输出接近'亲爱的xxx你好!你xx月的话费是xx,余额是xx'等等的字符串,而xxx的剧情都以依赖变量变化的,所以,供给一种方便人民群众的格式化字符串的点子。

  c语言中能够接纳%来调控输出的格式,python中也就好像。

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 %'

  字符串格式化的其余一种形式:使用.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版本:3.陆.二 操作系统:Windows 作者:SmallWZQ
在Python中,字符串也是壹种数据类型。比较别的数据类型…

一、变量和数据类型

1.1变量

  一.各类变量都存款和储蓄了三个值——与变量相关联的音讯。

  2.变量不但可以为整数或浮点数,还足以是字符串,能够是随便数据类型。

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

1.1变量

1.各样变量都存款和储蓄了3个值——与变量相关联的音讯。

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

一.壹.一变量的命名和行使

  变量名只可以分包字母、数字和下划线,且数字不可能当先。变量名无法包蕴空格,但足以行使下划线间隔。不能够把python关键字和函数名作为变量名。变量名应既轻巧又具备描述性。慎用小写字母l和大写字母O,轻巧和一,0混淆。

  示例代码如下:

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

变量名只可以分包字母、数字和下划线,且数字不可能抢先。变量名无法包蕴空格,但可以运用下划线间隔。不可能把python关键字和函数名作为变量名。变量名应既简约又兼备描述性。慎用小写字母l和大写字母O,因为它们恐怕被人错看成数字一和0。

一.壹.2用到变量时防止命名错误

  出现谬误时表达器会提供2个traceback(回溯)。Traceback是一条记下,提出了何等地点出现谬误,彰显错误提示。

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

壹.1.二选取变量时防止命名错误

并发谬误时说明器会提供二个traceback(回溯)。Traceback是一条记下,建议了何等地方陷入困境。

1.2字符串str

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

  2.Unicode专门的学业也在不断进步,但最常用的是用三个字节表示一个字符(假使要用到至极偏僻的字符,就须求五个字节)。现代操作系统和多数编制程序语言都一直帮助Unicode。把Unicode编码转化为“可变长编码”的UTF-8编码。

  字符串扶助拼接语法。

1.2字符串str

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

二.Unicode正规也在时时刻刻升华,但最常用的是用八个字节表示一个字符(借使要用到特别偏僻的字符,就需求五个字节)。当代操作系统和抢先1/三编制程序语言都一直匡助Unicode。把Unicode编码转化为“可变长编码”的UTF-8编码。

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

‘ABC’.encode(‘ascii’)

b’ABC

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

b’ABC’.decode(‘ascii’)

‘ABC

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

>>> ord(‘A’)

65

>>> ord(‘中’)

20013

>>> chr(66)

‘B’

>>> chr(25991)

‘文’

5.要计算str包括多少个字符,能够用len()函数,len()函数总结的是str的字符数,假若换来bytes,len()函数就总括字节数。可知,二个中文字符经过UTF-八编码后经常会占领叁个字节,而三个英文字符只占用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'

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

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

  5.要总结str包罗多少个字符,能够用len()函数,len()函数计算的是str的字符数,即使换来bytes,len()函数就总括字节数。可知,三个普通话字符经过UTF-8编码后一般会据有三个字节,而二个英文字符只占用贰个字节。

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

  七.贰进制表示法:前缀为0b的字符串,’0b1110’,用bin()把数字转变为二进制。>>>
bin(1肆)  代表为’0b1110′

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

  玖.3贰进制表示法:前缀为0o的字符串,’0o1陆’,用Oct把数字调换为32进制。>>> oct(14) 
代表为 ‘0o16’

  十.行使int(
)能够把其余进制转换为10进制.

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

一.2.壹对字符串的操作

1.主意是Python可对数据实行的操作。

2.title()以首字母大写的办法体现每一个单词,将要各样单词的首字母都改为大写。

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

4.只要字符串至少有三个假名,并且具备字母都是大写或小写,isupper()和
islower()方法就会相应地赶回布尔值 True。不然,该措施重回 False。

五.s阿尔法()再次来到 True,如果字符串只含有字母,并且非空;

陆.isalnum()重回 True,假使字符串只包涵字母和数字,并且非空;

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

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

玖.istitle()再次来到True,假若字符串仅包蕴以大写字母开端、后边都以小写字母的单词。

10.startswith()和 endswith()方法再次回到True,假诺它们所调用的字符串以该方法传入
的字符串伊始或收尾。不然,方法再次回到 False。

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

>>> ‘, ‘.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()方法做的事务恰好相反:它针对2个字符串调用,重返四个字符串列表。也能够向split()方法传入一个分割字符串,内定它依据分裂的字符串分割。

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

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

13.rjust()和
ljust()字符串方法重回调用它们的字符串的填写版本,通过插入空格来
对齐文本。那么些章程的第二个参数是四个整数长度,用于对齐字符串。rjust()和
ljust()方法的第二个可选参数将钦点一个填充字符,替代空格字符。

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

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

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

‘Hello—————‘

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

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

1陆.请务必注意,Python程序是大小写敏感的,假如写错了大小写,程序会报错。

一7.联结——Python使用加号+来统一字符串

1八.足以在字符串开端的引号此前拉长 r,使它产生原始字符串。 “原始字符串”完
全忽略全数的转义字符,打字与印刷出字符串中装有的倒斜杠。

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

 That is Carol\’s cat.

19.删减空白:方法rstrip()右   lstrip()左   strip()两边

20.
语法错误:是壹种时不时会越过的荒谬,在用单引号括起的字符串中,若是带有撇号,就将促成错误。双引号不会。

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

22.pyperclip 模块有 copy()和
paste()函数,可以向Computer的剪贴板发送文书,或从 它接受文本。

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

>>> a = ‘abc’

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

‘Abc’

1.2.一对字符串的操作

  •   title()
    以首字母大写的章程体现各样单词,将要各类单词的首字母都改为大写。
  •   upper()
    将字符串改为1切大写。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()方法做的作业恰好相反:它针对一个字符串调用,再次回到1个字符串列表。也足以向split()方法传入3个分割字符串,钦定它依照不相同的字符串分割。
    >>> 'My name is Simon'.split()
    ['My', 'name', 'is', 'Simon']
    

  •   rjust()和
    ljust()字符串方法再次来到调用它们的字符串的填写版本,通过插入空格来对齐文本。那多个艺术的率先个参数是3个整数长度,用于对齐字符串。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常量

常量正是无法变的变量,比如常用的数学常数π就是三个常量。在Python中,平时用任何大写的变量名表示常量:PI
= 三.14159265359

1.2.3常量

  常量正是不可能变的变量,比如常用的数学常数π就是三个常量。在Python中,平常用全数大写的变量名表示常量:PI
= 3.14159265359。

  贰、repr(),它会创立贰个字符串,以法定的Python表达式的花样来表示值。

1.2.4赋值

在Python中,等号=是赋值语句,能够把自由数据类型赋值给变量,同3个变量能够屡屡赋值,而且可以是见仁见智品种的变量:

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 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中格式化有二种,第叁种用%贯彻,第1种{ } format格式。

‘Hello, %s’ % ‘world’

%
运算符便是用来格式化字符串的。在字符串内部,%s代表用字符串替换,%d代表用整数替换,有多少个%?占位符,后边就跟多少个变量可能值,顺序要对应好。要是唯有3个%?,括号能够省略。常用占位符:

%d  整数

%f  浮点数

%s  字符串

%x  十六进制整数

 

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

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

‘ 3-01’

>>> ‘%.2f’ % 3.1415926

‘3.14’

1经您不太鲜明相应用什么,%s永世起效用,它会把其余数据类型转变为字符串。

有些时候,字符串里面包车型大巴%是贰个平日字符,须要转义,用%%来代表贰个 % 。

其次种格式化方法,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表示用整数替换,有几个%?占位符,前面就跟多少个变量可能值,顺序要对应好。假诺惟有3个%?,括号能够回顾。常用占位符:

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

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

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

  假如您不太明确相应用如何,%s永世起功能,它会把别的数据类型转变为字符串。有些时候,字符串里面包车型客车%是多少个日常字符,供给转义,用%%来代表1个% 。

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

一、平常使用

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

二、还能够通过在括号里填写数字,修改格式化的壹1,0为第7个参数,1为第二个参数。

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

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

>>> 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.

  假使了解字符的平头编码,还是能够用十陆进制这么写str:

1.3数字

1.3数字

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

1.3.1整数 int

可以举行四则运算。

管理器由于使用二进制,所以,有时候用十6进制表示整数相比较有利,十6进制用0x前缀和0-九,a-f表示,举个例子:0xff00,0xa5b四c叁d二,等。

平头的除法是正确的。在Python中,有两种除法,壹种除法是/ ,
/除法总括结果是浮点数,尽管是多个整数恰好整除,结果也是浮点数。还有一种除法是//,称为地板除,四个整数的除法照旧是整数。

% 取余数。

1.3.1整数 int

  1. Computer由于使用2进制,所以,有时候用十6进制表示整数比较便利,十6进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等。
  2. 平头的除法是精确的。在Python中,有三种除法,一种除法是/
    ,
    /除法总计结果是浮点数,固然是多少个整数恰好整除,结果也是浮点数。还有一种除法是//,称为地板除,三个整数的除法依然是整数。
  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是一心相等的。

对此一点都不小或十分小的浮点数,就非得用科学计数法表示,把10用e代替,一.二三x十玖正是一.二3e玖,或然12.3e八,0.00001二得以写成一.二e-⑤,等。

1.3.2浮点数float

  1. Python将带小数的数字都称之为浮点数,之所以称为浮点数,是因为依照科学记数法表示时,二个浮点数的小数点地点是可变的,比方,一.二三x十9和12.3×108是一点1滴相等的。
  2. 亚洲必赢官网,对此相当的大或相当的小的浮点数,就务须用科学计数法表示,把拾用e代替,1.二3x⑩玖便是一.23e九,可能1贰.三e八,0.000012方可写成一.二e-五,等。
  3. 浮点数准确到小数后二11人。

  由于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

  一.施用complex()把数字转化为浮点数。 complex(二) —> (2+0j)

  2.对此复数 z = 柒 + 伍j
,能够用z.real获得实数部分,z.imag获得虚数部分。

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

  假如要在网络上传输,只怕封存到磁盘上,就须求把str变成以字节为单位的bytes。

1.4注释

1.
以#开始的言辞是注释,注释是给人看的,能够是专断内容,解释器会忽略掉注释。别的每壹行都以三个讲话,当语句以冒号:结尾时,缩进的话语视为代码块。

#。。。。。。

二.由于Python源代码也是四个文件文件,所以,当你的源代码中含有粤语的时候,在保存源代码时,就要求务必钦定保存为UTF-八编码。当Python解释器读取源代码时,为了让它按UTF-八编码读取,大家常见在文书发轫写上那两行:

#!/usr/bin/env python3

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

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

一.叁.4施用函数str()幸免不当

  1. 动用 type() 可以持之以恒数据类型,可是type() 不可能对class类的子集进行自己争论。
  2. 数据类型检查也可以用内置函数isinstance()落成,isinstance就足以对class类的子集进行检讨,全数要看情状要雅观清采用采取哪2个:

    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. 以#初叶的言辞是注释,注释是给人看的,能够是轻巧内容,解释器会忽略掉注释。其余每壹行都以2个讲话,当语句以冒号:结尾时,缩进的话语视为代码块。

    一 # 那是个注释

二.出于Python源代码也是一个文书文件,所以,当您的源代码中涵盖普通话的时候,在保存源代码时,就要求务必钦赐保存为UTF-捌编码。当Python解释器读取源代码时,为了让它按UTF-八编码读取,大家一般在文件初叶写上那两行:

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

叁.文书档案字符串的申明 , 
用三对双引号表示,一般用来对函数或类的注明,   ”””      ”””

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

The Zen of Python, by Tim Peters

1、变量和数据类型 一.1变量
一.各类变量都存款和储蓄了三个值——与变量相关联的新闻。 2.变量不…

1.5Python之禅

  要专注区分'ABC'b'ABC',前者是str,后者即使内容彰显得和前者同样,但bytes的种种字符都只占用3个字节。 

在命令行中输入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的内容都以依附变量变化的,所以,须求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() 返回字符串的副本,其中所有基于实例的字符都为大写

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

网站地图xml地图