(一)Python基础学习

Num01:python的基本数据类型

①字符串:可进行拼接和截取

②数字:int,float,complex(复数)

涉及到格式转换:int(x)转换为整数,float(x)转换为浮点数,complex(x)将x转换为一个复数,实部为x,虚部为0

运算注意:a/b得到的是一个浮点数,a//b得到的是:整数除法返回向下取整后的结果。a**b代表:a的b次幂

③列表(list)

形如:list=['Python','Web','Script']可对其进行访问和修改与删除

删除:del list[2]就将Script删除掉


a=[0,1,2,3,4] a[0]=9 b=[5,6,7,8] del b[2] print(a[:3]) print(b)

输出:

[9, 1, 2]
[5, 6, 8]

④Tuple(元组)

形如:tup1 = ('Google', 'Runoob', 1997, 2000)

我们不能修改里面的元素值,但可以进行访问和与其他的字符串进行拼接,元组有一些内置函数:len(tuple)计算元组的元素个数,max,min返回元组中的最大值和最小值。

⑤字典(Dictionary)

含有key和value,和map是一样的


# #字典;键与值的集合
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具" tinydict = {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'} print(dict['one']) # 输出键为 'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
print(dict.keys()) # 输出所有键
print(dict.values()) # 输出所有值
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

输出:

1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])
dict_keys(['one', 2])
dict_values(['1 - 菜鸟教程', '2 - 菜鸟工具'])
我叫 小明 今年 10 岁!

Num02:while和if,elif,else与随机数的使用

一个猜数字的demo


#while和if elif和随机数的使用
k=random.randint(0,100)
print(k)
num=-1
while(num!=k):
num = int(input("请输入你猜的数字:\n"))
if(num==k):
print("恭喜你猜对了!")
break
elif(num>k):
print("猜大了!")
else:
print("猜小了")

判断平年还是闰年


#判断闰年与平年
year = int(input("输入一个年份: "))
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("{0} 是闰年".format(year)) # 整百年能被400整除的是闰年
else:
print("{0} 不是闰年".format(year))
else:
print("{0} 是闰年".format(year)) # 非整百年能被4整除的为闰年
else:
print("{0} 不是闰年".format(year))

Num03:函数的使用

斐波那契数列求解:


def fic(k):
if(k==1):
return 1
elif(k==2):
return 1
else:
return fic(k-1)+fic(k-2) c=int(input("请输入要查询的第几个斐波那契数:\n"))
print(fic(c))

Num04:面向对象编程

1.封装

 

class Big():
def __init__(self,name,age):
self.name=name
self.age=age
def detail(self):
print(self.name)
print(self.age) obj1=Big('Tom','18')
obj1.detail()  

通过封装的形似定义了一个Big类,在该类中可以通过各种函数来定义Big的各种行为和特性,这就是面向对象编程所需要的,会使对象的操作简单,有条理化。

2.继承

继承:子继承了父的某些特性

猫:喵喵叫、吃、喝、拉、撒

狗:旺旺叫、吃、喝、拉、撒

我们将他们共同的特性整合到一起

建立一个Animal:吃喝拉撒

猫:喵喵叫(猫继承动物的功能)

狗:汪汪叫(狗继承动物的功能)

 

class Animal:
def eat(self):
print("%s 吃" %self.name)
def drink(self):
print("%s 喝" %self.name)
def shit(self):
print("%s 拉" %self.name)
def prr(self):
print("%s 撒" %self.name)
class Cat(Animal):
def __init__(self,name):
self.name=name
def cry(self):
print('喵喵叫')
class Dog(Animal):
def __init__(self,name):
self.name=name
def cry(self):
print('汪汪叫')
c1=Cat('我家的小白猫')
c1.eat()
c1.cry()
d1=Dog('胖子家的小黑狗')
d1.eat()
d1.cry()  

Num05:简单的入门级爬虫实验

爬取我的博客园的第一篇博客的时间和标题

分三步走:

第一步:获取页面

首先导入import requests,使用requests.get(link,headers=headers)获取网页

