1.函数

1.1  定义函数

·函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()

·任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

·函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

·函数内容以冒号起始,并且缩进。

·return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

1.2  函数参数

【python 传参 传递的是一个引用】

·普通参数

def userinfo(name,userid):
print(name,userid)
userinfo('xx',20) #xx 20

·默认参数(默认参数必须放在参数列表最后)


def userinfo(name,userid,status='ok'):
print(name,userid,status)
userinfo('xx',20)
userinfo('xx',20,'error')
#xx 20 ok
#xx 20 error

·动态参数     * 默认将传入的元素,全部放在元祖中  ** 默认将传入的元素,全部放到字典里

def userinfo(*args):       #参数是元祖或者列表
print(args)
l_list = [1,2,3]
userinfo(l_list)
userinfo(*l_list)
#([1, 2, 3],)
#(1, 2, 3)
def userinfo(**args):        #参数为字典
print(args)
dic = {"name":'xx',"age":20}
userinfo(name='xx')
userinfo(**dic)
userinfo(name='xx',age=30) #{'name': 'xx'}
#{'age': 20, 'name': 'xx'}
#{'age': 30, 'name': 'xx'}
def userinfo(*args,**kwargs):        #万能参数
print(args,kwargs)
dic = {"name":'xx',"age":20}
l_list = [1,2,3]
userinfo(*l_list,**dic)
#(1, 2, 3) {'name': 'xx', 'age': 20}

1.3  变量作用域

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加 。

想要改变函数外的全局变量,需要加global参数。

AGE =20
def userinfo():
AGE = 18
print(AGE)
userinfo()
print(AGE)
#
#
AGE =20
def userinfo():
global AGE #改变全局变量
AGE = 18
print(AGE)
userinfo()
print(AGE)
#
#

虽然函数内不能改变全局变量的值,但是假如变量为列表、字典等,可以修改元素,但是不能删除重建

Info = [1,2]
dict_info = {
"age":18,
"name":"caesary",
} def testfun():
Info.append(3)
dict_info["addr"] = "HLJ"
print(Info)
print(dict_info) testfun()
print(Info)
print(dict_info)
#[1, 2, 3]
#{'age': 18, 'name': 'caesary', 'addr': 'HLJ'}
#[1, 2, 3]
#{'age': 18, 'name': 'caesary', 'addr': 'HLJ'}

2.内置函数

abs()  函数返回(数字)的绝对值

all()  如果()里的所有元素不为0、''、False,all()返回True,否则返回False

>>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) #列表list,存在一个为0的元素
False
>>> all(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素
False
>>> all((0, 1,2, 3)) #元组tuple,存在一个为0的元素
False
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True

any()  如果()里的任何元素不为0、''、False,any()返回True。如果iterable为空,返回False

>>> any(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
True
>>> any([0, '', False]) #列表list,元素全为0,'',false
False
>>> any(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素
True
>>> any((0, '', False)) #元组tuple,元素全为0,'',false
False
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False
bin()  十进制转二进制
oct() 十进制转八进制
hex() 十进制转十六进制
print(bin(10),oct(10),hex(10))
#0b1010 0o12 0xa

bytes(字符串,编码格式)

一个字节8位

utf-8 一个汉字3个字节

gbk   一个汉字2个字节

n = '测试'
m = bytes(n,encoding="utf-8")
m1 = bytes(n,encoding="gbk")
print(m,m1)
print(str(bytes(n,encoding="utf-8"),encoding="utf-8")) #字节转化成字符串
#b'\xe6\xb5\x8b\xe8\xaf\x95' b'\xb2\xe2\xca\xd4'
#测试

format()       格式化输出

s1 = 'i am {0},age {1}'.format('xx',20)
print(s1)
s2 = 'i am {0},age {1}'.format(*['xx',21])
print(s2)
s3 = 'i am {name},age {age}'.format(name='xx',age=22)
print(s3)
dic = {'name':'xx','age':23}
s4 = 'i am {name},age {age}'.format(**dic)
print(s4)
#i am xx,age 20
#i am xx,age 21
#i am xx,age 22
#i am xx,age 23
 

python 函数,内置函数的更多相关文章

  1. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  2. 如何查看Python的内置函数

    经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...

  3. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  4. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  5. python(day16)内置函数,匿名函数

    # add = lambda x,y:x+y # print(add(1,2)) # dic={'k1':10,'k2':100,'k3':30} # def func(key): # return ...

  6. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  7. Python的内置函数

    python的内置函数一共有68个,下面将简单介绍各个函数的功能. abs() dict() help() min() setattr() all() dir() hex() next() slice ...

  8. python 匿名函数&内置函数

    匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数 ...

  9. python print()内置函数

    啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...

  10. Python学习笔记014——迭代工具函数 内置函数enumerate()

    1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequ ...

随机推荐

  1. day--39-MySQL的多表查询

    多表查询一:表的基本介绍 可以参考:https://www.cnblogs.com/cdf-opensource-007/p/6517627.html 建立一个员工表信息表和一个部门表,每个员工都对应 ...

  2. C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。这个错误是什么原因引起的?

    C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值.这个错误是什么原因引起的? 2011-12-17 22:45 提问者: 匿名|浏览次数:6056次 我来帮他解答 图片 符号 ...

  3. UVA - 10543 LIS

    题意:见大白Page93 真没想到是两边分别设为终点和起点的LIS和..LDS? 注意,要求对称,所以分别取min #include<iostream> #include<algor ...

  4. HDU - 2256 矩阵快速幂 带根号的递推

    题意:求$ [(\sqrt{2}+\sqrt{3})^{2n}] mod 1024 $ 分析: 把指数的2带入 原式等于 $ [(5+2\sqrt{6})^n] $ 有一个重要的结论是n次运算后其结果 ...

  5. [转] Java:对Scanner的useDelimiter()方法的疑问

    [From]https://segmentfault.com/q/1010000003885362 Windows下,我们在键盘上按下Enter键,实际上输入的是回车和换行两个字符:\r\n,ASCI ...

  6. telnet出现Connection closed by foreign host

    2018-10-26 执行命令: telnet smtp.exmail.qq.com 出现信息: [root@pengman Desktop]# telnet Tring Connected to 1 ...

  7. 数据插入INSERT

    一.INSERT SELECT :将查询的数据直接插入 特点: 1.一次性插入所有查询出来的数据. 2.数据原子性,有一个失败全部失败. 3.没有指定的列加默认值或NULL,都没有就报错. 二.INS ...

  8. Java变量类型,实例变量 与局部变量 静态变量

    实例变量: 实例变量在类中声明,但在方法的外面,构造函数或任何块. 当空间分配给某个对象在堆中,插槽为每个实例变量创建值. 当一个对象与使用关键字 “new” 来创建,在对象被销毁销毁创建的实例变量. ...

  9. 60分钟内从零起步驾驭Hive实战学习笔记(Ubuntu里安装mysql)

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...

  10. 诠释JavaScript中的this

    文章首发:http://www.cnblogs.com/sprying/p/3573456.html 使用this的几种场合 1. 执行函数时,判断函数是对象方法还是一个单独的函数?单独的函数this ...