Python基础(一)-变量、字符串、数

基础概念(一)

变量

变量是可以赋值给值得标签,也可以说变量指向特定得值。

在Python中使用变量,需要遵守一些规则和指南:

  • 变量名只能包含字母、数字和下划线。变量名能以字母或下划线开头,但不能以数字开头;

  • 变量名不能包含空格,但能使用下划线来分割其中的单词;

  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词;

  • 变量名应简短又具有描述性;

  • 慎用小写字母l和大写字母O,因为它们可能被人看错;

同时给多个变量赋值

可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。

>>> x, y, z = 0, 0, 0

常量

常量类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python成员会使用全大写来指出某个变量视为常量,其值应始终不变:

MAX_CONNECTIONS = 5000

在代码中,要指出应将特定的变量视为常量,可将其字母全部大写。

整数

在Python中,可对整数执行加减乘除运算。

浮点数

Python将所有带小数点得数据称为浮点数。大多数编程语言使用了这个术语,它指出了这样一个事实:小数点可出现在数得任何位置。

整数和浮点数

将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:

>>> 4/2
2.0

在其他任何运算中,如果一个操作数是一个整数,另一个操作数是浮点数,结果也总是浮点数:

>>> 1 + 2.0
3.0
>>> 3.0 ** 2
9.0

无论是哪种运算,只要有操作数是浮点数,Python默认得到得总是浮点数,即便结果原本为整数也是如此。

数中的下划线

当书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:

>>> universe_age = 14_000_000_000
>>> print(universe_age)
14000000000

Python运算符,优先级从高到底

 

 

 

字符串

字符串操作

文本是程序需要处理的最常见的数据形式。

处理字符串

字符串字面量

在python中输入字符串相当简单的:它们以单引号开始和结束。

双引号

字符串可以用双引号开始和结束。使用双引号的一个好处,就是字符串中可以使用单引号字符。

spam = "That is Alice's cat."

因为字符串以双引号开始,所以Python知道单引号是字符串的一部分,而不是表示字符串的结束。

转义字符

“转义字符”让你输入一些字符,它们用其他方式是不可能放在字符串里的。转义字符包含一个倒斜杠(\)。

spam = 'Say hi to Bob\'s mother '

 

原始字符串

”原始字符串“完全忽略所有的转义字符,打印出字符串中的所有倒斜杠

print(r'That is carol\'s cat.')

用三重引号的多行字符串

在Python中,多行字符串的起止是3个单引号或3个双引号。”三重引号“之间的所有引号、制表符或换行,都被认为是字符串的一部分。Python的代码块缩进规则不适用于多行字符串。

多行注释

虽然#号表示这一行是注释,但多行字符串常常用作多行注释。

字符串下标和切片

字符串像列表一样,使用下标和切片。可以将字符串’Hello world!‘看成是一个列表,字符串中的每个字符都是一个表项,有对应的下标。

字符计数包含了空格和感叹号,所以'Hello world!'有12个字符,H的下标是0,!的下标是11。

请注意,字符串切片并没有修改原来的字符串。可以从一个变量中获取切片,记录在另一个变量中。

字符串的in和not in操作符

用in或not in连接两个字符串得到的表达式,将求值为布尔值True或False。

>>> 'Hello' in 'Hello World' 
True 
>>> 'Hello' in 'Hello' 
True
>>> 'HELLO' in 'Hello World' 
False
>>> '' in 'spam' 
True 
>>> 'cats' not in 'cats and dogs' 
False

有用的字符串方法

字符串方法upper()、lower()、isupper()和islower()

upper()和lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。

>>> spam = 'Hello world!'
>>> spam = spam.upper()
>>> spam
'HELLO WORLD!'
>>> spam = spam.lower()
>>> spam
'hello world!'

请注意,这些方法没有改变字符本身,而是返回一个新字符串。

如果字符串只有字母,并且所有字母都是大写或小写,isupper()和islower()方法就会相应的返回布尔值True,否则, 该方法放回False。

