博主自己作为小白学习,仅此记录。
1.反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行。
反斜杠的使用
2.Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
3.字符串的截取的语法格式如下:变量[头下标:尾下标:步长]。
1-3小结:
str='Runoob'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始后的所有字符
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔两个的字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('------------------------------')
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
>>> print('\n') # 输出空行
>>> print(r'\n') # 输出 \n
\n
注:1.使用+或者*等符号时,要注意+前后各加空格。
2.函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
4.input("\n\n按下 enter 键后退出。")
以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
5.Python可以在同一行中使用多条语句,语句之间使用分号(;)分割。
6.缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
if expression :
suite
elif expression :
suite
else :
suite
7.print 默认输出是换行的,如果多个print同时输出,要实现不换行需要在变量末尾加上 end=""
python中print函数的用法
x="a"
y="b"
# 换行输出
print( x )
print( y )
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()
#输出结果
a
b
---------
a b
8.在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
#输出结果
================Python import mode==========================
命令行参数为:
hello.py
python 路径为 ['D:\\desk\\pythonProject', 'H:\\anaconda318\\python38.zip', 'H:\\an
aconda318\\DLLs', 'H:\\anaconda318\\lib', 'H:\\anaconda318', 'H:\\anaconda318\\lib\
\site-packages', 'H:\\anaconda318\\lib\\site-packages\\win32', 'H:\\anaconda318\\li
b\\site-packages\\win32\\lib', 'H:\\anaconda318\\lib\\site-packages\\Pythonwin']
注:1.Python3中常用模块-sys模块
sys模块的介绍
2.对代码中出现的sys模块做说明:
sys.argv 接收命令行的参数,是一个列表,第一个元素为文件名本身
sys. path 模块搜索路径
9.Python可以使用各种参数查看各参数帮助信息:
Python3 命令行参数
注:注意print在输出指定信息时的符号使用,注意下例中print命令不同时输出结果的差异性
from sys import argv, path # 导入特定的成员
print('================python from import===================================')
print('path:', path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
print("path")
#输出结果
================python from import===================================
path: ['D:\\desk\\pythonProject', 'H:\\PyCharm Community Edition with Anaconda plugin 2020.2.5\\plugins\\python-ce\\helpers\\pydev']
path
10.python中多变量的赋值
Python允许同时为多个变量赋值,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
a = b = c = 1
也可以为多个对象指定多个变量
a, b, c = 1, 2, "runoob"
11.getopt 模块
getopt 模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是 sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式 - 和长选项模式 --。
getop模块的使用1
getop模块的使用2
12.python中的数值结算
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
13.string、list 和 tuple 都属于 sequence(序列)的函数介绍
13.1字符串string介绍
Python中的字符串用单引号 ’ 或双引号 " 括起来,
字符串的截取的语法格式如下:
变量[头下标:尾下标]
注:1.另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。
2.与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,会导致错误。
3.Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
13.2.列表list介绍
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的方式与字符串截取的方式相同
变量[头下标:尾下标]
注:1.与Python字符串不一样的是,列表中的元素是可以改变的:
2.Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为**步长为 2(间隔一个位置)**来截取字符串:(可理解为步长为x-1)
3.如果第三个参数为负数表示逆向读取,可用于翻转字符串:(该代码要仔细看)
def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
inputWords = input.split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputWords=inputWords[-1::-1]
# 重新组合字符串
output = ' '.join(inputWords)
return output
if __name__ == "__main__":
input = 'I like runoob'
rw = reverseWords(input)
print(rw)
#结果输出
runoob like I
注:1.split函数介绍
2.if name main函数介绍
13.3 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
注:1.虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
2.构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
14.Set(集合)介绍
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu','Baidu'}
print(sites) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Runoob' in sites :
print('Runoob 在集合中')
else :
print('Runoob 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
#输出结果
{'Zhihu', 'Facebook', 'Google', 'Taobao', 'Runoob', 'Baidu'}
Runoob 在集合中
{'d', 'a', 'r', 'b', 'c'}
{'b', 'd', 'r'}
{'z', 'l', 'd', 'a', 'm', 'r', 'b', 'c'}
{'a', 'c'}
{'z', 'l', 'm', 'r', 'b', 'd'}
注:1.集合在Python内部通过哈希表实现,其本征无序 打印输出的时候需要遍历哈希表的每一个bucket,这时候哪个bucket在前面,其对应的元素就排在前面 因此,在不同计算机上或在同一计算机上的不同次运行结果的输出顺序通常都会不一样
2.set的用法介绍
15.Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在大括号{}中 ,格式如下所示:
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
>>>dict2 = {'001' : {'name' : 'smile', 'sex' : '女'},
'002' : {'name' : 'yanxiao', 'sex' : '男'}}
说明 字典得每一个键和键值之间必须用冒号:隔开,每一对要用逗号,隔开,
整体放在大括号{}中;键必须独一无二,而值则不必,值可以取任何数据类型,
但必须是实体,如字符串,数。
16.Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
暂且结束