Python函数及其用法(1)

本文介绍了Python的几个常用函数。print()函数在Python 3.x中替代了2.x的print语句,可设置end值让多行内容输出在一行;input()函数在2.x和3.x处理输入时有区别;int()函数用于将字符串或数字转换为整型;range()函数可创建整数列表,常用于for循环,还给出了相关例题。

print()函数

在Python2.x系列,print是一个保留字,3.x系列print()函数替换了print语句。

两个连续的print()函数输出内容一般会分行显示,即调用print()函数后会换行并结束当前行,那么如何让两个或多个print()函数的输出打印在一行内呢?
我们先看print()函数的定义:

print(*objects, sep=' ', end='\n', file=sys.stdout);

#  '#'为Python中的注释标志
#参数意义:
#*objects                复数     表示一次可输出多个对象,用“,”分开
#sep=' '                 用来间隔多个对象,默认值是空格
#end=‘\n'                用来设定以什么方式结尾   默认值是换行符,可以换成其他字符
#file=sys.stdout         file:要写入的文件对象

由print()函数的定义可以知道,要想多行内容输出在一行,只需要设置end的值就好了。
例如:

print("Hello",end=' ')
print("World!")

input()函数

Python3.x版本

input([prompt])

# 参数说明
# 如果[prompt]存在,它被写入标准输出中且没有换行。
  然后函数读取输入,将其转换为一个字符串,然后返回。
# 返回类型:
  返回类型为String类型

Python2.x版本说明:
使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的
当输入为纯数字时:
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型

当输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
如输入“1+2”:
input会得到整数3
raw_input会得到字符串”1+2”

input() 相等于 eval(raw_input(prompt))

int()函数

int() 函数用于将一个字符串或数字转换为整型。
以下是int函数的语法:

class int(x, base=10)

#  参数意义:
#  x       字符串或数字
#  base    进制数,默认十进制



>>>int(3)
3
>>>int(3.8)
3
>>>int('12',16)
18

返回值:
返回整型数据

数字形式转换
获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
0到9对应的中文字符分别是:零一二三四五六七八九
示例
输入 123 输出一二三
输入9876543210 输出九八七六五四三二一零

s=['零','一','二','三','四','五','六','七','八','九']
a=input()
i=0
b=len(a)                        #len()返回a字符串的长度
for b in a:                     #循环
    b=int(a[i])                 #int()是把字符a[i]转成数字了
    print(s[b],end='')          # 这里设置end参数,使输出为一行
    i=i+1

range()函数

range()函数可创建一个整数列表,一般用于for循环中
range()函数的语法如下:

range(start,stop[,step])

#  参数说明
#  start:计数从start开始。如果没有设置,默认为0,range(5)相当于range(0,5)
#  stop:计数到stop结束,但是不包括stop,range(0,5)即0,1,2,3,4
#  step:步长,没有设置时默认为1。步长不能设置为0



>>>range(5)
[0,1,2,3,4]

>>>range(0,5)
[0,1,2,3,4]

>>>range(0,15,5)
[0,5,10]

>>>range(5,0,-1)
[5,4,3,2,1]

例题:
猴子吃桃问题。猴子第一天摘下若干桃子,第一天吃了一半后,又吃了一个,第二题吃了剩下的一半又多吃了一个,在接下来的几天,每天都是吃前一天剩下的一半再多吃一个,到了第五天早上,还剩下1个,问猴子在最开始一共摘了多少桃子?

n=1
for i in range(4,0,-1):
    n=(n+1)<<1
print("第一天一共摘了{}个桃子".format(n)) 

>>第一天一共摘了46个桃子
Python 中,函数是组织好的、可重复使用的、用来实现单一或相关功能的代码块。Python 提供了丰富的内置函数(如 `print()`、`len()` 等),也支持用户自定义函数函数的使用可以提高代码的模块化和重用性。 --- ### 一、定义函数 使用 `def` 关键字来定义一个函数: ```python def greet(name): print(f"Hello, {name}!") greet("Alice") ``` **说明:** - `def` 是定义函数的关键字。 - `greet` 是函数名。 - `name` 是函数的参数。 - 函数体以冒号 `:` 开始,并缩进。 - 使用 `greet("Alice")` 调用函数。 --- ### 二、返回值 函数可以通过 `return` 语句返回结果: ```python def add(a, b): return a + b result = add(3, 5) print(result) # 输出 8 ``` --- ### 三、参数类型 Python 函数支持多种参数类型: 1. **位置参数**:按照参数顺序传参。 2. **关键字参数**:通过参数名指定值。 3. **默认参数**:为参数提供默认值。 4. **可变位置参数 `*args`**:接受任意数量的位置参数。 5. **可变关键字参数 `**kwargs`**:接受任意数量的关键字参数。 示例: ```python def demo(a, b=2, *args, **kwargs): print("a:", a) print("b:", b) print("args:", args) print("kwargs:", kwargs) demo(10, 20, 30, 40, name="Alice", age=25) ``` **输出:** ``` a: 10 b: 20 args: (30, 40) kwargs: {'name': 'Alice', 'age': 25} ``` --- ### 四、lambda 函数(匿名函数) lambda 是一种简洁的定义单表达式函数的方式: ```python square = lambda x: x * x print(square(5)) # 输出 25 ``` --- ### 五、函数作为参数传递 函数可以作为参数传入其他函数,这是函数式编程的核心: ```python def apply_func(func, x): return func(x) result = apply_func(lambda x: x ** 2, 4) print(result) # 输出 16 ``` --- ### 六、装饰器(Decorators) 装饰器是 Python 的一个高级特性,用于修改或增强函数行为而不修改其源码: ```python def my_decorator(func): def wrapper(): print("Before function call") func() print("After function call") return wrapper @my_decorator def say_hello(): print("Hello") say_hello() ``` --- ### 七、作用域与闭包 函数内部可以访问外部作用域的变量: ```python def outer(): x = "local" def inner(): print(x) inner() outer() # 输出 local ``` 闭包是指一个函数捕获了其外部作用域中的变量: ```python def make_multiplier(factor): def multiplier(x): return x * factor return multiplier double = make_multiplier(2) print(double(5)) # 输出 10 ``` --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值