python3 函数传参练习 全局变量与局部变量 的理解
额 还是继续抄一边NLP第二条:
2.一个人不能控制另外一个人
一个人不能改变另外一个人,一个人只能改变自己。
每个人的信念,价值观,规条系统只对本人有效,不应强求别人接守。
改变自己,别人才会有可能改变。
一个人不能推动另外一个人,每个人都只可以自己推动自己。
找出对方的价值观,创造,增大或转移对方在乎的价值,对方便会产生推动自己的行为。
一个人因此不能“教导”另外一个人,一个人只能引导另外一个人取学习。
因此一个人不能希望另外一个人放弃自己的一套信念,价值观和规条系统,而去接受另外的一套。
好的动机只给一个人取去做某一件事的原因,但是不能给他控制别人,或使事情恰如他所愿发生的权利。
不强迫别人跟随自己的一套信念,价值观和规条,别人便不会抗拒。
同样的,我们只能自己推动自己。
唉,还有点儿看不懂。。。。。
先来几个Pycharm的快捷键 炒鸡好用!!!
Ctrl + 鼠标左键 可以来回看函数调用
Shift + Enter 快速换行
Ctrl + d 复制一行
Ctrl +y 删除一行
Ctrl + / 注释一行或所选多行
Shift + Tab 所选多行后退一个缩进
函数的三大性质:减少重复代码 使程序变得可扩展 使程序变得易维护
三大编程方式:面向对象方法(Python) 面向过程方法(C) 函数式编程(Erlang)
核心 类(class) 无返回值函数 有返回值函数
草稿如下。。。
#!usr/bin/env/ python
# -*- coding:utf-8 -*-
# Author: XiaoFeng a = 1, 2, 3 # 这样赋值,结果是元组输出 理解这点很关键 下面都得用!!!
print(a)
print("-" * 50) def test(): # 这是无参函数 也叫面向过程
print("呀哈哈哈哈")
# 没有return 所以也叫面向过程 t = test()
print(t) # 返回空
print("-" * 50) def test0():
print("呀哈哈哈哈")
return 1, "a", ["list"], {"ket": "value"}
# 啥都能返回 以元组打包的形式返回 t = test0()
print(t)
print("-" * 50) def test1(x, y, z): # x,y,z是位置参数 赋值与实参位置有关
print(x)
print(y)
print(z)
return "test" # 有返回值 即为函数式编程 只有一个数据的时候就不打包了 t2 = test1(1, 2, 3) # 第一种输入方式 按顺序赋值
print(t2)
print("-" * 50)
t3 = test1(y=1, x=2, z=3) # 关键字赋值 想咋输咋输,不用在乎顺序
print("-" * 50)
# t4 = test2(y=1,2,3) 这就不对 这样写y现在是元组了
t5 = test1(1, z=2, y=3) # 这样混着用,
print("-" * 50)
# t5 = test2(z=2, 1, y=3) 这就不行 那不就是z 变成元组了么
# 所以想混着用,那就得把关键字放后面,前面的按顺序 def test2(x, y=1): # 默认形参
print(x)
print(y) test2(2) # 默认形参可不传值给他
test2(2, y=2) # 以关键字赋值的方式改默认
test2(2, 2) # 这样也可以。。
print("-" * 50) def test3(x, *args, y=0): # 传参数组 想传几个就传几个 然后以元组方式打包起来
print(x) # 按位置传值 相对应的位置就传给位置参数
print(y)
print(args) test3(1, 3, 4, "", 9, y=1) # 只要用关键字赋值,那就就必须放在最后面 原因在最上面
print("-" * 50) def test4(x, y=0, **kwargs): # 也是传参数组,不过是用字典包起来
print(x)
print(y)
print(kwargs) # 传参时用关键字赋值,以关键字作key test4(2, y=3, name="xiaofeng", age=20) # 注意字典的key不要与默认的形参重名
然后是全局变量,局部变量的区分 草稿如下。。。
#!usr/bin/env/ python
# -*- coding:utf-8 -*-
# Author: XiaoFeng global_x = 1 # 定义全局变量最好加个global 在最上面定义
# 事实证明这也不过是个变量,是可以改的 但是咱不改他 def test():
x = 3 # 局部变量 只在函数内起作用,函数结束就没了
global global_x # 非要改全局变量 那就先global声明一下就能改了
global_x = 6
print(x)
print(global_x) test()
print(global_x) # 递归函数 特点是 要有结束条件 问题规模应该减小 效率低 def test1(n):
if n > 0:
print(n)
return test1(int(n/2)) test1(20) def test2(a, b, f): # 高级函数 就是把函数名传到函数里用。。。这是要干啥
z = f(a) - f(b)
print(z) test2(4, -8, abs)
作业如下。。。。。。。。真不会写 头大
#!usr/bin/env/ python
# -*- coding:utf-8 -*-
# Author: XiaoFeng def print_list():
for index, i in enumerate(list1):
print(index, i) def search(find_str):
with open("config_test", "r", encoding="utf-8") as f:
for line in f:
if find_str == line:
line = next(f)
print(line)
# while "serve" in line:
# line = next(f)
# print(line) """
def add():
with open("config_test", "a+", encoding="utf-8") as f, \
open("config_test1", "w+", encoding="utf-8") as f2:
for line in f:
if arg[""] == line:
line = next(f)
print(line)
f2.write(line)
""" list1 = ["search", "add", "update", "delete"]
while True:
choice = input("请输入操作选择:")
if choice == "":
find_str0 = "backend "+input("请输入您要查询的内容:") + "\n"
search(find_str0)
# if choice == "1":
# arg = eval(input("请输入您要写入的内容:"))
# add(arg)
python3 函数传参练习 全局变量与局部变量 的理解的更多相关文章
- python基础:函数传参、全局变量、局部变量、内置函数、匿名函数、递归、os模块、time模块
---恢复内容开始--- 一.函数相关: 1.1位置参数: ef hello(name,sex,county='china'): pass #hello('hh','nv') #位置参数.默认参数 1 ...
- python函数传参是传值还是传引用?
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
- 『Python × C++』函数传参机制学习以及对比
一.Python函数传参 在python中,函数传参实际上传入的是变量的别名,由于python内在的变量机制(名称和变量值相互独立),只要传入的变量不可变(tuple中的元素也要是不可变的才行),那么 ...
- python中给函数传参是传值还是传引用
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
- 悉数 Python 函数传参的语法糖
TIOBE排行榜是程序开发语言的流行使用程度的有效指标,对世界范围内开发语言的走势具有重要参考意义.随着数据挖掘.机器学习和人工智能相关概念的风行,Python一举收获2018年年度语言,这也是Pyt ...
- [Java]_函数传参的疑惑与思考
问题来源于leetcode上的两道题 Path Sum I && II,分别写了两个dfs. void dfs(TreeNode node , int sum , ArrayList& ...
- pytest十一:函数传参和 firture 传参数 request
为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数.比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登录函数就行.但是登录 ...
- 函数传参传的是啥的思考【java Python】
今天看<java 核心 卷1>的时候,作者提到了函数传参的问题,他提到,java传参,传的是值,而不是引用,然后,函数将要传的实参的值(如果实参是基本数据类型,那么就是值.如果实参是对象, ...
- JS——变量和函数的预解析、匿名函数、函数传参、return
JS解析过程分为两个阶段:编译阶段.执行阶段.在编译阶段会将函数function的声明和定义都提前,而将变量var的声明提前,并将var定义的变量赋值为undefined. 匿名函数: window. ...
随机推荐
- CUDA编程模型之内存管理
CUDA编程模型假设系统是由一个主机和一个设备组成的,而且各自拥有独立的内存. 主机:CPU及其内存(主机内存),主机内存中的变量名以h_为前缀,主机代码按照ANSI C标准进行编写 设备:GPU及其 ...
- .Net Core微服务系列--开篇
记得原来有个项目是用wcf做的分布式,不仅横向根据业务拆分了,纵向把业务处理.数据访问等也拆分了成不同的服务,这个是当时公司的产品我也只是一个小小的开发人员所以就不做太多的评论,只是不得不吐槽下调试真 ...
- codeforces 982D Shark
题意: 给出一个数组,删除大于等于k的数字,使得其满足以下条件: 1.剩余的连续的段,每一段的长度相等: 2.在满足第一个条件的情况下,段数尽可能多: 3.在满足前两个条件的情况下,k取最小的. 求k ...
- 在线OJ的小demo
牛课网OJ规则 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read ...
- 有趣的toggleClass实现交替样式
addClass和removeClass进行样式类型的修改相信比较容易学习和接受 但是用这两个方法去实现交替样式,像一些<li>列表的样式,还有同类型数据的呈现, 当然很多框架都给出了封装 ...
- IntelliJ IDEA 配置maven
以下内容引自http://blog.csdn.net/qq_32588349/article/details/51461182. 使用IntelliJ IDEA 配置Maven(入门) ...
- 关于find命令的一些知识
在服务器运维的过程中,我们会用到这样一个命令,关于这个命令,你知道多少呢?接下来,咱们一起来研究一下它的用途. find命令主要用来在硬盘上搜索文件, find命令主要用于文件查找,列出当前目录及子目 ...
- POJ_3304_Segments_线段判断是否相交
POJ_3304_Segments_线段判断是否相交 Description Given n segments in the two dimensional space, write a progra ...
- JS基础:常用API
全局属性 typeof() 检测数据类型 parseInt() 从字符串解析一个整数 parseFloat() 从字符串解析一个小数 Number() 强制类型转换为数字 String() 强制类型转 ...
- Spring AOP就是这么简单啦
前言 只有光头才能变强 上一篇已经讲解了Spring IOC知识点一网打尽!,这篇主要是讲解Spring的AOP模块~ 之前我已经写过一篇关于AOP的文章了,那篇把比较重要的知识点都讲解过了一篇啦:S ...