Python学习日记(二:函数和逻辑操作)

简介: Python中的函数和逻辑操作至关重要。函数包括可变和不可变参数。

 概述:

函数和逻辑操作在python中的地位是非常重要的,当然不只是在python中,几乎每一门编程语言都会用到这两样,所以打好基础对我们以后的学习非常重要,Python中的函数有很多都是已经封装好的,我们可以自己用语言去实现一个函数,这样不仅让我们可以有更好解决问题的能力,还可以对函数有更深的了解。

函数:

首先我们要知道python中的参数分为两种类型,分别是可变和不可变类型。

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

不可变类型示例

#不可变对象
def ChangeInt(Number):
    Number = 100
    return
Number_ture = 90
ChangeInt(Number_ture)
print(Number_ture) #打印结果 90 因为Python本身并不存在一些值传递还是地址传递,所有的对象也并没有固定的类型,我们可以理解为是修改了一个复制过来的,并不能影响Number_true本身

image.gif

可变类型示例

#可变对象
def ChangeList(MyList):
    MyList.append([1,2,3,4])
    return
MyList = [10,10,10]
ChangeList(MyList)
print(MyList) #打印结果[10, 10, 10, [1, 2, 3, 4]]

image.gif

默认参数

我们给函数的形参赋值,而这个值也可以被称为默认参数。示例如下

def printinfo(name, age = 35):
    print(name,age)
    return
printinfo(50,"lucy")

image.gif

值得一提的是如果形参有两个我们至少要填一个参数,否则会报错!

不定长参数

我认为python里面一个非常厉害的功能,不定长参数,他会把带星号的输入参数当作元组去处理,这样我们就可以实现输入一个或者多个参数,非常方便。但是好处往往也对应着坏处,API的封装同时对应的就是时间的消耗,所以说平时我们对于代码的要求还是需要考虑一些时间方面,养成好习惯。

#不定长参数 带星号的输入参数被当作元组处理
def functiom_indeterminacy(arg, *vartuple):
    print(arg)
    for var in vartuple:
        print (var)
    return
functiom_indeterminacy(10,20,30) #打印结果 10 20 30
functiom_indeterminacy(10,20,30,40,50,60) #打印结果 10 20 30 40 50 60

image.gif

匿名函数

这是一个不用def就能实现的函数,主要依靠与lambda关键字。

#匿名函数
sum = lambda number1,number2:number1 + number2
print(sum(10,20)) #打印结果30

image.gif

return

我们也可以返回一些值,这个比较容易理解,大家看看即可

#return
def functionSum(number1,number2):
    All = number1 + number2
    return All
AllResult = functionSum(20,20)
print(AllResult) #打印结果 40
#值得一提的是在函数中定义的变量是局部变量,在函数外是不能被访问的,这一点在C语言中非常常见,相反函数定义的变量就是全局变量

image.gif

逻辑操作:

逻辑运算符

#逻辑运算符
c语言解释法:#在Python种,&&是or,||是and,!是not
or是一真为真 例如tureorfalse 则返回的是true
and是一假为假 例如  false and true 则返回的是false true and true 返回的则是true

image.gif

IF语句

if语句就是当条件为真时执行下面的语句,否则就执行else里面的语句,当然我们也可以if else组合起来使用

#if
格式:
if condition:
    语句
if True:
    print("True")
    print("True1")
else:
    print("false")
name = "ruler"
if name == "ruler":
    print("ruler")
elif name == "lucy"
    print("lucy")
else:
    print("not ruler")
#打印结果
True
True1
ruler

image.gif

while语句

while语句在python种是非常重要和非常常用的语句。

while condition:
    语句
#while
a = 1
while a!=10:
    print(a)
    a+=1
#打印结果 1 2 3 4 5 6 7 8 9

image.gif

break和continue

break和continue是为了控制循环的一个手段,break是跳出本次循环,并不再进入,而continue则是完成本次循环,然后继续下一次循环

#break
number = 5
while(number > 2):
    number-=1
    if(number == 3):
        break
    print("我是打印的内容")
#打印内容 我是打印的内容 只有一次 因为当number等于3的时候就跳出了循环,并且不再进入
#continue
number = 5
while(number > 2):
    number-=1
    if(number == 3):
        continue
    print("我是打印的内容")
#打印内容 我是打印的内容
我是打印的内容  有两次,因为continue跳出本次循环后会继续进入下次循环

image.gif

for和pass

for循环在python种就是为了便利一些数组,非常的方便

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

Python 语言 pass 语句语法格式如下:

#for and pass
for letter in "python":
    print("当前字母:%s" %letter)
fruits = ["banana","apple","mango"]
for fruit in fruits:
    print("当前水果:%s" %fruit)
for index in range(len(fruits)):
    print("当前水果:%s" %fruits[index])
for letter in "python":
    if letter == "o":
        pass
        print("pass")
    print("当前字母:%s" %letter)
#打印内容
当前字母:p
当前字母:y
当前字母:t
当前字母:h
当前字母:o
当前字母:n
当前水果:banana
当前水果:apple
当前水果:mango
当前水果:banana
当前水果:apple
当前水果:mango
当前字母:p
当前字母:y
当前字母:t
当前字母:h
pass
当前字母:o
当前字母:n

image.gif

image.gif 编辑


相关文章
|
23天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
5天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
14天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
2天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
17 3
|
6天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
19 2
|
25天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
25天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
23天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
25天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
25天前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!

热门文章

最新文章