##Python学习–最完整的基础知识大全
关于python的基础知识学习,网上有很多资料,今天我就把我收藏的整理一下分享给大家!

  • #####菜鸟教程python2

  • #####菜鸟教程python3

  • #####Python2.7 入门指南

  • #####Python3.6 入门指南

  • #####廖雪峰Python教程

  • #####Python100例

  • #####Python中文开发者社区门户

  • #####W3CPython基础教程

下面是我基础学习时的一点记录:
###python3 循环语句

####1. while

n=10
sum = 0
counter = 1
while counter < n:sum = sum + countercounter += 1
print("1到%d之和为:%d" %(n, sum))#while 循环使用 else 语句
count = 0
while count < 5:print (count, " 小于 5")count = count + 1
else:print (count, " 大于或等于 5")

####2. for
#可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做’步长’)
for i in range(0, 10, 3):
print(i)

for i in range(-10, -100, -30):print(i)a_list = ['google', 'baidu', 'ie', 'firefox', '360']
for i in range(len(a_list)):print(i, a_list[i])
#使用range创建列表
b_list = list(range(8))
print(b_list)

####3. break和continue
#使用break终止循环
for letter in ‘helloworld’:
if letter == ‘r’:
break
print(“当前字母为:”, letter)
#使用continue跳过循环
for letter in ‘helloworld’:
if letter == ‘l’:
continue
print(“当前字母为:”, letter)
####4. pass语句
#说明:pass就是一条空语句。在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass。
for letter in ‘helloworld’:
if letter == ‘l’:
pass
print(“执行pass块”)
print(“当前字母为:”, letter)
####5. 使用enumerate函数进行遍历
c_list = [12, 34, 56, 78, 90]
for i, j in enumerate(c_list):
print(i, j)

####6. 小练习
#####循环练习
for i in range(1, 6):
for j in range(1, i+1):
print(’*’,end=’’)
print(’\r’)

#####99乘法表
for i in range(1, 10):
for j in range(1, i+1):
print("%d * %d = %d" %(j, i, i
j), end=’\t’)
print(’\r’)

#####冒泡排序
def paixu(d_list):
for i in range(0, len(d_list)):
for j in range(i+1, len(d_list)):
if d_list[i] >= d_list[j]:
tmp = d_list[i]
d_list[i] = d_list[j]
d_list[j] = tmp
print(d_list)
li = [32, 23, 65, 32, 76, 79, 56, 89, 12]
paixu(li)
###Python3 迭代器与生成器
####迭代器
迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter() 和 next()。

import sysit = iter(c_list)
print(c_list)
print(next(it))
for x in it:print(x, end=' ')it1 = iter(c_list)
while True:try:print(next(it1))except StopIteration:sys.exit()

####生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。
调用一个生成器函数,返回的是一个迭代器对象。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

#####生成器函数
def fibonacci(n):
a = 0;
b = 1;
counter = 0;
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
#生成器函数返回一个迭代器
fibo = fibonacci(10)

while True:try:print(next(fibo), end=' ')except:sys.exit()

###函数
####函数传入不定长参数
#加了星号(*)的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。
def printinfo(arg1, *vartuple):
“打印任何传入的参数”
print(“输出:”)
print(arg1)
for var in vartuple:
print(var)
return

printinfo(10)
printinfo(10, 20, 30)

####匿名函数
python 使用 lambda 来创建匿名函数。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。

  • lambda 只是一个表达式,函数体比 def 简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。

虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
sum = lambda arg1, arg2: arg1 + arg2
print(sum(10,20))
###变量的作用域
Python中变量的作用域一共有4种,分别是:

  • L (Local) 局部作用域
  • E (Enclosing) 闭包函数外的函数中
  • G (Global) 全局作用域
  • B (Built-in) 内建作用域

以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

B = int(2.9)  # 内建作用域G = 0  # 全局作用域
def outer():E = 1  # 闭包函数外的函数中def inner():L = 2  # 局部作用域

###一个完整的demo
import pickle
import os

