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 ...
随机推荐
- LeetCode 575 Distribute Candies 解题报告
题目要求 Given an integer array with even length, where different numbers in this array represent differ ...
- CentOS SSH免密登陆
#环境说明客户机:Mac OS X服务器:CentOS 6.5客户端:OpenSSH,OS X及大多数Linux都内置了OpenSSH.’ssh -v’命令可以查看版本. #大致流程1.在客户机创建一 ...
- (4.4)mysql备份还原——备份存储容灾基础知识
存储知识 1.为什么需要存储,存储一般解决哪些问题? 容量.速度.易于管理.安全(容灾与备份).可扩展性 2.存储发展历史 [2.1]大型机 [2.2]c/s结构(客户端->服务器) [2.3] ...
- finecms如何调用多个指定栏目的内容
想调用finecms多个栏目的内容,用英文状态下的逗号来分开多个id实现不了(catid=1,2,3),要如何写噢?后面ytkah想想这个跟sql语法有点一样,用IN_catid = 1,2,3果然成 ...
- String[]与List<String>的相互转换
String[]转List String[] arr = new String[]{"a","b","c"}; List<String ...
- 用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to
用xtrabackup2.4备份mysql5.6.30一直显示log scanned up to 一直处于log scanned up to,只能ctrl+c强制终止备份 没有大事务 停止xtraba ...
- 创建genil component
1: 创建一个类继承 CL_WCF_GENIL_ABSTR_COMPONENT 2:创建 genil _ editor 创建 component, 填入该实现类. 3: genil component ...
- Spark算子之aggregateByKey详解
一.基本介绍 rdd.aggregateByKey(3, seqFunc, combFunc) 其中第一个函数是初始值 3代表每次分完组之后的每个组的初始值. seqFunc代表combine的聚合逻 ...
- Spark快速获得CrossValidator的最佳模型参数
Spark提供了便利的Pipeline模型,可以轻松的创建自己的学习模型. 但是大部分模型都是需要提供参数的,如果不提供就是默认参数,那么怎么选择参数就是一个比较常见的问题.Spark提供在org.a ...
- GitHub上个最有意思的项目合集(技术清单系列)
没有1K以上的星星都不好意思推荐给大家!林子大了,啥项目都有,这里给大家搜罗了10个Github上有趣的项目.如果你就着辣椒食用本文,一定会激动的流下泪来...... 1.一行代码没有 | 18k s ...