Python初学笔记(第一章)

本文讲述了暑期实习期间学习Python的基础,包括变量类型(整数、浮点数、字符串、布尔值、None)、数据容器(列表、元组、字典、集合)及其操作,以及注释的使用。重点介绍了join(), split(), strip()方法和转义字符的处理。
摘要由CSDN通过智能技术生成

暑期认知实习学校安排学习Python,为了让自己更好的巩固,将上课讲的代码和笔记放在CSDN上,也供同学们一起参考学习 其中.join,split(),strip()方法还未能讲述到,后期自己需要多看看。除此之外还学到要想输出转义符可以在字符串前面加r,例如print(r"\t")可以将\t输出。 

目录

变量

数据的容器

注释 


变量

1、整型 (int) 值为整数,可正可负

2浮点型 (float) 的取值为小数,当计算有精度要求时被使用,由于小数点可以在相应的二进制的不同位置浮动,故而称为浮点数

3、字符串 (str) 字符串是以两个单引号或两个双引号包裹起来的文本。和java,c中字符串为string不同,空格也算一个字符哦。比如 \n 表示换行, \t 表示制表符,Python还允许用 r“ ” 表示“ ”内 部的字符串默认不转义

4、布尔型 (bool) 只有True和False (在我理解就是逻辑运算的问题)布尔值可以进行 and or not 运算, and or 运算分别用 & | 表示。PS:特此提示&和&&区别:如果&前为False则直接认为False不会对&后面的逻辑表达式进行判断直接,|和||同理,前为True就直接认为True。

5、空值 Python里一个特殊的值,用 None 表示,一般用None填充表格中的缺失值

6使用 type() 函数来获取某值的类型,除了使用 type() 外,我们还可以使用 isinstance() 来判断数据类型

7类型转换 函数 int()float()str() bool() 分别用于将变量转换 成整型、浮点型、字符串和布尔型变量 PS:某些变量无法转换成数值型变量 例如字符型不能转换成整型

