编程小白的第一本Python入门书学习笔记

编程小白的第一本Python入门书学习笔记

最近在学习Python的过程中,发现一本对小白非常友好的入门书-《编程小白的第一本Python入门书》,书中对知识点的讲解很易懂,一些以前不太理解的概念,在看完这本书之后也有眉目了。

这里主要介绍下自己学习时做的一些笔记,如果其中有理解错误的地方,麻烦评论或者私信告知。

有幕布账号的小伙伴也可以去幕布链接

[TOC]

字符串

  • 字符串

    img

  • 字符串的分片与索引

    • 字符串可以通过string[x]的方式进行索引、分片,也就是加一个[]

      img

  • 字符串的方法

    img

    非常形象的比喻

函数

  • 函数

    img

  • 创建函数

    img

    • 如果忘记写return,会出现什么情况

      img

      img

  • 调用函数

    • 两点最重要:
      • 定义的函数名(这个人叫什么)
      • 定义的函数参数(这个人的特点是什么,不然遇到重名,无法识别)

    循环与判断

    • 逻辑循环

      img

    • 比较运算

      img

    • 布尔值

      img

    • 列表

      img

条件控制

  • if ...... else......

    img

  • if ..... elif...... else.........

    img

循环

  • for 循环

    img

  • while循环

    img

    img

数据结构

  • 四种数据结构

    img

    • 列表

      img

      img

    • 字典

      img

      img

    • 元组

      img

      img

    • 集合

      img

    • 列表推导式

      img

      img

###类

  • 类的概念

    img

    img

  • 类有很多概念还是没有吃透和理解

  • 类有属性

    • 类的属性就如同可口可乐的饮料配方

      img

  • 类可以实例化

    • 利用饮料的配方在生产线上生产出饮料产品

    • 生产的饮料产品有着相同的配发(属性)

      img

  • 类实例化后也有属性

    • 生产线生产出的饮料,需要对其进行包装,包装就是实例的属性

      img

  • 类实例化后 肯定是希望能做一些事情

    • 这是就可以在类里定义函数,让这个类去做一些事情

    • 比如,可乐可以用来喝,用来赠送等等行为

      img

  • 后面关于 __init__的用法,还是没有看懂(有大佬懂的话,可以在评论区或者留言区解释下)

全书下载地址

应该是官网地址

或者去我的网盘直接下载

书中习题练习源代码

书中提供了一些习题,我按照自己的理解写了一些代码,分享给大家,可能代码写的不是非常合理和优雅,也希望大家多多指正。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# coding:utf-8
# 编程小白的第一本Python
# Version:Python 3
# 书中有趣的程序

search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print (search + 'is at'+str(num_a.find(search)+1)+'to'+str(num_a.find(search)+len(search))+'of num_a')
print (int(search))

### 把上面的结果改编为以下的函数
def a_function (search):
num_a = '1386-168-0006'
num_b = '1681-222-0006'
a=search + 'is at'+str(num_a.find(search)+1)+'to'+str(num_a.find(search)+len(search))+'of num_a'
return (a)
print (a_function('168'))

# 练习题1#--------------质量转换-----------------
def q1_function (m):
M = m/1000
return (M)
print ("质量1000g等于:",q1_function(1000),"kg")
# 练习题2#---------------勾股定理----------------
import math
def q2_function (a,b):
c = math.sqrt(pow(a,2)+pow(b,2))
return (c)
a = int(input ('> '))
b = int(input ('> '))
print ('斜边长度是:',q2_function(a,b))

# 设计一个函数:写入文件#---------------------
def text_create(name,msg):
desktop_path = 'C://Users/admin/Desktop/'
full_path = desktop_path + name + '.txt'
file = open (full_path,'w')
# 参数'w'的作用:如果该路径没有文件,就会创建一个有该名称的文件,并写入内容;如果该路径有此文件,就会覆盖文本内容
file.write(msg)
file.close()
print ('Done')
text_create('hello','Hello world')
# 设计一个函数:敏感词过滤#---------------------
def text_filter (word,censored_word = 'lame', changed_word = 'awesome'):
return word.replace(censored_word,changed_word)
print (text_filter('Python is lame!'))
# 合并上面的两个函数,做一个敏感词过滤器#---------------
def censored_text_filter(name,msg):
clean_msg = text_filter(msg)
text_create(name,clean_msg)
censored_text_filter('try','lame,lame')

# 练习题3#---------------创建十个文本,并以数字命名----------------
def text_ten(name,msg):
desktop_path = 'C://Users/admin/Desktop/'
for name in range(1,11):
# range()函数得到的是整数
full_path = desktop_path + str(name) + '.txt'
# 路径中需要的是字符,需要用str()函数把整数转化为字符
file = open (full_path,'w')
file.write(msg)
file.close()
print ('Done')
text_ten(name = input('> '),msg='Hello world')

# 练习题4#---------------复利计算器----------------
def Compounding_Calculator (year):
rate = 0.05
amount = 100
for i in range(1,9):
compounding_amount = amount*(1+rate)**i
print ('principal amount:',amount)
print ('year',i,': $',compounding_amount)
Compounding_Calculator(input('> '))

# 练习题5#---------------打印1-100的偶数----------------
for i in range(1,51):
print (2*i)

# 练习题6#---------------电话号码小游戏----------------
CN_mobile = [134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705]
CN_union = [130,131,132,155,156,185,186,145,176,1709]
CN_telecom = [133,153,180,181,189,177,1700]
num = input()
if len(num) < 11 :
print ('Invalid length,your number should be in 11 digits')
elif int(num[:3]) in CN_mobile:
print ('Operator : China mobile')
elif int(num[:3]) in CN_union:
print ('Operator : China union')
elif int(num[:3]) in CN_telecom:
print ('Operator : China telecom')
else :
print ('No such a operator')
print ("we're sending verification code via text to your phone: ",num)
记录成长中的点滴,如果您认可,可以捐赠鼓励,谢谢
------ 本文结束------