注意:用requests的headers伪装成浏览器访问,我们要获得的信息在response.text里(就是网页的内容代码)

第二步:提取想要的数据

这里会用到BeautifulSoup这个库对爬下来的页面进行解析,将html代码转化为soup对象,接下来用find去寻找自己的数据

第三步:存储数据

存储到本地的txt文件,将获取的信息写入txt里,这里要特别注意格式encoding='utf-8',否则到txt里的东西会乱码

 

from bs4 import BeautifulSoup
import requests, sys
import random
#1.获取网页代码
url = 'https://www.cnblogs.com/xiaofengzai/' #请求地址
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#创建头部信息
response = requests.get(url,headers = headers) #发送网络请求 #print(response.text)
#2.提取想要的数据
soup=BeautifulSoup(response.text,"html.parser")
title=soup.find("a",class_="postTitle2").text.strip()
print(title)
time=soup.find("div",class_="dayTitle").a.text.strip()
print(time)
#3.写入到文件里
with open("title.txt","a+",encoding='utf-8') as f:
f.write(time+":"+title)
f.close()  

txt内容

日期 开始时间 结束时间 中断时间 净时间 活动
3/11 10:50 11:20 5 25 学习python的基本数据
3/11 14:00 15:30 10 80 学习python的语法,函数以及面向对象
3/11  16:00 17:30 5 85 对Python进行实战测试,巩固知识
3/11 20:30 21:30 10 50 学习简单的爬虫并动手进行练习
3/11 21:40 22:30 0 50 写博客,总结

今日有效总代码量(Python):180行,总学习时间:290分钟

python基础语法和实战练习的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  3. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  4. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  5. Python 基础语法

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...

  6. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  7. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  8. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  9. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

随机推荐

  1. electron设置window系统托盘

    electron设置托盘 // 设置系统托盘 const setAppTray = () => { // 托盘对象 var appTray = null // 系统托盘右键菜单 var tray ...

  2. Alexnet网络结构

    最近试一下kaggle的文字检测的题目,目前方向有两个ssd和cptn.直接看看不太懂,看到Alexnet是基础,今天手写一下网络,记录一下啊. 先理解下Alexnet中使用的原件和作用: 激活函数使 ...

  3. python技巧 namedtuple

    python的namedtuple可以创建一个带字段名的元祖和一个带名字的类 In [1]: from collections import namedtuple ...: ...: nginx=na ...

  4. Azure Web App (二)使用部署槽切换部署环境

    一,引言 前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完 ...

  5. 题解 CF1354D 【Multiset】

    考试拿到题,一看,这不是权值线段树吗? 思路 使用线段树每个节点维护该区间内元素出现次数. 根据题目,对于加入.删除元素,我们可以单点修改(\(+1\).\(-1\)),对于输出,我们可 随便 遍历找 ...

  6. 图灵学院笔记-java虚拟机底层原理

    Table of Contents generated with DocToc 一.java虚拟机概述 二.栈内存解析 2.1 概述 2.2 栈帧内部结构 2.2.1 我们来解析一下compute() ...

  7. [jvm] -- 判断对象是否死亡篇

    判断对象是否死亡的两种方法 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1:当引用失效,计数器就减 1:任何时候计数器为 0 的对象就是不可能再被使用的. 优点: 简单 ...

  8. spring读取jdbc(file方式)

    使用PropertyPlaceholderConfigurer类载入外部配置 在Spring项目中,你可能需要从properties文件中读入配置注入到bean中,例如数据库连接信息,memcache ...

  9. python numpy库np.percentile用法说明

    在python中计算一个多维数组的任意百分比分位数,此处的百分位是从小到大排列,只需用np.percentile即可…… a = range(1,101) #求取a数列第90%分位的数值 np.per ...

  10. Netty 学习笔记(3) ------ ChannelPipeline 和 ChannelHandler

    ChannelPipeline通过责任链设计模式组织逻辑代码(ChannelHandler),ChannelHander就如同Servlet的Filter一样一层层处理Channel的读写数据. Ch ...