Python基础知识摘要
python字典 增,删,改,查
1、增:XXX[新的key] = value
2、删:DEL XXX[key]
3、改:XXX[已经存在的key] = NewValue
4、查:aList.extend(bList)
python中定义全局变量命名, 格式:g_变量名 = value
函数中使用全局变量先使用 "global 变量名"
使用main函数思想控制整个程序
使用id(变量名),查看变量的内存地址
python不同于其它语言,所以赋值都是引用。
python函数中的缺省参数
def test(a,b=22):
result = a+b
print(result)
return result test(10)
# print : 32 ,给B设置的缺省参数为22,如果不传就用22,传了值就以传的值为准。
test(a=10,b=20) #指定参数传值
python函数不定长参数 1
def test(a,b,*args):
print(a)
print(b)
print(args)
test(10,20,30,40,50,60)
# 如果不确定传参数量,在形参里用*args(可自定义形参名且必须放在形参最后的位置),args里返回的是一个元组。(如果元组只有一个值,"(10,)",需要在单值后加逗号)
python函数不定长参数 2
def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
test(10,20,30,40,50,name="laowang",hobby="green")
#**kwargs以字典的形式保存多余的参数name和hobby。*args还是以元组的形式保存多余的不带变量的具体值->(实参所传的参数)
返回结果:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
拆包
嘿嘿
什么是拆包?
a = ['cute','doge','hehe'] #要传的一个列表
b = {'name':'caiquan','look':'shazi'} #要传的一个字典
def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
#NOW 我们把列表和字典当作实参传入test函数并打印
test(10,20,30,a,b)
先look一下结果

很明显多余的参数 -> a列表和b字典 <- 都被装在了*args元组里面而**wkargs是空,这时在函数内如果要取出字典里的值是不太方便的。
这里只需要在传实参a和b时,加上* 和 **。
a = ['cute','doge','hehe'] #要传的一个列表
b = {'name':'caiquan','look':'shazi'} #要传的一个字典
def test(a,b,*args,**kwargs):
print (a)
print (b)
print (args)
print (kwargs)
#NOW 我们把列表和字典当作实参传入test函数并打印
test(10,20,30,*a,**b)
现在多余的实参30, 列表a被拆分到形参args里,字典b被拆分到形参kwargs里。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
python可变与不可变类型
1,不可变类型
字符串,数字,元组
2,可变类型
列表,字典
字典中只能使用不可变类型作为key
test = {"name":"laowang",234:"num",(10,20):"test"}
print test
# {234: 'num', 'name': 'laowang', (10, 20): 'test'}
如果使用可变类型作为key是不行的!!!


列表的排序方法
aa = [10,324,25,24,52,2,52,4352,325,235]
# aa.sort() 从小到大排序
# aa.sort(reverse=True) 从大到小排序
aa.reverse() 倒序
print(aa)
#[235, 325, 4352, 52, 2, 52, 24, 25, 324, 10] #当列表中是字典的时候
aa = [{"name":"laowang","age":19},{"name":"xiaowang","age":17},{"name":"any","age":28}]
aa.sort(key=lambda x:x["name"])
print(aa)
#按字母顺序排列
#[{'age': 28, 'name': 'any'}, {'age': 19, 'name': 'laowang'}, {'age': 17, 'name': 'xiaowang'}]
Python基础知识摘要的更多相关文章
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python基础知识(Basic knowledge)
Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...
随机推荐
- 存储过程收集统计信息ORA-20000报错解决记录
存储过程如下: create or replace procedure ad.table_analyse_bill( p_BillMonth in number,--bill_month p_tail ...
- jMeter_响应数据乱码
jMeter测试时服务响应数据乱码 方式一:修改配置文件参数 1.修改jMeter安装目录 jmeter.properties 中 sampleresult.default.encoding=UTF- ...
- MSSQL2008 部署及开启远程连接
最近不少用户在windows2003 server 32位操作系统上安装SQL Server2008总是失败,出现大量错误.今天经过通过我反复测试安装,找出了一个便捷的安装方法,节省大家宝贵时间,具体 ...
- Swift中"#"的用法
配置外部参数名 在函数(或者方法)的参数名前添加"#",可以使该参数拥有相同的本地参数名和外部参数名. 注:在方法中,第二个及后续的参数,默认是具有和内部参数一致的外部参数名的,只 ...
- es内部的多线程异步并发控制
version元数据(1)第一次创建一个document的时候,它的_version版本号是1:以后,每次对这个document执行修改或者删除操作,都会对这个_version版本号自动加1(2)在删 ...
- mysql 查询优化杂谈
一.把某些判断移动到应用层 我们需要在一张表里面删除某种类型的数据,大概的表结构类似这样: CREATE TABLE t ( id INT, tp ENUM ("t1", &quo ...
- 为什么要使用 Docker(二)
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势. 更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高.无 ...
- ios禁止页面下拉
document.querySelector('body').addEventListener('touchmove', function(e) { e.preventDefault(); } ...
- 设置td中的table置顶
style="vertical-align: top" <td colspan="11" rowspan="5" style=&quo ...
- springmvc aop 事务配置
对应的中文: 任意公共方法的执行: execution(public * *(..)) 任何一个以“set”开始的方法的执行: execution(* set*(..)) AccountService ...