python基础语法和实战练习
(一)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基础语法和实战练习的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
随机推荐
- Python面向对象06 /元类type、反射、函数与类的区别、特殊的双下方法
Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3 ...
- 一个简单的Maven小案例
Maven是一个很好的软件项目管理工具,有了Maven我们不用再费劲的去官网上下载Jar包. Maven的官网地址:http://maven.apache.org/download.cgi 要建立一个 ...
- 工作用不到,面试经常问,这么头疼的Spring,怎么能快速过关
目录 这次文章很简单,但是也不简单,spring,spring的IOC和AOP,不知道你掌握的怎么样,最近身边的朋友有木有去面试的?他们被问到的spring面试题你能回答吗? 一看这张图,可能有朋友会 ...
- vue 修改路由
直接放代码: this.$router.push({ path: "/login" });
- 笨办法学Python 3|百度网盘免费下载|新手基础入门书籍
点击下方即可百度网盘免费提取 百度网盘免费下载:笨办法学Python 3 提取码:to27 内容简介: 本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用. ...
- 大汇总 | 一文学会八篇经典CNN论文
本文主要是回顾一下一些经典的CNN网络的主要贡献. 论文传送门 [google团队] [2014.09]inception v1: https://arxiv.org/pdf/1409.4842.pd ...
- springboot项目部署到tomcat步骤以及常见问题
------------恢复内容开始------------ 本文分为两个部分,一,是打包的步骤,二,是我项目中所遇到的问题以及解决方法 一. 打包为war包步骤 1.修改打包方式为war 在pom. ...
- Android多线程--AsyncTask
常见的多线程方法有: 继承Thread类 实现Runnable接口 Handler AsyncTask HandlerThread 1.定义 一个Android已经封装好的轻量级异步类 属于抽象类,即 ...
- Python之数据结构:列表、元组、字典、set
列表 列表里可以存储任意的数据类型.可修改的结构,用[ ]括起来表示或用函数list()构建. eg: y = [1,1.5,'hello',True] 列表还可以嵌套列表 eg: y = [1,1. ...
- ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)
一 问题背景 这个错误的出现往往与我前面的一篇文章 ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required ...