Python学习笔记2

1.python3基础语法

赋值语句:

变量名 = 值

变量1,变量2,变量3 = 值1,值2,值3

注:

1.python3中变量不允许单独存在,必须要给变量赋值(不像java可以单独声明一个变量而不赋值);

2.python3中声明一个变量无需声明其数据类型,变量的数据类型是根据实际赋的值来进行确定

3.python3中若对同一个变量赋值两次,后一次的值会覆盖前一次的值

4.python3中如果值没有加双引号,而它又不是一个数字,python会统一将其当作变量名处理

关于注1的解释:赋值语句运行的底层逻辑是先有的值,才有的变量名

方法:

print(type(变量名/值)):打印该变量/值的数据类型

print(id(变量名)):打印该变量的内存地址

 

关键字:是底层程序开发过程中,作者或者程序员已经使用过的名字,后续其他语言使用人员就无法使用这些名字作为变量名了

标识符:

1.由字母、数字、下划线组成

2.不能以数字开头

3.不能用关键字作为标识符

4.严格区分大小写

标识符命名规则:驼峰命名法(单驼峰:bookInfo、双驼峰:BookInfo)

 

2.python3数据类型:

可变数据类型:列表(list)、字典(dictionary)

不可变数据类型:数字(number)、字符串(string)、元组(tuple)、集合(set)、

 

数字(number)又可细分为:整型(int)、浮点型(float)、复数型(complex)、布尔型(bool)

注:

1.python3中没有长整、短整之分,统一都是整型,浮点型也一样

2.bool型就是0,1;0代表False,1代表True

3.complex型:a + bj,或者complex(a,b)表示,a与b都是float型

 

字符串(string):以一对‘ ’或者“ ”或者””” ”””包裹起来的内容,如 str = 'a'或"a"或"""a"""

注:

三对引号的用途:1.注释 2.保留字符串格式

字符串拼接:1.用+号拼接两个字符串,如:print(str1+str2) 2.用*号对字符串本身翻倍,如:print(‘*’ * 50)

字符串方法:

1.capitalize():将字符串第一个字符大写,例如:print(str1.capitalize())

2.title():首字母大写,例如:print(str1.title())

3.lower():将整个字符串都小写,例如:print(str1.lower())

4.upper():将整个字符串都大写,例如:print(str1.upper())

5.replace(old,[,new][,count]):将字符串中的old子串替换为new,替换count次,count不填默认替换所有,例如:print(str1.replace('i', 'e', 1))

6.split(sep):将字符串用给定的标准分割,并且以列表形式返回分割后的元素组,例如:list1 = str1.split(' ')

7.len():统计字符串的长度,例如:print(len(str1))

 

列表(list):list,类似于Java上面数组,标志:[value1, value2, value3,…],可以通过下标来获取列表中的每一个元素,列表中可以存放不同的数据类型

声明一个列表:list1 = [1, 2, '3', '4', [1, 2, 3]]

声明一个空列表:list2 = []

列表常用方法:

1.append(var):在列表后追加元素var,例如:list2.append('s')

2.insert(index, var):在列表置顶位置插入元素var,index为下标,例如:list2.insert(0, 1)

3.pop(index):返回下标为index的元素,并将之从列表删除,如:list1.pop(1)

4.remove(var):删除列表中的var元素,如:list1.remove('3')

5.sort():将列表排序,默认按照ascii码从顺序排列,使用reverse=0参数,将倒序排列,例如:list1.sort(reverse=0)

6.count(var):统计var元素在列表中出现的个数,例如:list1.count('2')

7.index(var):返回var元素在列表中的下标,无则抛异常,例如:list1.index(1)。PS:如果元素在列表中有多个值,index只能返回该元素第一次出现的下标

8.extend(list):在列表后追加一个列表list,如:list1.extend(list2)

9.reverse():反转列表,将目标列表旋转180度,把头换到尾,如:list1.reverse()

10.len(list):返回列表的元素个数,如:len(list1)

11.拼接:用+号可以拼接两个列表,如:list3 = list1 + list2

列表的复制:

list3 = list1,list3即是list1的别名,两个列表的内存地址相同,对list3操作即是对list1操作

list3 = list1[:],list3即是list1的克隆,两个列表的内存地址不同

 

