Python自学万文字,学习框架+思维整理,入门就是这么简单

Posted 世上本无鬼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自学万文字,学习框架+思维整理,入门就是这么简单相关的知识,希望对你有一定的参考价值。


你们的三连(点赞,收藏,评论)是我持续输出的动力,感谢。
在兴趣中学习,效益超乎想象,①有趣的源码与学习经验,②工具安装包,③专业解答,④学习资料共享

点击领取福利

入门Python

一、python基础知识

1.第一个Python程序

1.1pycharm介绍

PyCharm 是一种 PythonIDE,附带一辈可以帮助用户在使用 Python 语言开发时提高其效率的工具,例如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,用于支持Django框架下的专业Web开发。

使用pycharm写出第一个程序

1)打开 Pycharm,选择Create New Project,创建一个新项目创建项目

2)选择Pure Python表示创建一个纯 Python 程序项目,Location表示该项目保存的路径,Project Interpreter表示使用的 Python 解释器版本,最后点击Create创建项目。创建文件第二步

3)右击项目,选择New,再选择Python File 创建文件第三步

4)在OK创建一个文本的文本对话框中输入的文件名Hello,点击,显示Python程序的文本文件文件后缀名默认.py创建文件第四步

5)输入以下代码,并右击空白处,选择Run运行,表示打印一个字符串“Hello World!”。

print(“Hello World!”)

6)运行成功后,Pycharm Console 窗口将显示我们的输出结果。

2.注释

2.1注释的作用

通过用自己的语言,在对部分代码进行认知说明,这就是语音的作用,能够放大膨胀程序的神话性

2.2注释的分类

单行注释:
以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用

#这是python代码的注释
print ( "hello world" )

多行注释:
以""""""包裹或者’’’’’’'包裹,包裹中的内容就是注释部分

'''这是多行注释''' 
"""这也是多行注释"""

注意

多行对方的符号,必须一样不能要么都是单引号,要么都是单引号,不能混用

3.变量和数据类型

1)什么是变量?
变量是事件数据值的,程序就是处理数据的,而变量就是存储数据的

2)数据类型
为了更充分地利用内存空间以及不断的管理内存,变量是有不同的类型的。


3)有哪些变量的类型呢?
在python中,只要定义了一个变量,它就有数据,那么它的类型就已经确定了,不需要我们开发者主动去说明它的类型,系统会自动气泡
可以使用type(变量的名字),来查看变量的类型

4.Python基本数据类型

在 Python 中的数有四种,分别是整数(int)、长整数(long)、浮点数(float)、复数(complex)。

4.1整数

像 6 这样的数字就是整数,不带小数点的,而长整数只不过代表的是比较大一点的整数,现在 python3 中的整数(int)已经不限制数的大小限制了,所以整数类型也包括长整数。

我们可以通过 Python 交互式解释器来运算整数:

这里的 「6+6」没什么好说的吧,而 「6//2」就是6整除2的意思了,「1%2」的意思是说1除以2的余数,「%」有个专业名词叫做取余或者取模。而「2**3」就是2的三次方的意思。

4.2浮点数

但是如果你试试 「1/2」,这时候你会发现结果有小数点:

在这里的 「/」是除的意思,但是不会整除,你可以看到每次的结果都会有小数点。而这些像 「0.5」,「1.0」带有小数点的数我们就叫做浮点数。

4.3复数

Python中的复数由实数部分和虚数部分组成。虚部的后缀为「j」。

例如:4+5j 就是一个复数,实数部分为 4.0,虚数部分为 5.0。

你可以把复数理解成为一个平面的一个点,例如上面这个例子你可以把它理解为平面上的点(4,5)。

5.各种符号的意义及用法

我们小时候,老师都教过我们 1+1=2 ,这个 「1+1」 就是表达式, 「+」 就是运算符。

咱们接下来就来了解一下,在 python 中,那些运算符是什么意思,怎么用? 相信看完,你就能够明白了。

