python学习笔记(七)- 递归、python内置函数、random模块
1、函数的不固定参数:
#参数不是必填的、没有限制参数的个数、返回参数组的元组
def syz(*args): #参数组,不限制参数个数 #‘args’参数的名字可以随便命名
print(args)
#username = args[0] #返回的参数放在元组中,通过下标来取值
#pwd = args[1]
syz()
syz('niuhan','sdfsdf',122) >>> ()
>>> ('niuhan', 'sdfsdf', 122) #元组
2、关键字参数
#不限制传参的个数,但是传的格式必须是k-v的形式,传进来的参数放在字典里
def syz(**kwargs): #关键字参数
print(kwargs)
syz() #>>>{}
syz(name='',age=20) #>>>{'name': '', 'age': 20}
syz(name='nny',age=38,add='北京',home='河南')
syz('nhy') #报错
3、递归:函数自己调用自己
#少用递归,递归效率不高,递归最多循环999次
def test():
num = int(input("please enter a number:"))
if num%2==0: #判断是不是偶数
return True #如果是偶数,退出程序,返回True
print('不是偶数请重新输入!')
return test()
print(test()) #调用test函数
4、内置函数:pyhton自带的一些函数,可以直接拿来用的
常用的内置函数有:
print(all([1,2,3,4])) #判断可迭代的对象里面的值是否都为真
print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真
print(bin(10)) #十进制转二进制
print(bool(None)) #把一个对象转换成布尔类型
print(chr(69)) #打印数字对应的ascii
print(ord('E')) #打印字符串对应的ascii码
print(dir(d)) #打印传入对象的可调用方法
exec('def a():print("我是a")') #执行python代码
a = eval('1+2') #也是用来执行python代码的,只能执行一些简单的代码,比如运算,[] {}
print(a)
print(filter(lambda x:x>5,[12,3,12,2,1,2,35]))#把后面的迭代对象根据前面的方法筛选
print(map(lambda x:x>5,[1,2,3,4,5,6]))
print(max(111,12))#取最大值
print(min((1,2,3)))#取最小值
print(abs(-1))#取绝对值的
print(round(11.119999,3))#取几位小数
print(sorted([2,31,34,6,1,23,4]))#排序
较为常用的:
id() #看内存地址
type() #看数据类型
print() #打印
input() #输入
list() #转list
set()# 转集合
str()#转字符串
dict()#转字典
int()#转int
float()#转float类型
len()#取长度
max()
min()
dir() #帮助你的
sorted()#排序
round(11.00011,2)#保留几位小数
map()
filter()
zip()
5、random模块的方法
import random,string
print(string.printable) #代表所有的 数字+字母+特殊字符 print(random.randint(1,10)) #从1-10随机取一个整数
print(random.uniform(1,99)) #随机取一个小数 #>>>73.5928709012442
print(round(random.uniform(1,99),2)) #配合round(),表示随机取小数点后2位的小数 #>>>59.22
print(random.choice([1,2,3,4])) #只能随机取1个元素(列表或字符串)
print(random.choice('abcde'))
print(random.sample(string.printable,5)) #随机取N个元素,返回的是list #>>>['A', 'x', ',', ')', 'E'] # random.shuffle([xxx])洗牌(打乱顺序)
pickts = ['A','J','Q','K',2,3,4,5,6]
random.shuffle(pickts) #只能传list(因为字符串不能修改)
print(pickts)
xx
python学习笔记(七)- 递归、python内置函数、random模块的更多相关文章
- python学习笔记(四):生成器、内置函数、json
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...
- python学习笔记(五)— 内置函数
我们常用的‘’int,str,dict,input,print,type,len‘’都属于内置函数 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any( ...
- python学习笔记(九)内置函数
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 True print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 True print( ...
- Python学习日记(六)——内置函数和文件操作(lambda)
lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'prime' else: name = 'c ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
Python中字符串String的基本内置函数与用法 首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符 ...
- day15 内置函数和模块
day15 内置函数和模块 1.三元表达式 代码如下: x = 1 y = 2 res = 'ok' if x > y else 'no' print(res) 输出结果:no 2.内置函数:重 ...
- 第七篇 python基础之函数,递归,内置函数
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- Python学习之路6☞函数,递归,内置函数
一python中的函数 函数是逻辑结构化和过程化的一种编程方法. python中函数定义方法: def test(x): "The function definitions" x+ ...
- 学习Python函数笔记之二(内置函数)
---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...
随机推荐
- windows server 2012启动进入cmd解决方法
感谢网友http://sns.yhjy.cn/u/XperiaZ/Blog/t-4748 由于删除了framework 4.5引起的. windows server 2012默认安装framework ...
- 转-软件测试人员在工作中如何运用Linux
从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...
- vs+qt 运行过程出现cannot run rc.exe
刚开始,我按照网上的一堆教程在qt creator中设置了各种东西,设置完以后,运行时出现cannot run rc.exe,根据百度,将C:\Program Files (x86)\Windows ...
- APK重编译
最近沉迷某游戏 尝试了一些不可描述的东西 , 记录一下研究过程 具体是哪个app不公开 ... 准备工具 APKtool && signapk && jre .net ...
- Google - chanceToLose24Game
/* 一个类似24点的游戏,假设牌桌上有无数张1-10的牌,然后你手上的牌的总和是k,现在你可以随机到牌桌上抽牌加到总和里,如果你手上牌的总和在20-25之间就是win,如果总和超过25就是lose, ...
- 使用rpm 打包开发的postgres extension
环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的 ...
- Linux双线双网卡双IP双网关设置方法
机房上架了一台测试机,系统是Ubuntu 9.04 X64的系统,母机IBM X336机器.用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联通地址和电信 ...
- Win7系统安装Centos7.0双系统(一)
项目环境测试,过去在虚拟机安装只要配置好镜像很快就可以轻松安装,但是在真实机中安装就有些略坑.网上有很多说法是把iso文件中安装引导拷出来,试了很久还是觉得U盘镜像直接安装更便捷.靠谱.因为CentO ...
- 20165312 2017-2018-2 《JAVA程序设计》第6周学习总结
20165312 2017-2018-2 <JAVA程序设计>第6周学习总结 一.在本周学习过程中遇到的问题以及对上周测试的查漏补缺 编写110页代码时出现问题,主类Test中创建CPU对 ...
- iOS开发SDWebImageOptions理解
iOS开发SDWebImageOptions理解 原文 http://www.cnblogs.com/WJJ-Dream/p/5816750.html typedef NS_OPTIONS(NSUIn ...