Python第一周学习总结

第一个Python程序

命令行模式

在Windows开始菜单选择“命令提示符”,进入命令行模式,提示符类似C:\>。

Python交互模式

在命令行模式下敲命令python,进入Python交互模式,提示符是>>>。相当于启动了Python解释器。

区分命令行模式和Python交互模式。

1.在命令行模式下,可以执行python进入Python交互式环境,也可以执行python hello.py运行一个.py文件。执行一个.py文件只能在命令行模式执行。相当于启动了Python解释器。

2.在命令行模式运行.py文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。

Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。

在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。

在命令行模式下,可以直接运行.py文件。

输入和输出

输入:用print()在括号中加上字符串,多个字符串用逗号“,”隔开。

输出:用input()存放到一个变量里。

数据类型和变量

数据类型

1.整数

2.浮点数

3.字符串:单引号'或双引号"括起来的任意文本。

4.转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。

r''表示''内部的字符串默认不转义。

'''...'''的格式表示多行内容。

5.布尔值:只有TrueFalse两种值。

6.and运算是与运算,只有所有都为Trueand运算结果才是True。

 or运算是或运算,只要其中有一个为Trueor运算结果就是True。

 not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True。

7.空值:用None表示。

变量

变量名必须是大小写英文、数字和_的组合,且不能用数字开头。

等号=是赋值语句

Python解释器干了两件事情:

  1. 在内存中创建了一个'ABC'的字符串;

  2. 在内存中创建了一个名为a的变量,并把它指向'ABC'

常量

Python的整数没有大小限制。

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。

字符串和编码

1.ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。

2.字符串类型是str。保存到磁盘上,就需要把str变为以字节为单位的bytes

3.区分'ABC'b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

占位符替换内容
%d整数
%f浮点数
%s字符串
%x十六进制整数

4.format():使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}{1}……。

5.f-string:字符串如果包含{xxx},就会以对应的变量替换。

使用list和tuple

list:列表,可变的有序表。(可变)

tuple:有序列表是元组,tuple一旦初始化就不能修改。(不可变)

条件判断

1.elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

2.input()返回的数据类型是strstr不能直接和整数比较,必须先把str转换成整数。

循环

1.for...in循环

依次把list或tuple中的每个元素迭代出来。

range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。

2.while循环

只要条件满足,就不断循环,条件不满足时退出循环。

在循环中,break语句可以提前退出循环。

在循环中,continue语句跳过当前的这次循环,直接开始下一次循环。

使用dict和set

dict:dict全称dictionary,也称为map,使用键-值(key-value)存储,具有极快的查找速度。

dict内部存放的顺序和key放入的顺序是没有关系的。

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

dict是用空间来换取时间的一种方法。

dict的key必须是不可变对象

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合。

set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

调用函数

求绝对值的函数abs

定义函数

定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

空函数:用pass语句,可以用来作为占位符

函数可以同时返回多个值,但其实就是一个tuple。

函数的参数

1.power(x, n)函数,可以计算任意n次方

2.3.定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

3.调用函数时如何传入可变参数和关键字参数的语法:

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3))

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})

递归函数

1.计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示

2.递归函数优点:逻辑简单清晰,缺点:过深的调用会导致栈溢出。

3.针对尾递归优化的语言可以通过尾递归防止栈溢出。尾递归事实上和循环是等价的,没有循环语句的编程语言只能通过尾递归实现循环。

4.Python标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值