cs61a-week1笔记

文章介绍了Python中的字符串操作,如切片、反转和计数,以及函数的使用,包括基本运算符、函数调用、纯函数与非纯函数的区别,以及变量查找机制。着重展示了Python中如何处理表达式和运算,以及函数的返回值和副作用概念。
摘要由CSDN通过智能技术生成

1 字符串语法

'go'+'bear'
#output:'gobear'

'draw'[::-1]
#output:'ward'

下面是一段文字的操作/玩耍

shakes = open('shakespeare.txt')
text = shakes.read().split()

len(text)   ## 长度(有几个词)
#output:105

text[:25]
#output:text的前25个单词

text.count('the')
#output:text里‘the’出现过的次数

words = set(text)
words
#output:text里出现过的所有单词

{w[0] for w in words}
#output:words里每个单词的第一个字母的集合

'computer'in words
#output:False(words里没有computer这个词)

# 找回文字符串
{w for w in words if w== w[::-1]} 
{w for w in words if w== w[::-1] and len(w)>4}

2 操作符 操作数 函数

操作符和操作数也是表达式

从外往里拆看结构-先运算符(operator),然后操作数子表达式(operand subexpression)
从里往外开始算-先把操作数子表达式都得到,再计算运算符

2.1 计算

max(2,4,5,6)
#output:6

from operator import add,mul,sub
x=add(2,3)
y=mul(2,2)
print(x,y)
#output:5 4

pow(2,3)
#output:8

5/3
#output:1.66666667
5//3
#output:1
5%3
#output:2

以上,
①max add mul sub都是函数。
②pow求幂。pow(底数,次数)
③在python中,一个反斜杠 ‘ / ’会输出完整运算结果,即会输出小数点后的,返回的是浮点类型结果。
而双反斜杠“ // ” 会输出整数结果,即返回整型结果。
符号%是取余数

2.2 赋值与函数

from math import pi,sin
pi
output:3.141592653589793

sin(pi/2)
output:1.0

radius=10
area=pi*radius*radius
area
#output:314.1592653589793

radius=5
area
#output:314.1592653589793

以上,
这里是赋值,于是赋值后改变radius的值,area的值是不会变化的。

如要可变化、灵活性的采用函数:

def area():                    #no operand
    return pi*radius*radius
area()
#output:78.53981633974483

radius=8
area()
#output:201.06192982974676

2.3 函数的两组区分

01 Return

def f(x): 
    a = x+1
    return a
a = f(5)
a
#output:6

a的值是5

01 No Return

def f(X): 
    add(x,x)
a = f(5)
a
#output:None

a的值是None

02 Pure functions :

函数有输入(their arguments) and 输出(the result of applying them),比如一些内置函数(built in function)

def f(x): 
    a = x+1
    return a

m=5
f(m)

Alt

02 Non-pure functions:

除了返回一个值,非纯函数可能产生副作用(side effect)。常见的side effect 是生成除了返回值外的输出,比如print function

def f(x): 
    print(x)
    a = x+1
    return a

m=5
f(m)

Alt

值得注意,result = with_if_function()是除了得到返回值同时还会运行函数(即print的内容也会出现)。而print(result)则只会输出函数返回值(值或者None)。【详见同专栏cs61a-hw1】
x=print(-2)
#output:-2
print(x)
#output:None
>>> print(print(1),print(2))
1
2
None None

3 其余概念

3.1 找一个变量

①first look for it in the local/current frame(当前所在frame,每引用一个函数就进入了它的frame)

②if not found,look for it in global frame

***the local frame is created when you #call the function 不是定义的时候噢!

3.2 python没有指针

在这里插入图片描述

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值