python 学习第一周

python学习 第一周

一、简介

1.跨平台

2.代码函数少,Java的1/5

3.应用广泛

3.从IDLE启动 Shell

二、知识点

1.基础快捷键以及符号:

提示符:“<<<”

注释:“#”

打上一条语句:“alt”+”n”

去到下一条语句:“alt”+“p”

新建窗口:“CTRL”+“N”

缩进或者联想词:“Tab”
#用缩进代替其他语言的大括号

#前一个语句有“:”时会自动缩进

保存:“CTRL”+“S”

运行:F5

2.BIF==Built-in
function 内置函数

①查找所有内置函数

在这里插入图片描述

②查找内置函数意义:
在这里插入图片描述

3.变量

变量名就像我们现实社会的名字,把一个值赋值给一个名字时,Ta会存储在内存中,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存绪在变量中”

不过Python与大多数其他计算机语言的做法稍有不同,Ta并不是把值存储在变量中,而更像是把名字贴在值的上边。

所以有些Python程序员会说“Python”没有“变量”,只有名字。变量名字没有数据类型。

在使用变量之前,需要对其先赋值。变量名可以包括字母、数字、下划线,但变量名不能以数字开头。

字母可以是大写或小写,但大小写是不同的。也就是说fishc和FishC对于Python来说是完全不同的两个名字

等号(=)是赋值的意思,左边是名字,右边是值,不可写反。

变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业一点儿的名字

4.字符串

要告诉Python你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号,Python女士表示不挑剔。但必须成对,你不能一边单引号,另一边却花心的用上双引号结尾。

如果字符串中需要出现单引号或双引号怎么办?(最新版本可以不用转移字符,自动识别)

例如我想打印字符串: Let’s go!

有两种方法,第一种比较常用,就是使用我们的转义符号()对字符串中的引号进行转义:

'Let/'sgo!’
在这里插入图片描述

第二种方法:最外层用双引号

在这里插入图片描述

5.原始字符串

我们可以用反斜杠对自身进行转义:

str =’C:\now’

但如果对于一个字符串中有很多个反斜杠:

str
=’C:\Program Files\Intel\WiFi\Help’

原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:

str = r’C:\now’

原始字符串的最后不能加“\”,但如果一定要用“\”,则可以用“\”或者“\□”(加空格)

3.8新版本:不需要加r也可以转换成\输出正确的
在这里插入图片描述

6.长字符串

如果希望得到一个跨越多行的字符串,例如:

我爱鱼C,

正如我爱小甲鱼,

他那呱唧呱唧

呱唧呱唧

呱唧呱唧的声音

这我们就需要使用到三重引号字符串!

在这里插入图片描述

7.条件分支

7.1 比较操作符

= < <= == !=

7.2条件分支语法

If:

(缩进表示)

else:

(缩进表示)

7.3while循环(与C语言相通)

这里我们给大家的提示是:使用and逻辑操作符(优先级高于比较运算符)

  • Python的and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值。
    在这里插入图片描述

7.4 引入外援

引入外援

第三个改进要求:每次运行程序产生的答案是随机的。

我们需要引入外援: random模块

这个random模块里边有一个函数叫做:randint(), Ta会返回一个随机的整数。
在这里插入图片描述

三、数据类型

1.不同数据类型

整型:3的版本将整型和长整型结合到一起,所以不限制数据长度

浮点型:有小数点

E记法:科学计数法

布尔类型:特殊的整形 true1
false
0

2.数据类型转换

Int()整数

Str()字符串

Float()浮点数

截断处理:砍掉小数点后的内容(非四舍五入)

Type()、insinstance() 查看函数类型

在这里插入图片描述

四、基本操作符

1.算术操作符

1.1运算符

      • % / ** //

+= -=
*= /=

Python的除法(/)变成了真实的除法,返回的可以是浮点数,但仍保留了地板除法,用//表示(整数和浮点数都是地板除法)

”表示幂运算,“35“即”35”,3的5次幂。

