《零基础入门学习Python》读书笔记

写在前面


           嘻,计划每个月读一本新书,这个月一直在忙考试,都没怎么学编程方面的知识,这是去年假期看的一本书,当时没有做笔记,现在都忘得差不多啦!!,嗯,在这个月的最后一天,写了这篇博客,笔记会陆续的整理,嗯,要把计划坚持好哎!嗯,总是要走过才明白。人生那,让我如此真实,走完今天的自己,不知是否意味有勇气面对明天。要开心些。愿自己呀!多一些真实的开心。

       嗯,依旧,摘一句子:

 Life is short ,You need Python      --------Bruce Eckel

                      2019.4.30

有小伙伴收藏,受宠若惊哈..上学时做的,做的乱七八糟的还只有前几章,现在看来简直不能看,前段时间有闲暇,整理了一份较完整的基础的笔记,有实例的那种,这里分享给大家,小伙伴们可以看下面这个。生活加油 ^_^

Python 基础学习笔记

 

第一章,就这样愉快的开始吧!

一,获得Python;

……

第二章,用Python设计的第一个游戏

一,第一个小游戏

temp = input("嗯,我要开始整理笔记啦!!嗯,猜一下今天星期几哎!")
guess = int(temp)
if guess == 8:
    print("嘻,你好聪明!!")
else:
    print("猜错啦!嗯,希望你有个好心情哎!")

print("give over!!")

c-like语言:一切语法类似于C语言 的编程语言称为C-like语言。

二,缩进

缩进:是Python的灵魂,Python对缩进有严格的要求,打冒号后python会自动缩进。

三,BIF(Built-in Functions)

内置函数

python不需要事先申明一个变量,直接改一个名字赋值,变量就生成了。

dir():显示对象所有的属性和方法。

dir(__builtins__):输出所有的Python内置系统的变量和函数,首字母大写为异常类。

dir(__name__):输出Python对象的属性和方法。

第三章,成为高手前必须知道的一些基础知识

一,变量:

Python数据类型:都是class类型,变量不需要声明类型,使用前必须赋值,变量赋值以后才会被创建,通常讲的变量类型是指变量所引用的对象的类型,或者讲变量值的类型,

二,字符串:

创建字符串需要字符两边加引号,可以是单引号或者双引号,当需要出现单双引号时,可以使用转义字符。或者单双引号同时使用。

print(3+5)
print('3'+'5')
print('李瑞龙')
print("李瑞龙")
print("李瑞\"龙")
print('李\'瑞龙')
print("李'瑞龙")

三,原始字符串:

即在字符串前面加英文字母‘r’即可。无论是否原始字符串,都不可以使用反斜杠作为结尾。反斜杠表示字符串还没有结束。

print("你\n好")
print(r"你\n好")

四,长字符串:

对于使用的长字符串使用三重双引号

print("""
             陈平安说,
    “我喜欢的姑娘,她已经是最好看了。
        可是比最好看更好看的她,    
    是我在看她的时候、她假装不知道的时候,
        侧着脸,睫毛微颤的模样。”
        ——烽火戏诸侯 《剑来》
""")

五,条件分支:

if ints==2:
    print('哎,好聪明呀!')
else:
    print('哎,你好傻哎!')

六,while循环:

while ints!=2:
    if ints==3:
        print('哎,好聪明呀!')
        break
    else:
     print('哎,你好傻哎!')
     ints = input("嗯,在猜我的幸运数字是?^_^")

七,引入外援:

import random
secrret =  random.randint(0,10)
temp = input("嘻,猜一下我今天的幸运数字!!")
guess = int(temp)

while guess  != secrret:
    temp = input('嗯,逗比,在给你一次机会!')
    guess = int(temp)
    if guess == secrret:
        print("嘻,好厉害呀")
    else:
        if guess > secrret:
            print("大了点哎")
        else:
            print('小了点哎')
print('游戏结束')

九,闲聊数据类型:整型,浮点型,布尔型。