>>> spam = 'Hello world!'
>>> spam.islower()
False
>>> spam.isupper()
False
>>> 'HELLO'.isupper()
True
>>> 'abc12345'.islower()
True

因为upper()和lower()字符串本身返回字符串,所以也可以在返回的字符串上继续调用字符串方法。

>>> 'Hello'.upper()
'HELLO'
>>> 'Hello'.upper().lower()
'hello'
>>> 'Hello'.upper().lower().islower()
True

isX字符串方法

  1. 这些方法返回一个布尔值,描述了字符串的特点。
  2. isalpha()返回True,如果字符串只包含字母,并且非空。
  3. isalnum()返回True,如果字符串只包含字母和数字,并且非空。
  4. isdecimal()返回True,如果字符串只包含数字字符,并且非空;
  5. isspace()返回True,如果字符串只包含空格、制表符和换行,并且非空;
  6. istitle()返回True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词

字符串方法startswith()和endswith()

startswith()和endswith()方法返回True,如果它们所调用的字符串以该方法传入的字符串开始或结束。否则,方法返回False。

>>> 'Hello word!'.startswith('Hello')
True
>>> 'Hello word!'.endswith('world!')
True
>>> 'abc123'.startswith('12')
False
>>> 'abc123'.endswith('12')
False

字符串方法join()和split()

join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。

>>> ', '.join(['cats', 'rats', 'bats'])
'cats, rats, bats
>>> ' '.join(['My', 'name', 'is', 'Simon'])
'My name is Simon'

请注意,调用join()方法的字符串,被插入到列表参数中每个字符串的中间。要记住,join()方法是针对一个字符串而调用的,并且传入一个列表值。

split()方法正好相反,它针对一个字符串嗲用,返回一个字符串列表。

>>> 'My name is Simon'.split()
['My', 'name', 'is', 'Simon']

默认情况下,字符串'My name is Simon'按照各种空白字符分隔,诸如空格、制表符或换行符。这些空白字符不包含在返回列表的字符中。也可向split()方法传入一个分隔字符串,指定它按照不同的字符串分割。

>>> 'MyABCnameABCisABCSimon'.split('ABC') 
['My', 'name', 'is', 'Simon'] 
>>> 'My name is Simon'.split('m') 
['My na', 'e is Si', 'on']

用rjust()、ljust()和center()方法对齐文本

rjuest()和ljust()字符串方法返回调用它们的字符串的填充版本,通过插入空格来对齐文本。这两个方法的第一个参数是一个整数长度,用于对其字符。

>>> 'Hello'.rjust(10)
'     Hello'
>>> 'Hello'.rjust(20)
'               Hello'
>>> 'Hello World'.rjust(20)
'         Hello World'
>>> 'Hello'.ljust(10)
'Hello     '

rjust()和ljust()方法的第二个可选参数将指定一个填充字符,取代空格字符。

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

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

>>> 'Hello'.rjust(20, '*')
'***************Hello'
>>> 'Hello'.ljust(20, '-')
'Hello---------------'
def printPicnic(itemsDict, leftWidth, rightWidth):
    print('PICNIC ITEMS'.center(leftWidth + rightWidth, '-'))
    for k,v in itemsDict.items():
        print(k.ljust(leftWidth,'-') + str(v).rjust(rightWidth))
​
picnicItems = {'sandwiches': 4 , 'apples': 12, 'cups': 4, 'cookies': 80000}
printPicnic(picnicItems, 12, 5)
printPicnic(picnicItems, 20, 5)

用strip()、rstrip()和lstrip()删除空白字符

strip()字符串方法将放回一个新的字符串,它的开头或末尾都没有空白字符。

rstrip()和lstrip()方法将删除左边或右边额空白字符。

用pyperclip模块考本粘贴字符串

pyperclip模块有copy()和paste()函数,可以向计算机的剪贴板发送文本,或从它接收文本。

 
posted @ 2022-08-11 11:29  Diligent_Maple  阅读(115)  评论(0编辑  收藏  举报