1.2优先级

幂运算优先级比其左侧一元运算符高,比其右侧一元运算符低

2.比较操作符

3.逻辑操作符

not非 高于 and且 高于 or或

在python中“3<4<5”是成立的,解释为”(3 < 4)and(4 < 5)”
在这里插入图片描述

3.三元操作符

X if
x < y else y

当x<y为真,则将x的值返回,若为假,将y的值返回

条件表达式(三元操作符)

有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下的条件判断和赋值操作:

x,y=4,5

ifx<y:

small
= X

else:

small
= y

例子可以改进为:

small=XifX<yelsey

五、循环

1.断言:assert

assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。

举个例子:

assert 3 > 4

一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。

2.while循环

while 条件:

循环体

3.for循环

虽然说Python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,Python的for循环显得更为智能和强大!

For 目标
in 表达式

循环体

4.range(
)

语法: range( [strat, ] stop[, step=1] )

-这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。

step=1表示第三个参数的值默认值是1。

range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。

在这里插入图片描述

5.Break和continue语句

Break跳出循环,continue终止本轮循环,条件判断后进入下一循环

在这里插入图片描述
在这里插入图片描述

六、列表[ ]

1.从列表中获取元素

跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从0开始的。

列表中可混合类型,而数组中则是单一类型

在这里插入图片描述

2.创建列表

创建一个普通列表

创建一个混合列表

创建一个空列表

3.向列表添加

① append( ) 向列表增加一个参数

member.append( )

member:列表对象

.:范围

append:属于对象的函数称为方法

② extend( ) 扩展列表 向列表增加一个列表

member. extend ([‘‘, ‘‘] )

③ insert(索引值,“
”)

索引值从0开始!!

4.从列表删除元素

①remove( )

member.remove(“ ”) 需知元素具体名

②del del member[ 索引值 ]

③pop( ) 可赋值

member.
pop(索引值)

member.
pop( ) 返回、删除最后一个元素

在这里插入图片描述

5.列表分片(Slice)

利用索引值,每次我们可以从列表获取一个元素,但是我们总是贪心的,如果一次性需要获取多个元素,有没有办法实现呢?利用列表分片,我们可以简单的实现这个要求。

Member[ n:m] 从索引值n开始到索引值m-1结束

Member[ n:] 从索引值n到最后

Member[:m] 从最开始到索引值m

Member[:] 列表的拷贝

关于拷贝的补充:

若List11=list13,则list11改变时,list13也改变

若list12=list[:]

在这里插入图片描述

6.列表比较

从索引值为0的位置开始比较

“+”:两边类型相同时,拼接,但是类型不同时不能使用

“*”:类型相同时复制(重复操作符)

7.判断元素是否在列表中

123
in list3 只影响一层,不能判断列表包含的列表的元素

123
not in list3

在这里插入图片描述

8.列表的小伙伴(内置函数)

①count( ) 计算参数在列表中出现

②index ( , ,)

③revers 将最后的调到最前,倒数第二到前第二(原地翻转)

④sort 用指定顺序排列表 sort(func,key)

sort ()默认从小到大排列

sort(revers=True) 从大到小排列

在这里插入图片描述

五、元组:戴上了枷锁的列表

最大区别:列表可任意修改、增减其中的元素,权限大;元组则不行,不可改变

1.创建和访问元组

tuplel=(1,2,3,8,7,6,4,5)——tuple[1]=2

tuplel也可切片 tuple[:] tuplel[5:]

元组的关键符号是“,”

Tuplel=(1) (X) 是整型

Tuplel=(1,) 才是元组

Tuplel=( )空元组

8*(8)=64

8*(8)=(8,8,8,8,8,8,8,8)

2.更新和删除:

元组相关操作符:del 是删除整个元素

但是python有回收机制,拼接操作

3.加入:切片

六、字符串
015 字符串:格式化
1.Format参数:将指定的参数替换到列表指定位置
在这里插入图片描述
2.字符串独自享用的操作符
在这里插入图片描述
3.字符串转义字符含义
在这里插入图片描述

