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.字符串截取规则是包前不包后(左闭右开)

浙公网安备 33010602011771号