5.1加减乘除(±/*)

对于 ±*/ 我们都知道它们是什么含义了吧,就算你的数学是体育老师教的,你也会懂加减乘除吧。

不过有两个小细节值得你去注意,就是字符串之间的相加和相乘:

字符串之间的相加会被"拼接"起来,而字符串和数字相乘就会重复多次相同的字符串。

其它的大于、小于、大于等于、小于等于就不说了,因为我们小学老师都跟我们说过了。接下来说几个比较少见的符号。

5.2幂(**)

幂就是以前我们学数学的时候老师讲的什么什么几次方,别一看到幂就想到杨幂。

用符号 ** 表示, 比如 2**3 = 8

5.3整除(//)

我们知道 / 是除的意思,你知道 6/3 等于多少么?你可能会觉得在侮辱你的智商对不对,不是 2 么? 在 python 中得出的结果是 2.0 , 也就是它返回的是浮点数。 那么我们只想得到整数部分怎么玩呢?

// 这个 : 6//3 = 2

5.4取模(%)

取模的意思不是让你去获取个模特,是得到除法的余数,比如 8%5 = 3 ,因为 8/5 = 1余3

5.5左移(<<)和右移(>>)

移的意思就是把一个数的二进制移动多少个位。

比如 2 << 2 = 8 。
首先 2 的 二进制 是 0b00000010 ,然后将它左移2位(虚位补0)就变成这样: 0b00001000 ,它对应的十进制就是 8 。

同样的道理:

8 >> 2 的意思就是将 8 的二进制向右移动2位:

0b00001000 右移动2位:0b00000010 也就是对应十进制的 2。

那么下次有人问你2*8怎么样写代码比较高效,你就直接甩给它: 2<<3 就好了。

5.6(&)

记住一句话:“同真与真”,什么意思呢? 比如 1&1=1,1&0=0,

1就是真,0就是假。也就是只有 1&1=1,其它的都等于0。

那么 2 & 3 怎么算?

先将它们转化为二进制:

2对应的二进制 : 0b00000010

3对应的二进制 : 0b00000011

那么从右往左: 0&1=0 ,1&1=1,0&0=0,所以结果为

0b00000010,转化为十进制就是2,所以 2&3=2。

5.7(|)

记住一句话:“同假或假”,什么意思呢? 比如 1|1=1,0|0=0,

1就是真,0就是假。也就是只有 0|0=0,其它的都等于1。

那么 2 | 3 怎么算?

先将它们转化为二进制:

2对应的二进制 : 0b00000010

3对应的二进制 : 0b00000011

那么从右往左: 0|1=1 ,1&1=1,0&0=0,所以结果为

0b00000011,转化为十进制就是3,所以 2|3=3。

5.8异或(^)

相同者假,不同者真,什么意思呢?就是 1^1=0, 1^0=1。

那么 2^3 怎么算?

先将它们转化为二进制:

2对应的二进制 : 0b00000010

3对应的二进制 : 0b00000011

那么从右往左: 0^1=1 ,1^1=0,0&0=0,所以结果为

0b00000001,转化为十进制就是1,所以 2^3=1。

5.9翻转(~)

x的按位翻转就是是-(x+1)。

那么 ~2 怎么算?

~2 = -(2+1) ; 所以答案就是-3。

ok,以上,其实没必要去记住,了解一下就这些符号是什么意思,怎么算的就好了。

二、Python中的循环语句

2.while循环

 while 活着:

    每天做着一样的事情。

这样写的意思就是,只要你活着,就一直不断的执行while下面的语句。
我们可以来写一个抛硬币的 python 程序,我们事先定义好硬币的正反面,然后让用户猜,如果用户猜对了就奖励一个吻,猜错了就继续猜,直到让他猜中为止。打开我们的 IDLE,代码敲起来:

首先定义一个变量,我们的值定义为正面:

coin = "正面"

接着定义一个 flag :

flag = True

然后我们写一个循环:

while flag :

    guess = input("请猜一下是正面还是反面:")

    if(guess == "反面") :
        print("你猜错了,继续猜")
    elif(guess == "正面") :
        print("恭喜你猜对了,奖励你一个吻")
        flag = False

执行:

解释一下:当 while 发现 flag 为 true 的时候,就会一次又一次的执行执行 while 下面的一句,直到我们猜中之后,我们就将flag 这个变量改为 false ,while 发现为 false 的时候就不往下循环了。

3.while循环的应用

1.计算1~100的累积和(包含1和100)

i = 1
sum = 0
while i <= 100:
  sum += i
  i+=1
print(sum)

结果:

5050

4.for循环

while 可以做到在条件为真的时候反复的执行,不过有时候我们需要在特定范围循环,比如说我们要在第一天到第五天每天做运动一次,那么这时候用 for 就再适合不过了:

days = [1,2,3,4,5]

for day in days :
    print("第" + str(day) + "天做运动")

day就是1,第二次day就是2,它就这样一直循环下去,没有一点念想。

5.终止循环break

有一天你突然发现,我不能再这么下去了,不能再重复的过这样的日子了,得有点改变,跳出这个重复的怪圈,那么对于 Python 来说,用break:

while 活着:
    重复的过日子。
    if(醒悟):
    break

通过 break 呢,就可以跳出这个循环了。

6.break和continue循环

6.1break

break 会立即终止循环,跳转到循环之后开始执行

结构:

while 条件:
  if 条件:
    break  # 跳出循环

举例:

i = 10

while i > 0:
    print("妈,还要我刷啊~~~~~~~~~")
    if i == 5:
        print('好了,不用刷了')
        break

    print("正在刷 %d 个碗" % i)
    i -= 1

print('程序结束')

运行结果:

妈,还要我刷啊~~~~~~~~~
正在刷 10 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 9 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 8 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 7 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 6 个碗
妈,还要我刷啊~~~~~~~~~
好了,不用刷了
程序结束

6.2continue

continue 会立即结束当前这一次循环,跳转到下一轮循环的条件判断

结构:

i = 10

while i > 0:
    print("妈,还要我刷啊~~~~~~~~~")
    if i == 5:
        print('好了,不用刷了')

        i -= 1  # continue 之前要注意修改 i 的值,否则容易导致死循环
        continue

    print("正在刷 %d 个碗" % i)
    i -= 1

print('程序结束')

运行结果:

妈,还要我刷啊~~~~~~~~~
正在刷 10 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 9 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 8 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 7 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 6 个碗
妈,还要我刷啊~~~~~~~~~
好了,不用刷了
妈,还要我刷啊~~~~~~~~~
正在刷 4 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 3 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 2 个碗
妈,还要我刷啊~~~~~~~~~
正在刷 1 个碗
程序结束

注意点:

  • break/continue只能用在循环中,除此以外不能单独使用
  • break/continue在嵌套循环中,只对最近的一层循环起作用

7.数据类型转换

7.1常用的数据类型转换

举例:

>>> # int(): 将数据转换为 int 类型
... 
>>> str1 = "10"
>>> # int() 默认按10进制转换后显示
... num1 = int(str1)
>>> 
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
... num2 = int(3.74)
>>> print(num2)
3
>>> 
>>> """
... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
... #01 02 03 04 05 06 07 10
... #01 02 ... 0B 0C 0D 0E 0F 10
... print(num1)
... """
>>> 
>>> # float() 将数据转化为浮点数
... str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class 'float'>
>>> 
>>> f2 = float(10)
>>> print(f2)
10.0
>>> 
>>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
... c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>> 
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与c1
(10+4j)
>>> 
>>> # str() : 转换为 字符串类型
... num1 = 10
>>> f1 = 3.14
>>> 
>>> print(type(str(num1)))
<class 'str'>
>>> print(type(str(f1)))
<class 'str'>
>>> 
>>> # repr(): 转换为表达式字符串
... num1 = 10
>>> print(type(repr(num1)))
<class 'str'>
>>> 
>>> 
>>> # eval(): 将字符串形式的数据,转换为原本的类型
... str1 = "3.14"
>>> print(type(eval(str1)))
<class 'float'>
>>> 
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class 'list'>
>>> 
>>> 
>>> # chr: 将一个整数转换为对应的 Unicode 字符
... s = chr(1065)
>>> print(s)
Щ
>>> 
>>> # ord :将一个字符转换为对应的字符编码数字
... n = ord("A")
>>> print(n)
65
>>> 
>>> # bin: 将一个整数转换为二进制
... print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
>>> 
>>> # oct:将一个整数转换为八进制
... print(oct(1024)) # 0o 开头表示八进制数
0o2000
>>> 
>>> # hex: 将一个整数转换为十六进制
... print(hex(1024)) # 0x 开头表示十六进制
0x400
>>>

附录:常用字符与ASCII码对照表

三、列表

1)什么是列表?
列表是用来存储大量数据的容器

2)列表的格式

