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
 

最新文章

  1. JQuery学习之各种效果演示
  2. poj 2236:Wireless Network(并查集,提高题)
  3. hdu 2058
  4. WebApiThrottle限流框架
  5. Right Column - 右侧栏目
  6. poj 2516Minimum Cost
  7. Android开发/源代码资源汇总
  8. hdu 3911 Black And White(线段树)
  9. 解决maven 下载 hadoop-client 客户端 报错的问题
  10. xml 和html 语言区别
  11. SSM :MyBatis与Spring的整合
  12. ssm整合快速入门程序(二)
  13. Unity C#笔记 协程
  14. Spring加载流程源码分析03【refresh】
  15. Spring Conditional注解使用小结
  16. matlab——sparse函数和full函数
  17. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] 学习
  18. POJ 3249 Test for Job
  19. Java常见异常(Runtime Exception )小结(转)
  20. libSVM简介及核函数模型选择

热门文章

  1. day--41 mysql索引原理与慢查询优化
  2. Android 程序调试技巧汇总
  3. mysql 导入 导出
  4. mysql 查询月份数据.
  5. 【算法笔记】B1030 完美数列(三种方法)
  6. Marlin (思维)
  7. loj 2038 / 洛谷 P4345 [SHOI2015] 超能粒子炮・改 题解
  8. MongoDB基本语句
  9. DenyHosts 阻止SSH暴力攻击
  10. 【网络】访问控制列表(ACL)