datafile = 'C:\\Users\\root\\Desktop\\PyDemo\\person.data'
line = '#########################################'
message = '''
#######################################
*Welcome bookmark:                    *
*    press 1 to show list             *
*    press 2 to add pepole            *
*    press 3 to edit pepole           *
*    press 4 to delete pepole         *
*    press 5 to search pepole         *
*    press 6 to show menu             *
*    press 0 to quit                  *
#######################################
'''
#打印菜单栏
print(message)#创建一个人类,有姓名和电话号两个属性
class Person(object):def __init__(self, name, number):self.name = nameself.number = number#获取数据
def get_data(filename = datafile):if os.path.exists(filename) and os.path.getsize(filename):with open(filename, 'rb') as f:return pickle.load(f)return None#写入数据
def set_data(name, number, filename = datafile):personList = {} if get_data() == None else get_data()with open(filename, 'wb') as f:personList[name] = Person(name, number)pickle.dump(personList, f)#保存字典格式的数据到文件
def save_data(dictPerson, filename = datafile):with open(filename, 'wb') as f:pickle.dump(dictPerson, f)#显示所有联系人信息
def show_all():personList = get_data()if personList:for v in personList.values():print(v.name, v.number)print(line)else:print('空空如也,请添加联系人!')print(line)#添加联系人
def add_person(name, number):set_data(name, number)print('添加联系人成功!')print(line)#更新联系人
def edit_person(name, number):personList = get_data()if personList:if name in personList.keys():personList[name] = Person(name, number)save_data(personList)print('更改联系人信息成功!')else:print('查无此人', name, ',请重试!')print(line)#删除联系人
def del_person(neme):personList = get_data()if personList:if name in personList:del personList[name]save_data(personList)print('删除联系人成功!')else:print(name, '不存在!')print(line)#查询联系人
def find_person(name):personList = get_data()if personList:if name in personList.keys():print(personList.get(name).name, personList.get(name).number)else:print('查无此人!', name)print(line)while True:num = input('>>>')if num == '1':print('查看所有联系人:')show_all()elif num == '2':print('添加联系人:')name = input('请输入联系人姓名 >>')number = input('输入联系人电话号 >>')add_person(name, number)show_all()elif num == '3':print('更新联系人:')name = input('请输入联系人姓名 >>')number = input('输入联系人电话号 >>')edit_person(name, number)show_all()elif num == '4':print('删除联系人:')name = input('请输入联系人姓名 >>')del_person(name)show_all()elif num == '5':print('查找联系人:')name = input('请输入联系人姓名 >>')find_person(name)elif num == '6':print(message)elif num == '0':breakelse:print('输入错误,请重试!')

我的个人微信订阅号:【Java编程社区】 欢迎你的加入!

Python学习--最完整的基础知识大全相关推荐

  1. python基础知识资料-Python学习--最完整的基础知识大全

    前面两篇文章分别介绍了Python的环境搭建和基本工具 下面是我基础学习时的一点记录: python3 循环语句 1. while n=10 sum = 0 counter = 1 while cou ...

  2. python基础知识-Python学习--最完整的基础知识大全

    前面两篇文章分别介绍了Python的环境搭建和基本工具 下面是我基础学习时的一点记录: python3 循环语句 1. while n=10 sum = 0 counter = 1 while cou ...

  3. 小猪的Python学习之旅 —— 1.基础知识储备

    小猪的Python学习之旅 -- 1.基础知识储备 引言: (文章比较长,建议看目录按需学习-) 以前刚学编程的时候就对Python略有耳闻,不过学校只有C,C++,Java,C#. 和PHP有句&q ...

  4. python bif_小猪的Python学习之旅 —— 1.基础知识储备

    引言:(文章比较长,建议看目录按需学习-) 以前刚学编程的时候就对Python略有耳闻,不过学校只有C,C++,Java,C#. 和PHP有句"PHP是最好的语言" 这种家喻户晓的 ...

  5. [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例

    通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...

  6. [Python学习] 专题四.文件基础知识

            前面讲述了函数.语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作         文件是指存储在外部介质(如磁盘)上数据的集合.文件 ...

  7. 学python需要什么基础知识-Python学习(一)基础知识

    参考资料:https://github.com/lijin-THU/notes-python(相应实体书为:<自学Python--编程基础.科学计算及数据分析>) 1. Python之禅: ...

  8. python学习记录1(基础知识)

    python是动态语言,使用变量时不需要定义类型,可以直接赋值 例如 a = 10 b = 'a' c = "hello world" 也不需要在结尾加上分号 # 输入 默认字符串 ...

  9. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

最新文章

  1. 在centos上搭建svn服务器
  2. 决策树基本原理与sklearn应用
  3. [Linux学习]Linux键盘布局设置
  4. 电子商务系统的设计与实现(九):后端管理系统功能细化
  5. 帆软地址栏传参,实例
  6. cgcs2000高斯平面直角坐标_8年级开学第一课:数系扩充到实数,几何模型搬到直角坐标系...
  7. python 投票计数器全班50人3个候选人_Python程序为STV投票系统,为每个人加上所有的第一偏好票...
  8. txtv28pw河南某中学_中学生骑行典型交通事故案例集 | 知危险会避险
  9. php viewmodel,PHP日记——Lavarel常用语句之View篇
  10. #敏捷个人# 每日认识101(15):成为一个有执行力的人
  11. ios和android安全对比
  12. pd虚拟机:mac支持安装Windows应用
  13. JavaWeb笔记01(mysql)
  14. EditPlus字体放大方法
  15. 解决苹果电脑(Mac)无法写入移动硬盘的方法
  16. Ubuntu下mosquitto 的使用
  17. 关于github上一个关于lytro的代码
  18. Android kotlin 简洁易用的 Android web库 - AgentWeb
  19. vue stomp 的使用笔记
  20. 《蜥蜴书》_讲义及源码解读_09

热门文章

  1. java结丹期(15)----javaweb(maven(1))
  2. 两数之和 II - 输入有序数组
  3. 2020-10-30(smali复杂类解析)
  4. 驱动层和r3程序通讯的列子参考爱写驱动的女装大佬
  5. c/c++字符串混淆工具
  6. 设计模式C++实现(5)——原型模式、模板方法模式
  7. 9、 root修改普通用户密码
  8. 3、MySQL执行事务的语法和流程
  9. 1.5 @SafeVarargs注解
  10. 在Servlet中实现页面转发