[value1,value2,value3,...]

注意:python列表中存储的数据可以是不同的数据类型

1.列表的常见操作

1.1增加元素

append

结构:

mylist.append(values)

举例:

 #定义变量A,默认有3个元素
    A = ['xiaoWang','xiaoZhang','xiaoHua']

    print("-----添加之前,列表A的数据-----")
    for tempName in A:
        print(tempName)

    #提示、并添加元素
    temp = input('请输入要添加的学生姓名:')
    A.append(temp)

    print("-----添加之后,列表A的数据-----")
    for tempName in A:
        print(tempName)

运行结果

-----添加之前,列表A的数据-----
xiaoWang
xiaoZhang
xiaoHua
请输入要添加的学生姓名:哈哈
-----添加之后,列表A的数据-----
xiaoWang
xiaoZhang
xiaoHua
哈哈

insert(向列表中指定位置插入数据)

结构:

mylist.insert(index, object) 在指定位置index前插入元素object

举例:

>>> a = [0, 1, 2]
>>> a.insert(1, 3)
>>> a
[0, 3, 1, 2]

extend(通过extend可以将另一个集合中的元素逐一添加到列表中)

结构:

myslist.extend(index,list)在指定位置index前插入列表

举例:

>>> a = [1, 2]
>>> b = [3, 4]
>>> a.append(b)
>>> a
[1, 2, [3, 4]]
>>> a.extend(b)
>>> a
[1, 2, [3, 4], 3, 4]

1.2删除元素

del(根据下标进行删除)

结构:

del mylist(index)  # 删除mylist中index位置的元素

举例:

movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']

print('------删除之前------')
for tempName in movieName:
    print(tempName)

del movieName[2]

print('------删除之后------')
初次接触python,如何系统自学

初次接触python,如何系统自学

初次接触python,如何系统自学

初次接触python,如何系统自学

初次接触python,如何系统自学

初次接触python,如何系统自学