元组(tuple):类似于列表(list),区别是元组不能二次赋值,相当于只读列表

声明一个元组:tuple1 = (1, '2', 3, 's', [1, '2', 3, 's'])

声明一个空元组:tuple2 = ()

声明一个单元素元组:tuple3 = (2,)

元组常用方法:

1.count(var):统计var元素在元组中出现的个数,例如:tuple1.count('2')

2.index(var):返回var元素在元组中的下标,无则抛异常,例如:tuple1.index(1)。PS:如果元素在元组中有多个值,index只能返回该元素第一次出现的下标

3.len(tuple):返回列表的元素个数,如:len(tuple1)

4.拼接:用+号可以拼接两个元组,如:tuple3 = tuple1 + tuple2

 

集合(set):是一个无序不重复元素的序列

声明一个集合:set1 = {'d', 'r', 'e', 'a', 'm', '9', '0'}  或  set1 = set('newdream')

声明一个空集合:set2 = set()

集合运算:

print(a - b) # a和b的差集 即打印a中存在,但b中不存在的元素

print(b - a) # b和a的差集 即打印b中存在,但a中不存在的元素

print(b | a) # a和b的并集 即打印a和b中不重复的所有元素

print(a&b) # a和b的交集 即打印a和b中都存在的元素

print(a ^ b) # a和b中不同时存在的元素

成员测试: 可以用 in 关键字判定元素是否在集合内,如:print('e' in set1),存在则打印True,不存在则打印False

 

字典(dict):是除列表以外python之中最灵活的内置数据结构类型,由索引(key)和值(value)组成,又被称为关联数组或哈希表

字典与列表的区别:

1.列表是有序的对象集合,字典是无序的对象集合

2.字典当中的元素是通过键来存取的,而不是通过偏移存取

3.字典用“{}”标识

注:

1.字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,后一个值会被记住

2.键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表

创建一个字典:

dict1 = {'name':'张学友', 'age':50, 'pro':'singer'}

工厂方法:

dict2 = dict((['name', '刘德华'],['age', 52],['pro', 'singer']))

dict3 = dict(name='郭富城', age=51, pro='singer')

内建方法:

list = ['name', 'age', 'pro']

dict4 = dict.fromkeys(list,1)

创建一个空字典:adict = {}

字典常用方法:

1.dict[key] = value:如果key是字典中没有的,则会在该字典中新增键值对;如果key是字典中已存在的键,则会更新对应的值

2.del dict[key]:删除字典中键key的项

3.del dict:删除整个字典

4.dict.keys():返回一个包含字典所有key的列表

5.dict.values():返回一个包含字典所有value的列表

6.dict.clear():删除字典中的所有项或元素

7.dict.get(key, default = None): 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)

8.dict.pop(key[,default]): 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常

9.dict.update(dict2) 将字典dict2的键值对添加到字典dict中,无则添加,有则覆盖

 

补充:

数据类型转换:

自动类型转换(隐式类型转换):两种类型之间相互兼容;目标类型大于源类型,如:int+float----float,1+True---2

强制类型转换(显式类型转换):如果被转换的值的数据类型大于其目标类型,将会丢失部分信息。强制类型转换只需要将数据类型作为函数名即可。如:float(x)、str(x)、tuple(s)、list(s)、dict(d)

 

序列:特征是可以使用索引和切片,python中序列类型包括:字符串(string)、列表(list)、元组(tuple)

索引:根据Index获取特定元素,例如:

tuple1 = (['a', 'newdream', '1234'], ['1', '2', '3'])

print(tuple1[0][1][0])

PS:下标是从0开始

切片:获取序列片段,语法:变量名[起始下标:截止下标],例如:

tuple1 = (['a', 'newdream', '1234'], ['1', '2', '3'],['a', 'b', 'c', 'd'])

tuple2 = tuple1[:]

list1 = tuple1[0][1:]

str1 = tuple1[0][1][:5]

tuple3 = tuple[-3:-1]

PS:

1.从左到右索引默认0开始的,最大范围是字符串长度少1;从右到左索引默认-1开始的,最大范围是字符串开头

2.如果你想要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾

3.字符串截取规则是包前不包后(左闭右开)

posted @ 2020-04-26 15:58  chrischou07  阅读(106)  评论(0)    收藏  举报