print( 0.00000000000000000025)
print(True+False)
print(True*False)
#print(True/False)
# #零不能做除数
a ="520"
b = 13.12
c = 5.99
print(int(b))
print(b)
print(int(a))
print(a)
print(float(a))
print(float(520))
print(str(c)+str(43))

类型转换:

int()讲字符串或浮点数转换为整数,浮点数会截断
float()讲一个字符串或整数转换为浮点数
srt()讲任何一个数或任何其他类型转换为一个字符串

获取类型的信息:type();

十,常用操作符:

+ , - , * ,/ (除法), % , //(地板除法);

优先级问题:Python还有一个特殊的运输符,“**”运算符,称为幂运算操作符,例如3**2,左侧为底数,右侧为指数。即3的2次方。

注意:幂运算操作符比其左侧的一元操作符优先级高,比起右侧的一元操作符优先级低,

print(-3**2)#负的3的2次
print(3**-2)#3的-2次

比较操作符:< ,<=,>,>=,==,!=;

逻辑操作符: and(与) or(或) not(非)

第四章,了不起的分支结构

第五章,列表,元组和字符串

元组:

#元组,不可变得列表。
# 索引,切片,len() print等均可以使用
# 但是 append ,extend del 不能使用
my_tup =(1,'a',3.2,True)
my_tups = 1,2,3,True 
a = 1
b = 2
# 元组赋值
a,b = b, a
#@ 切分邮件地址
name,domin = '1224965096@qq.com'.split("@")
# 函数返回元组
def max_min(lst):
    max = min = lst[0]
    for i in lst:
        if i > max:
            max = i
        if i < min:
            min = i
    return max,min

#元组的DSU模式
# Decotrad sort undecotrad  装饰,排序,反装饰
#根据单词长度对单词列表进行排序
#@staticmethod
def funcname(parameter_list):
    # 将单词长度和单词以元组方式放到集合里
    t = []
    for word in words:
        t.append((len(word), word))
    #集合t排序
    t.sort(reverse = True)
    #将排好序的单词放到res里
    res = []
    for length, word in t:
        res.append(word)
    return res

# 单词排序
test.sort(key = lambda x:len(x), reversed = True)

第六章,函数



# if 条件表达式:(比较。成员。逻辑)
    #执行语句
#else:
    #执行语句

s = 'liruilong'
for c in s:
    print(c)
print([i for i in range(10)])
#列表解析
print([i for i in range(10) if i%2 == 0])
#生成器表达式
print((i+1 for i in range(10)) )



#可以定义默认参数,默认参数可以更给。需要放到最后
def f(x, y = True):
    print("你好!!")
    if y:
        print("你不好!!")

f(False)
#你好!!
#你不好!!
#关键字参数,关键字参数是让调用者通过使用参数名区分参数,允许改变参数列表中的数据
def f1(x,y):
    print("山河无恙")
    if y:
        print("你好")
    if x!=0:
        print("你不好")
f1(False,1)

#传递函数
def addMe(x):
    return (x+x)
def self(f,y):
    print(f(y))

第七章,字典和集合

集合:

#集合
# 无序不重复的元素键集
#和字典类似,但是没有值
# 创建集合的方式

x = set()
x = {"key1","key2"}

#添加和删除的方法
x.add("key3")
x.remove("key3")

#支持的运算符 -(差集)
y = { "key1","key2"}
print(x  -y ) #{'key2'}
#交集 & , 并集 |, 不等于(!=), 等于(==)
# 成员
print("key2" in y)#True
print( x in y)  #False
for key in y:
    print(key)

字典:

  
#字典
#创建字典 使用{} 指明键值对
my_dict = {'liruiong':124, 'lirui':457,'li':78}
# 键必须是不可重复且不可变,值可以是任意类型
#访问字典的方式
print(my_dict['li']) #78
#增加一个新的对:
my_dict['lisss'] = 467
#字典运算符和方法 len(字典名):获取字典的键值对的数量
# key in 字典名 :快速判断key是否只字典中.
# 等价于 my_dict.has_key(key)

