Python的注释符号为#
示例
#这是注释
用户输入总是默认是字符串类型,常用的显式类型转换方法如下:
str() int() float()
当使用数字拼接字符串时,需要进行显式类型转换
与C++不同的是,“/”在Python中将直接给出小数值,若要使用整数除法,应使用符号“//”。
同时,“%”符号仍代表模运算
逻辑运算由 and、or与not实现,但这些运算符无法应用于位运算
用户输入赋值由函数input()完成
示例
num1=int(input())
输出由print()函数实现,该函数会缺省的打印一个换行符,若不想让它打印换行符,可使用参数end=“”指定结尾符号
示例
#将打印 hello world\n
print("hello ",end="")
print("world")
同时该函数还有一个参数名为sep,可用于指定分隔符,未指定时默认分隔符为空格
示例
//将打印 Alice Bob\n
print("Alice","Bob")
//将打印 Alice,Bob\n
print("Alice","Bob",sep=",")
len()函数将给出指定字符串的长度(中文字符串也是,不会乘以二)
示例
if(condition A):
statement A
elif(condition B):
statement B
else:
statement C
while循环较为简单,不再赘述
下面看for循环
示例
for i in range(5):
等价于
for i in range(0,5):
等价于
for i in range(0,5,1):
示例
def hello(name):
print("hello"+name)
下面只需显式调用该函数即可
函数也可以有返回值,但不用对返回值的类型进行提前声明
None是NoneType类型的唯一值,在C++中为NULL
每个函数缺省的返回值是None
异常处理使用try-except块
示例
def spam(divideBy):
try:
return 42 / divideBy
except ZeroDivisionError:
print('Error: Invalid argument.')
列表类似于C++中的数组
但可以支持 负数下标,表示倒数第几个元素
列表支持切片操作
示例
Arr=["A","B","C","D"]
Brr=Arr[1:3] #结果是["B","C"](不含后一下标元素)
列表复制与连接
列表支持不同数据类型作为同一列表的元素
示例
Arr=[1,2,3,4]
Brr=Arr+["A","B"]
删除列表元素
删除列表元素使用关键字del
示例
Arr=[1,2,3]
del Arr[1]
in / not in关键字
用于判断某元素是否在列表中,表达式将返回一个布尔值
示例
Arr=[1,2,3]
print(1 in Arr) #将打印True
示例
Arr=["A","B","C"]
AStr,BStr,CStr=Arr #变量数量必须与数组长度严格相等,否则会抛出valueError
列表的index()方法将返回某元素的索引值
示例
Arr=["A","B","C"]
print(Arr.index("B")) #将打印“B”的索引值1
其中 sort() 方法可指定关键字
示例
Arr=[1,2,3]
Arr.sort(reverse=True)
字符串与列表一样支持使用[ ]取得索引号对应的元素,同样可以使用切片来获得指定字符串的子串。
但应当注意的是:字符串与列表不同之处是字符串是不可变的,即不支持修改字符串中的指定字符,若要完成上述功能,应当使用字符串拼接功能赋值给新的字符串。
元组使用圆括号()排列一组数据
示例
Arr=('hello',1,1.5)
Brr=('hello',) #这里的逗号表明这是一个元组(对于单个元素的元组必须这样表示)
print(Arr[1])
元组与列表最大的不同在于元组是不可变的,不允许对元组的元素进行修改、添加、删除。否则会抛出一个异常。
list()与tuple()函数用于在列表与元组之间进行转换,同时,这两个函数也可将字符串转化为字符列表或字符元祖。
列表数据结构与C++中相同的是:列表间的直接赋值都是将引用指向了同一块内存。
同样的,当列表名作为参数传入函数中,列表的引用将被值复制,实际导致一个数组本身的引用传递。
copy()函数将完全复制一个新的列表交给另一个列表名。但若列表的元素是列表,则它只能完成内部列表引用的复制,这将导致内部列表的引用传递。
若要复制内部的列表,应当使用deepcopy()函数(只对一层列表有效)。
示例
import copy
Arr=['A','B','C']
Brr=copy.copy(Arr)
字典提供了一种根据键值索引元素值的功能
示例
myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}
print(myCat['size']) #将打印 fat
字典内部是无序的
下面给出一个应用示例:
birthdays = {'Alice': 'Apr 1', 'Bob': 'Dec 12', 'Carol': 'Mar 4'}
while True:
print('Enter a name: (blank to quit)')
name = input()
if name == '':
break
if name in birthdays: #使用in关键字判断列表中是否有该键
print(birthdays[name] + ' is the birthday of ' + name)
else:
print('I do not have birthday information for ' + name)
print('What is their birthday?')
bday = input()
birthdays[name] = bday
print('Birthday database updated.')
示例 (其它两个函数也一样)
spam = {'color': 'red', 'age': 42}
for v in spam.values():
print(v)
使用list()函数能将其转化为一个值/键/元素列表
字典有一 个 get() 方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回的备用值。
示例
picnicItems = {'apples': 5, 'cups': 2}
print( 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.' )
print( 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.' )
setdefault()方法完成下面的功能:
若字典中不存在该键,就添加该键与值的映射对
若字典中已存在该键,就不做修改
示例
spam = {'name': 'Pooka', 'age': 5}
spam.setdefault('color', 'black')
spam.setdefault('color', 'white') #仍然为‘black’
该方法的应用示例:
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}
for character in message:
count.setdefault(character, 0) #若没出现过则添加置零
count[character] = count[character] + 1 #优点是该句在第一次添加的字符时不会抛出异常
print(count)
使用pprint模块下的pprint()函数能够漂亮的打印一个字典(每行一个键值对)
示例
import pprint message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}
for character in message:
count.setdefault(character, 0)
count[character] = count[character] + 1
pprint.pprint(count)
三重引号’’’ ‘’'或""" “”'括住的字符串在打印时将包含内部的所有换行符制表符格式
示例
print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely, Bob''')
此外,三重引号也常用作多行注释
示例
"""
这是注释
多行注释
"""
这些方法的功能是将字符串转换大小写以及判断是否为大小写
isalpha()返回 True,如果字符串只包含字母,并且非空;
isalnum()返回 True,如果字符串只包含字母和数字,并且非空;
isdecimal()返回 True,如果字符串只包含数字字符,并且非空;
isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空;
istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词。
该方法判断字符串是否以指定字符串开头或结尾,返回一个布尔值
join()实现列表元素拼接成字符串
split()实现将字符串拆分成列表
示例
#将打印 cats, rats, bats
print(', '.join(['cats', 'rats', 'bats']))
#将打印 My name is Simon
print(' '.join(['My', 'name', 'is', 'Simon'])
示例
#将返回一个['My', 'name', 'is', 'Simon']
Arr='My name is Simon'.split()
该方法默认按照各种空白字符分割,诸如空格、制表符或换行符
同时也可以在split()方法中指定分隔符
该方法用于删除左/右的空白字符
也可以指定要删除两边哪些指定字符(只需无顺序的将字符连成字符串即可)
import pyperclip
pyperclip.copy('Hello world!') #将该字符串复制到剪切板
pyperclip.paste()