七、序列
列表、元组、字符串共同点
-都可以索引得到每一个元素
-默认索引值从零开始
-可以通过分片的方法得到一个范围内的元素集合
-有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
2.list()————可以把字符串和元组变成列表。
Tuple()————把一个可迭代的对象转换为元组
Str(obj)————把obj对象转换成字符串
Sum(iterable【,start=0】)返回序列iterable和可选参数start的总和
Sorted()使用方法等于list.sort()
Reversed()
Enumerate()
Zip()------返回由各个参数组成的
在这里插入图片描述

八、函数

1.形参和实参

def MyFirstFunction( name):

‘函数定义过程中的name是叫形参’(函数文档,会被存储,但不会打印出来,功能和注释一样)

#因为Ta只是一个形式,表示占据一个参数位置

print('传递进来的’+ name + '叫做实参,因为Ta是具体的参数值! ')

MyFirstFunction(‘小甲 鱼’)

传递进来的小甲鱼叫做实参,因为Ta是具体的参数值!

形式叁数( parameter)

实际叁数(argument)

2.函数文档

函数名.doc 即可打印函数文档

Help(函数名)

3.关键字参数

在这里插入图片描述

4.默认函数
在这里插入图片描述

在参数定义过程中为形参赋初值,当函数调用是忘记了给实参,那就会自动去找默认值代替

5.收集参数

在函数前加上“*” 即可变

在这里插入图片描述

把标志为收集参数的参数用一个元组打包起来,用逗号隔开,将其放到名字上

如果后面要加定制参数,就要用关键字参数
在这里插入图片描述

6.函数与过程

函数(function):有返回值

过程(procedure) 是简单、特殊并且没有返回值的

Python严格来说只有函数没有过程

动态的确定类型

Python可返回多个值(用列表)

7.变量作用域

局部变量

全局变量

可以随意访问全局变量,但在函数内部修改时,python会自动创建一个名字一样的局部变量

8.递归
8.1谢尔宾斯三角形
女神自拍
8.2递归求阶乘的函数
:求五的阶乘
非递归版本:
factorial (n) ;
result=n
For lin range(1,n):
result*=I
Return result
Number=int(input(请输入一个正整数’) )
result=factorial (number)
Print( "%d的阶乘是: %d "% (number, result) )
递归版本:
Def factorial (n):
Ifn==1:
Return 1
Else:
Return n*factorial(n-1)
Number=int(input(请输入-个正整数: ') )
result= factorial (number)
printf ( “%d的阶乘是: %d” % (number, result) )
条件: 1.有调用函数自身的行为
2.有一个正确的发挥条件

8.3波那契数列.
用数学定义
f (n) =1,当n=1
1,当n=2
f (n-1) +f (n-2) ,当n>2
Def fab(n):
n1=1
n2=1
n3=1
If n<1;
Print('输入有误")
Return=1
While (n-2) >0;
N3=n2+n1
N1=n2
N2=n3
N=1
Return n3
Result=fab(20)
If result!=-1:
Print( '总共有%d对小兔子诞生! '%result)
Def fab(n):
If n<1;
Print(输入有误!)
Return -1
Ifn1 or n2;
Return 1
Else:
Return fab(n- 1)+fab(n-2)
Result= fab(20)
If result !=-1:
Print( '总共有%d对小兔子诞生! '%result)
分治思想

8.4汉诺塔
2020年7月14日
18:32
Def hanoi (n, x, y, z) ;
If n==1 ;
print (x, ‘–>’,z)
Else:
hanoi (n-1, x, z, y) #将前n-1个盘子从x移动到y上
print (x, '–> ',z)#将最底下的最后一个盘子移动到z上
hanoi (n-1, y, x,z) #将y_上的n-1个盘子移动到z上
n=int (input ( '请输入汉诺塔的层数:))
Hanoi(n,‘x’,‘y’,‘z’)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值