# my_dict.clear() 清空一个字典
# my_dict.items() 以列表的形式返回所有的键值
# my_dict.keys() 获取全部的键
# my_dict.values 获取全部的值
#列表 读取字符串中字符的个数
lst = [0] * 26
# 列表的方式
s = 'dfgfdgfdg'
for i in s:
    lst[ord(i) - 97] += 1
print(lst)
# 字典的方式
d = {}
for i in s:
    if i in d:
        d[i] +=1
    else:
        d[i] = 1

# 小说单词计数:
f = open("text.text")
# 获取所有的单词的个数
works_frep = {}
for line in f:
    work = line.strip().split()
    for work in words:
        if word in works_frep:
            works_frep[word] += 1
        else:
            works_frep[word] = 1
# 按获取单词个数并排序
freq_word = []
for word,freq in works_frep.items():
    freq_word.append((freq, word))

freq_word.sort(reverse = True)

# 获取前10 个使用最多的单词
for freq, word in freq_word[:10]:
    print (word)
f.close()

 

第八章,永久存储

第九章,异常处理:

第十章,图形用户界面

第十一章,类和对象

1,面向对象编程:

class Turle:
    #Python中约定类名必须以大写字符开头。
    color = 'green'
    weight = 10
    legd = True
    moun = "大嘴"

    def climb(self):
        print("我正在努力的向上爬")
    def run(self):
        print("吾心安处是吾乡")

tt = Turle()
tt.climb()
tt.run()


class Turle:
    #Python中约定类名必须以大写字符开头。
    color = 'green'
    weight = 10
    legd = True
    moun = "大嘴"

    def climb(self):
        print("我正在努力的向上爬")
    def run(self):
        print("吾心安处是吾乡")

tt = Turle()
tt.climb()
tt.run()
class Ball:
    def setName(self,name):
        self.name = name
    def kick(self):
        print('我 叫 %s, ' % self.name)
a = Ball()
a.setName("李瑞龙")
a.kick()


class Potato:
    #构造方法
    def __init__(self, name):
        self.name = name
    def kick(self):
        print("我叫 %s ,"% self.name)

ad = Potato("liruilong")
ad.kick()


# 默认上Python的属性和方法都是公开的
class Preser:
    name = "小甲鱼"
p = Preser()
print(p.name)

class Presers:
    # 定义为私有,私有机制是一种伪私有,可以换一种方法来实现
    __name = "小甲鱼"
    #构造方法
    def __init__(self, name):
        self.__name = name
        
    def getName(self):
        return self.__name
p = Presers('小甲鱼')
# 不能实现访问
print(p.__name)
# 可以实现访问
print(p._Presers__name)

2,继承:

# 继承 calss 类名(被继承的类):

class Parent:
    def hell(self):
        print("正在调用父类 的方法")
class Child(Parent):
    pass
# 子类中定义父类同名的方法会被覆盖
p = Parent()
s = Child()
# 正在调用父类的方法
p.hell()
# 正在调用父类的方法
s.hell()

3,组合:

#组合
class Turtle:
    def __init__(self, x):
        self.num = x
class Fish:
    def __init__(self, x):
        self.num = x

class Pool:
    def __init__(self, x, y):
        # 组合,其他类作为这个类的成员变量
        self.turtle = Turle(x)
        self.Fish = Fish(y)
    def print_num(self):
        print("水池里的鱼,有几条 %d && %d" % (self.turtle.num, self.Fish.num))
p = Pool(1, 10)
p.print_num()

4,绑定:

self:一般用在实例方法中,表示只有实例对象可以访问,而类对象不能访问,

作用:可以调用自身的属性和方法,

类对象:只能访问类属性和方法。

5,一些相关的BIF:

第十二章,魔法方法

第十三章,模块

第十四章,论一只爬虫的自我修养

第十五章,GUI的最终选择:Tkinter

第十六章,Pygame游戏开发

 

嗯,感觉现在用不到,学了一段时间就忘记了,嗯,如果有机会,等找到工作在学吧,先把把Java在好好学学,找一个好工作.      2019.9.7

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山河已无恙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值