#变量测试
x="KKK"
print(x,type(x))
print("今天天气很闷热\t昨天也是")
print("今天很想你\n昨天也是")
print(5>1)
print(5**3)
print(5/3)
print(5//3)
print(1/2.0)
print(isinstance(5,str))
#结果
KKK <class 'str'>
今天天气很闷热	昨天也是
今天很想你
昨天也是
True
125
1.6666666666666667
1
0.5
False

二元数学运算符

数据的容器

1、列表(list)

列表(list)是一个有序的序列结构,序 列中的元素可以是不同的数据类型列表可以进行一系列序列操作,如索引、 切片、加、乘和检查成员等

创建列表时将列表中的各元素用逗号分隔开,并用中括号将所有元素包裹起来

可以使用append()方法再列表末尾添加数据元素

remove()方法适用于知道要删除的值的情况,当我们不知道具体元素值, 但是知道元素的索引位置时,我们可以使用 del 函数配合列表索引,删 除索引位置的元素或者使用 pop()方法

通过 insert() 方法在指定的索引位置添加数据元素

列表索引:Python语言中所有的索引都是从 0 开始计数的,如果列表中有 n 个元素, 那么最后一个元素的索引是 n-1

列表长度:Python内置的用于判断列表长度的函数为 len()

切片操作:

逻辑上理解为左闭右开,即[x,y)。不输入步长,默认步长为1 

逆向切片:

 倒数第一个元素索引为-1我们可以省略起始索引位置,表示从最开始进行切片,当我们将两个索引都省略之 后,我们将按原样复制一个列表,如果想要将列表的顺序颠倒,则可以使用::-1

嵌套:

列表中的元素也可以是列表,这样可以将列表看成更高维的数组

#列表
LPL_list = ['RNG',"FPX","LNG",1]
'''
获取索引位置
如果有N个相同的元素只返回第一个
如果查询的元素不在列表,则抛出ValueError
还可以指定在start和stop里查询
'''
print('-------列表---------')
print(LPL_list.index('RNG'))
# print(LPL_list.index('111'))
print(LPL_list.index('FPX',0,2))
print('FPX' in LPL_list)#是否存在
print('EDG' not in LPL_list)
#for列表元素遍历
for item in  LPL_list:
    print(item)
print(LPL_list)
print(type(LPL_list))
print('--------添加操作--------')
LPL_list.append("IG")
print(LPL_list)
LDL=['IGY','FBX']
print('--------以列表的形式作为元素添加到列表--------')
#LPL_list.append(LDL) 以列表的形式作为元素添加到列表LPL_list.extend(LDL)
#把LDL每一个元素分别添加到末尾
print(LPL_list)
print('--------修改操作--------')
LPL_list[1]='V5'#单个元素修改
LPL_list[3:5]=['RW','SN']#多个元素修改
print(LPL_list)
print('--------删除操作--------')
LPL_list.remove("SN")
print(LPL_list)
LPL_list.pop(-2)
LPL_list.pop()#如果不指定索引默认删除最后一个元素
print(LPL_list)
print('--------插入操作--------')
LPL_list.insert(0,5)
print(LPL_list)
print(len(LPL_list))
print('--------切片操作--------')
print('原列表',LPL_list)
print('切片后',LPL_list[1:3])
#不产生新的列表对象,而是删除原列表中的内容
LPL_list[2:4]=[]
print(LPL_list)
print('--------切片替换--------')
#把切片的部分用新的列表替换
LPL_list[1:]=LDL
print(LPL_list)
print('--------列表排序--------')
lst=[20,40,10,33]
print('原来',lst,'id为',id(lst))
#调用对象的ssort方法,默认升序排序
lst.sort()
print('升序排序',lst,'id为',id(lst))
#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True) #reverse=False则是升序
print('降序排序',lst,'id为',id(lst))
print('--------使用内置函数sorted()进行排序,会产生一个新的列表对象--------')
new_lst=sorted(lst)
print(new_lst,'id为',id(new_lst))
desc_list=sorted(lst,reverse=False)
print(desc_list,'id为',id(desc_list))
print('--------列表生成式--------')
let=[i for i in range(1,10)]#i为列表元素的表达式
print(let)
letc=[i*i for i in range(1,10)]#i*i为列表元素的表达式
print(letc)
print('--------clear清除和del删除对象--------')
LPL_list.clear()
print(LPL_list )
del LPL_list
print("****结束****")
#结果
-------列表---------
0
1
True
True
RNG
FPX
LNG
1
['RNG', 'FPX', 'LNG', 1]
<class 'list'>
--------添加操作--------
['RNG', 'FPX', 'LNG', 1, 'IG']
--------以列表的形式作为元素添加到列表--------
['RNG', 'FPX', 'LNG', 1, 'IG', 'IGY', 'FBX']
--------修改操作--------
['RNG', 'V5', 'LNG', 'RW', 'SN', 'IGY', 'FBX']
--------删除操作--------
['RNG', 'V5', 'LNG', 'RW', 'IGY', 'FBX']
['RNG', 'V5', 'LNG', 'RW']
--------插入操作--------
[5, 'RNG', 'V5', 'LNG', 'RW']
5
--------切片操作--------
原列表 [5, 'RNG', 'V5', 'LNG', 'RW']
切片后 ['RNG', 'V5']
[5, 'RNG', 'RW']
--------切片替换--------
[5, 'IGY', 'FBX']
--------列表排序--------
原来 [20, 40, 10, 33] id为 2036603343880
升序排序 [10, 20, 33, 40] id为 2036603343880
降序排序 [40, 33, 20, 10] id为 2036603343880
--------使用内置函数sorted()进行排序,会产生一个新的列表对象--------
[10, 20, 33, 40] id为 2036603343816
[10, 20, 33, 40] id为 2036603343752
--------列表生成式--------
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
--------clear清除和del删除对象--------
[]
****结束****

Process finished with exit code 0

2、元组(tuple)

元组(tuple)数据结构与列表类 似,其中元素可以有不同的类型 ,但是元组中的元素是不可变的, 即一旦初始化之后,就不能够再做修改

由于元组是不可变的,因此元组对 象没有append()insert()del这样 的方法

元组的使用可以使得代码 更安全,防止错误赋值导致重要对象的改变

#元组的结构和列表类似,但是元组中的元素是不可变的,一旦初始化就不可以修改
print('--------元组的创建方式--------')
LPL_tuple = (1,"TES")
print(LPL_tuple)
LDL=tuple((1,5,'K'))
print(LDL)
#只包含一个元组的元素需要使用逗号和小括号
t=('PY',)
print(t,type(t))
#空元组创建方式
t1=()
t5=tuple()
print('空元组',t1)
print(t5)
print('--------元组元素引用不可以修改,但是可变对象数据的值可以修改--------')
t7=(10,20,[25,36])
print(type(t7[0]),id(t7[0]))
print(type(t7[2]),id(t7[2]))
#元组元素的引用不可以改变,如果元素的对象是可变的那么可以修数据的值
t7[2].append(77)
print(type(t7[2]),id(t7[2]))
print(t7)
for item in t7:
    print(item)
#结果
--------元组的创建方式--------
(1, 'TES')
(1, 5, 'K')
('PY',) <class 'tuple'>
空元组 ()
()
--------元组元素引用不可以修改,但是可变对象数据的值可以修改--------
<class 'int'> 1558736224
<class 'list'> 1764504670024
<class 'list'> 1764504670024
(10, 20, [25, 36, 77])
10
20
[25, 36, 77]

 

3、字典(dict)

字典(dict)在其他语言中被称作哈希映射(hash map) 或者相关数组(associative arrays) 字典是一

种大小可变的键值对集,其中的键(key)和值(value)都是Python对象(字典用在需要高速查找的地方)

字典的创建使用大括号 {} 包含键值对,并用冒号 : 分隔键和值,形成键:

LPL_dict = {2:"LNG",1:"FPX",3:"RNG"}
print(LPL_dict)
#结果
{2: 'LNG', 1: 'FPX', 3: 'RNG'}

 利用for循环和zip()函数创建字典zip()函数用于将多个序列(列表、元组等)中的元素配对,产生一个如 [(列表1元素,列表2元素),(,)] 的新的元组列表;for循环用于重复执行将值放入键中的操作 

ID = [1,2,3]
CLUB = ["LNG","FPX","EDG"]
RANK_dict = {}
for key, value in zip(ID,CLUB):
    RANK_dict[key]=value
print(RANK_dict)
#结果
{1: 'LNG', 2: 'FPX', 3: 'EDG'}

字典的元素访问(以及插入、设置)方式与列表和元组一样。不同的是,列表和元组 的索引号是按照顺序自动生成,而字典的索引号是键。字典中某值的索引还可以通过 get 方法,如果字典不包含某个键,可以返回 None,或者自己指定的值。我们可以通过 in 判断是否存在某个键,其语法跟在列表和元组中判断是否存在 某个值是相同的。如果不太确定字典中有哪些键或者值,我们可以使用 keys() 方法或者values()方 法 

print(RANK_dict.get(1))
print(1 in RANK_dict)
print(RANK_dict.keys())
print('values are:',RANK_dict.values())
#结果
LNG
True
dict_keys([1, 2, 3])
values are: dict_values(['LNG', 'FPX', 'EDG'])

 items() 方法:该方法将返回所有键值对,并将其保存在一个元组列表(列表中的元素为元组) 

print(RANK_dict.items())
#结果
dict_items([(1, 'LNG'), (2, 'FPX'), (3, 'EDG')])

 字典的删减有三种方法 del、pop()、clear()

'''
字典的删减有三种方法
使用 del 函数对单一元素或者整个字典进行删除 
使用 pop() 方法删除单一元素
使用 clear() 方法清空词典的所有元素 
'''
del RANK_dict[1]
print(RANK_dict)
RANK_dict.pop(2)
print(RANK_dict)
RANK_dict.clear()
print(RANK_dict)
#结果
dict_items([(1, 'LNG'), (2, 'FPX'), (3, 'EDG')])
{2: 'FPX', 3: 'EDG'}
{3: 'EDG'}
{}

4、集合

集合(set)是一种无序集,它是一组键的集合,不存储值。集合中,重复的键是不被允许的。集合可以用于去除重复值。集合也可以进行数学集合运算,如并、交、差以及对称差等

集合的创建有两种方式:使用 set() 函数或者使用大括号{}需要注意的是,创建空集合,必须使用 set() ,而不是{},因为{}表示创建一个 空的字典

LPL_set = set()   #需要注意的是,创建空集合,必须使用 set() ,而不是{},因为{}表示创建一个 空的字典
LPL_set = {"FPX","RNG","LNG"}
print(LPL_set)
#结果
{'FPX', 'RNG', 'LNG'}

集合支持数学集合运算,如并、交、差以及对称差等  

注释 

多行注释使用连续单个单引号或者双引号 单行注释用#

'''
这是一行注释
'''
#测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值