重走py 之路 ——普通操作与函数(三)
前言
本节主要介绍函数,但是函数是由操作组成的。那么就分为两部,一部分为操作一部分为函数。
正文
py世界中的操作。
操作
if:
在学习任何一门语言中,关系if,要关系另外一件事,那就是if是否只能判断bool,还是可以判断其他的,比如说1或者0。
if 1:
print("good");
输出:good.
看了py 中if是对bool进行扩展了。
再来看:
if "":
print("good");
if "123":
print("123good");
输出:"123good"
看了其对空字符的是一个false状态
if None:
print("none");
没有任何输出,那么其对None 是false状态,在这里说明一下py中没有Null,只有None。
那么看下其对列表和集合的态度是怎么样的。
list=[]
a={};
if list:
print("not none");
else:
print("none")
if a:
print("not none");
else:
print("none")
返回两个none,说明其还会根据len来做判断,非常友好的一个东西。
那么在if中或和且是否是我们原来熟悉的&&还有||呢?
在这里说明一下,py的语义化太好了,直接使用and 和or 来说明。
比如说:
list=[]
if 'good' in list:
print("have good");
elif ('not good' in list or 'sleep' in list) and 'name' in list:
print("not good");
上面可以看出else if 用elif来替代。list是否包含某个字符,可以直接用in来操作。
输入:
在前面和上续中,有很多print,也就是输出,那么如何输入呢?
name = input("please say your name:");
print(name);
输入和输出:
please say your name:11
11
在这里说明一点,就是上面name的等于号,一定要有空格,这个py的规范,否则将会出现异常。
其他一些操作:
while 和其他语言一样,但是得记得while后面加:,例如:
while true:
pass
函数
在很多语言中,函数都是非常关键的东西,因为你不可能一行写到尾。
def printName(firstName,lastName):
print("firstName:"+firstName+"lastName:"+lastName);
printName("firstName","lastName");
输出:firstName:firstNamelastName:lastName
那么学了这么多语言,要思考的问题是py到底能不能设置参数默认值,或者能不能显示传参。
def printName(firstName,lastName):
print("firstName:"+firstName+"lastName:"+lastName);
printName(firstName="firstName",lastName="lastName");
事实证明是可以显示传参的,同样也是可以有默认值的。
def printName(firstName,lastName="tom"):
print("firstName:"+firstName+"lastName:"+lastName);
printName(firstName="firstName");
这样就可以。现在我们发现一个问题,那就是printName 在调用的时候没有信息,那么我们需要加上注释:
def printName(firstName,lastName="tom"):
"""
printName 输出名字
args:
firstName string
lastName string
return:
none
"""
print("firstName:"+firstName+"lastName:"+lastName);
printName(firstName="firstName");
那么看下什么效果:
是的,这样对于团队协作来说好太多了。
同样函数值得关注的还有是否可以传递任意数量的实参。
def printName(*name):
"""
printName say name
args:
firstName string
lastName string
return:
none
"""
print("firstName:"+name[0]+"lastName:"+name[1]);
printName("firstName","lastname");
这样似乎就可以了,*name,表示建立一个元组,传递任意的参数将会组成一个元组。
那么任意数量的实参是不是只能是数组呢?如果你在加一个*的话,那么你可以传递字典。
def printName(**name):
"""
printName say name
args:
firstName string
lastName string
return:
none
"""
print(name);
printName(firstName="firstName",lastname="lastname");
输出:{'lastname': 'lastname', 'firstName': 'firstName'}
结
next 类和模块
相关文章
- C语言---变量与函数
- C++学习7-面向对象编程基础(多态性与虚函数、 IO文件流操作)
- 创新推出 | Serverless 场景排查问题利器:函数实例命令行操作
- oracle add_months函数
- (笔试题)关于C++的虚函数和多态性
- Scala - 快速学习08 - 函数式编程:高阶函数
- loadrunner12:常用函数汇总说明之Database Functions参数函数,操作mysql数据库
- Python学习笔记之常用函数及说明
- Scala - 快速学习09 - 函数式编程:一些操作
- Atitit sql注入的防范 目录 1.1. 检查数据类型 1 2. 有限操作DML 1 2.1. 限制执行函数黑名单机制 2 2.2. 限制执行系统sp 2 2.3. 限制数据查询语句类型,只能
- C++中string类的操作函数。
- 什么是 JavaScript 里的异步操作和回调函数
- mysql常用基础操作语法(十一)~~字符串函数【命令行模式】
- 100天精通Python(数据分析篇)——第76天:Pandas数据类型转换函数pd.to_numeric(参数说明+实战案例)
- C++ 操作DLL的函数 Loadlibrary GetProcAddress FreeLibrary
- 练习 2-6 编写一个函数setbits(x, p, n, y),该函数返回对x执行下列操作后的结果值:将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。
- 练习 2-7 编写一个函数invert(x, p, n),该函数返回对x执行下列操作后的结果值:将x中从第p位开始的n个(二进制)位求反(即,1变成0,0变成1),x的其余各位保持不变。
- VB编程:利用CallByName函数对对象进行操作-23
- 【Android 逆向】Android 逆向通用工具开发 ( Android 端远程命令工具 | Android 端可执行程序的 main 函数操作 | TCP 协议服务器建立 | 接收客户端数据 )
- 【MATLAB】三维图形绘制 ( plot3 函数 | plot3 绘图示例 | 2D 与 3D 关联 )
- Python标准库:内置函数memoryview(obj)
- R-sampe & seq函数学习[转载]
- Lua函数声明与调用
- MySQL 字符串与时间操作函数
- 如何在 PgSql 中高效读取和插入坐标数据:掌握专业函数加速操作