Python的平凡之路(3)
python中函数定义方法:
def
test(x):
"The function definitions"
x
+
=
1
return x
def
:定义函数的关键字
test:函数名
():内可定义形参
"":文档描述(非必要,但是强烈建议为你的函数添加描述信息)
x
+
=
1
:泛指代码块或程序处理逻辑
return
:定义返回值
"""testing""" print('in the func1')
return 0 print('test end')
x = func1() print(x)
#过程,过程不需要返回值 def func2():
"""tesing2""" print('in the func2')
x = func1()
y = func2()
print('from func1 return is %s' %x) print('from func2 return is %s' %y)
import time def logger():
time_format='%Y-%m-%d %X' time_current=time.strftime(time_format)
with open('a.txt', 'a+') as f: #ab 以追加的方式打开二进制方式 f.write('time %s end action\n' %time_current)
def test1():
print ("test1 starting action...")
logger()
def test2():
print ("test2 starting action...")
logger()
def test3():
print ("test3 starting action...")
logger()
test1()
test2()
test3()
def t1():
print("IN T1") def t2():
print("IN T2")
return 0 def t3():
print("IN T3")
return 1,"Hello",['alex','lb'],{'WuDaLang':'lb'} #打印函数 x = t1()
y = t2()
z = t3() #打印函数返回值,#返回值数=0:返回None,返回值数=1:返回object,返回值数>1:返回元组tuple print(x) print(y)
return (res)
print("姓名:",name)
print("age:",age)
print("国籍",country)
print("课程",course)
print("地区",id)
stu_register("Alex",22,"CN","Python")
def stu_register2(name,age,*args,**kwargs): #**kwargs会把多传入的参数变成一个dict形式 print(name,age,args,kwargs)
stu_register2("Alex",22,"CN","Python",sex="male",province="HeBei")
print(y)
print(z) #位置参数调用,与形参一一对应 test(1,2,3) #关键字调用,与形参顺序无关,打印会按照位置形参顺序 test(y=4,x=8,z=10) #位置参数调用与关键字调用混用,要保持一一对应,关键字参数不能放在位置参数之前,打印会按照位置形参顺序 test(3,z=4,y=11)
#默认参数特点:调用函数的时候,非必传 def test(x,y=2):
print(x)
print(y)
test(1)
#参数组 def test(*args): #*代表args代表的参数个数不固定且*args只接受位置参数 print(args)
test(1,2,3,4,5)
test(*[1,2,3,4,5]) # args=tuple([1,2,3,4,5]) def test1(x,*args):
print(x)
print(args)
test1(0,1,2,3,4,5,6,7,8,9)
def test2(**kwargs): #**kwargs把N个关键字转换成字典方式 print(kwargs)
test2(name='alex',age=8,sex='F')
test2(**{'name':'alex','age':8})
def test3(name,**kwargs):
print(name)
print(kwargs)
print(age)
print(args)
print(kwargs)
test4('alex',18,sex='F',hobby='TSL') #结果中对于args,返回只能是空元组{} test4('alex',18,33,sex='F',hobby='TSL') #对于args,返回值为{33,} school = "oldboy" #定义全局变量 def change_name(name):
global school #在函数中定义全局变量,一定要掌握。 school = "OLDBOY" print("Before change:",name,school)
name = "Alex li" #这个函数就是这个变量的作用域 print("After change:",name,school)
name = "alex" change_name(name) print("last change is",name,school)
#列表、字典、集合能在函数中修改 names = ["Alex","Jack","Rain"] #names_tuple = (1,2,3,4) #元组不能改 def change_name():
names[0] = "jinjiaodawang" #names_tuple[0] = 3 print("inside func",names)
change_name() print(names)
print(a)
print(b)
print ("length of c is: %d" % len(c))
print (c)
funcD(1,2,3,4,5,6,7)
def funcE(a,b,c):
print("\n---你猜会有什么结果:---")
print(a)
print(b)
print(c)
print("---oh,原来是这样:---\n")
funcE(c=100,b=300,a=800)
for x in b:
print(x + ":" +str(b[x]))
funcF(100,c="您好",d="这是一个精彩的世界!",b=200)
if x > y:
return x
elif x == y:
if x > y:
return x
elif x == y:
print(n)
if int(n/2) > 0:
return calc(int(n/2))
print("-->",n)
calc(10)
sum = 0
if n <= 0:
return 1
else:
lambda
声明该行代码是一个lambda表达式,紧跟在后面的是函数的参数,多个参数用逗号,
分割;然后使用冒号:
分割开参数和函数体。
def use_lambda():
return lambda x: x * x
#一种列表传值 def get_square(l): L=[] for i in l: L.append(i*i) print(L)get_square([1,2,3,4])#map函数 iter = map(lambda x: x*x ,range(50)) for i in iter: print('i : %d' %i)r = map(lambda x,y : x*y,[1,2,3,4,5],[6,7,8,9,10]) for i in r: print('i : %d' % i) 六、函数式编程
return x * x
def h(func,x):
return func(x) * func(x)
print(h(f,2 ))
def m(x):
def n():
return x ** x
return n
sub_func = m(2) print(sub_func())
#python中,对象和方法都是变量 def say_hello(name):
print('Hello,%s' % name)
say_hello("lovexiaowi" ) #等同于以下写法,给函数赋值给sh 变量
#sh = say_hello
#Author is wspikh
# -*- coding: encoding -*-
print(all([0,1,-5]))
print(any([0,1,-5]))
#十进制转二进制
print(bin(10))
#过滤以及匿名参数
print(i)
print("")
print("")
#map
res = map(lambda n:n*n,range(10)) # 等同于[i*2 for i in range(10)]
for i in res:
print(i)
print("")
print("")
#reduce
import functools
res = functools.reduce(lambda x,y:x+y,range(10))
print(res)
print("")
print("")
#globals
print(globals())
print("")
#十进制转十六进制
print(hex(255))
print("")
#十进制转八进制
print(oct(16))
print("")
#zip
a = [1,2,3,4,5]
b = ['a','b','c','d','e']
for i in zip(a,b):
print(i)
转载于:https://www.cnblogs.com/wspkh/p/5749056.html
Python的平凡之路(3)相关推荐
- Python的平凡之路(5)
一.模块介绍 定义: 模块--用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名test.py,模块名test) 包-用来从逻辑上组织 ...
- 平凡之路:计算机基础+python初体验
主要内容: 计算机发展史 计算机硬件及操作系统 字符编码简介 Python简介 Python基础知识 一.初窥计算机的世界 1.简述计算机的发展史 从第一台电子计算机发展到今日,掐指算下来也有70余年 ...
- python虫虫(平凡之路)
爬取单一网页上的内容,并保存到txt文档内,以小说排行榜首页为例: import requests import time import re url = 'http://top.baidu.com/ ...
- 风变python小课 基础语法12 作业1_菜鸟的风变编程Python小课之路,这么学编程也可以?...
原标题:菜鸟的风变编程Python小课之路,这么学编程也可以? 作为职场菜鸟,我感觉我就是现实生活里的孙弈秋,虽然学历没有他那么惨,但是在公司总感觉不那么受待见,可能因为我们这个行业本身竞争大吧,领导 ...
- 中国民生银行天眼日志平台架构演进的平凡之路
本文由 [AI前线]原创,原文链接:t.cn/RYgJ8hD AI 前线导读: "随着中国民生银行的 IT 业务系统的迅速发展,主机.设备.系统.应用软件数量不断增多,业务资源访问.操作量不 ...
- 《中国民生银行天眼日志平台架构演进的平凡之路》阅读有感
<中国民生银行天眼日志平台架构演进的平凡之路>阅读有感 随着中国民生银行的 IT 业务系统的迅速发展,主机.设备.系统.应用软件数量不断增多,业务资源访问.操作量不断增加,对于应用整体系统 ...
- Python 闯关之路一(语法基础)
原文:https://www.cnblogs.com/wj-1314/p/8403977.html python 闯关之路一(语法基础) 1,什么是编程?为什么要编程? 答:编程是个动词,编程就等于写 ...
- 我的python爬虫自学之路
昨天开始装装插件,找找博客,看看知乎,开始我的python的自学之路.惭愧,我算是一个只有三分钟热度的人,挖个坑督促一下自己.希望能坚持把坑填上. 先来盘点一下昨天完成的事,以及接下来的计划. 看完两 ...
- 没毕业就3次跳槽的经历,走不平凡的路,让人跌破眼镜。
今天和朋友聊了下自己这段时间找工作的历程,感触挺多的,也挺特别的,应该算特别吧,毕竟还没毕业就跳了3次槽,不说前无古人,后无来者,但也算不简单了吧!为此有了写下这篇随笔想法,不注重什么文笔,也不注重什 ...
最新文章
- 深入“肠-脑”神经高速通道,揭开“第六感觉”面纱
- 用 JOTM 向Servlet中添加事务
- 简单三步搭建一对一直播源码系统
- 中绘制折线_啥是折线图?啥时候用?怎么用呢?这里全都有,满足你的味蕾
- centos7,google身份验证
- ZRender源码分析2:Storage(Model层)
- 本地计算机上的mysql服务怎么注册,本地计算机上的mysql服务启动后中止
- matlab与python实现神经网络_Adaline神经网络简单介绍和MATLAB简单实现
- ThinkPHP中的路由是什么意思?
- 盘点2012中国承载网十大事件(转)
- VC++开发学习三(对话框之间的信息传递的方法总结)
- Python菜鸟教程
- 怎么把ide改成ahci_不重装系统如何开启ahci模式_不重装系统ahci改ide模式的方法...
- Deepin系统安装摄像头驱动
- 操作系统镜像资源(迅雷、天翼云、百度云)
- Maya制作卡通眨眼眼皮绑定技巧
- Oracle ERP AP模组中Vender 联系人信息查询语句
- 关于Render在不同情况的用法
- opencv打开网络摄像机实时视频
- Python简洁出入库系统(批量出入库)