注释
在python中,用 # 作单行注释
用三引号作多行注释(三个单引号或者三个双引号)

#单行注释
#单行注释'''
多行注释
多行注释
多行注释
'''

print 输出
print输出是默认换行的

x=1
y=2
#换行输出
print(x)
print(y)#不换行输出
print(x,y)

字符串

s="abcdefg"
print(s)

如果想获取字符串中的某一段子串,用 [头下标:尾下标] 来截取相应字符

s="abcdefg"
print(s[2:5])   #输出第三到六个字符,即 cdef
print(s[2:])    #从第三个字符还是输出
print (s*2)     #连续输出字符串两次
print (s+"123")  #输出 abcdefg123

列表
列表用 [ ]

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾

a=[1,2,3,4,5]
s=['a','b','c','d']
print(a[:])
print(s[:])
print(a[-1])
print(a+s)

使用append()添加元素

list1=[]        #空列表
list1.append('a')
list1.append('b')
print(list)'''
输出
['a','b']
'''

使用del删除列表中的元素

list=['a','b','c']
del list[1]
print(list)'''
输出
['a','c']
'''

元组
元组类似于列表
元组用 ()标识
元组不能二次赋值,相当于只读列表

a=(1,2,3,4,5)
s=('a','b','c','d')
print(a)
print(s)
print(a+s)

元组只包含一个元素时,需要在元素后面加逗号

tup1 = ()
tup = (1,)

元组的元素值是不允许删除的,但是可以用del 删除整个元组

无关闭分隔符
任意无符号的对象,以逗号隔开,默认为元组

print('abc',123,'def')

字典
列表是有序对象的集合,字典是无序对象的集合
字典当中的元素是通过键值来存取的,而不是通过偏移
字典用 { } 标识
创建时,如果同一个键被赋值两次,将记住后一个的值

键必须不可变,所以可以用数字,字符串或元组充当,用列表就不行

zi = {'name':'Tom','age':'two','address':'home'}
zi['name'] = 'James'   #修改
zi['sex'] = 'man'  #添加print(zi)    #输出完整字典print(zi.key)    #输出全部的键print(zi.value)  #输出全部的值del zi['sex']  #删除sex条目zi.clear()      #清空所有条目del zi       #删除整个字典

数据转换
只需要将数据类型作为函数名即可

int(x)
long(x)
float(x)
str(x)  #转成字符串
ord(x)  #将一个字符转成整数
hex(x)  #将一个整数转成十六进制的字符串
oct(x)  #将一个整数转成八进制的字符串

运算符
a**b :结果为a的b次幂
a//b :结果为a/b的商的整数部分

逻辑运算符
and 与
or 或
not 非

成员运算符
in :如果在序列中,找到指定值,则返回true,否则返回false
not in :如果在序列中,找不到指定值,则返回true,找到则返回false

list = [1,2,3,4,5]
a = 10
b = 20
if(a in list)print('a is in list')
elseprint('a is not in list')if(b not in list)print('b is not in list')
elseprint('b is in list')

身份运算符
is :判断两个标识符是不是引用自同一对象
is not : 判断两个标识符是不是引用自不同对象
如果两个标识符的类型相同,且值相等,则为引用自同一对象

a = 20
b = 20  #此时 id(a) == id(b)
if(a is b)  # 结果为 trueprint('true')b = 30
if(a is b)  #结果为 falseprint('flase')

条件语句

if 判断条件1:执行语句1
elif 判断条件2:执行语句2
else:执行语句3

循环语句
python 提供 for 和 while 循环语句
没有do … while

while 判断条件:执行语句

while…else在循环条件为false时,执行else语句
( 执行一次else语句后,会退出循环,执行后面的语句,通过break语句中断,则不会执行else语句 )

while 判断条件1:执行语句1
else:执行语句2

for 循环
1.通过序列索引迭代

fruit = ['apple','banana','mango']
for a in fruit:print(a)'''
输出:
apple
banana
mango
'''
fruit = ['apple','banana','mango']
for a in range ( len ( fruit ) ):print( fruit[a] )'''
输出:
apple
banana
mango
'''

for…else语句
若不符合for循环的条件,则退出for循环,执行else语句
(若通过break语句中断循环,则不会执行else语句)

fruit = ['apple','banana','mango']
for a in range ( len ( fruit ) ):print( fruit[a] )
else:print('that is all')'''
输出
apple
banana
mango
that is all
'''

pass语句

pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。

def sample(n_samples):pass

该处的 pass 便是占据一个位置,因为如果定义一个空函数程序会报错,当你没有想好函数的内容时,可以用 pass 填充,使程序可以正常运行。

del语句
del var
将某一变量删除

a = 10
print(a)
del a
print(a)    #会报错

python 的 math、cmath模块
要使用模块,必须先引入

import math
import cmath

字符串格式化
基本用法是将一个值插入到有%s 或%d 的字符串中

print('my name is %s and my age is %d' % ('Tom',12))'''
输出
my name is Tom and my age is 12
'''

三引号
使用三引号,允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

a = ''' hello
world''''''
输出
hello
world
'''

日期和时间
time 和 calendar 模块可以格式化日期和时间

import time
ticks = time.time()    #获取时间戳
print(ticks)

获取当前时间

import time
ticks = time.time()
localtime = time.localtime(ticks)
print(localtime)'''
输出
time.struct_time(tm_year=2020, tm_mon=4, tm_mday=29, tm_hour=16, tm_min=42, tm_sec=19, tm_wday=2, tm_yday=120, tm_isdst=0)
'''

获取格式化时间

import time
ticks = time.time()
localtime = time.localtime(ticks)
asctime = time.asctime(localtime)'''
输出
Wed Apr 29 16:44:41 2020
'''

格式化日期

import time
strftime = time.strftime('%Y-%m-%d  %H-%M-%s',time.localtime())
print(strftime)'''
输出
2020-04-29 16-49-13
'''

获取某月日历

import calendar
cal = calendar.month(2020,4)
print(cal)'''
输出April 2020
Mo Tu We Th Fr Sa Su1  2  3  4  56  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
'''

函数
定义函数:
以关键字def开头,后接标识符名称和圆括号()

def function (parameter):执行语句return [expression]

不可更改对象: 字符串,整型,元组
(字符串类型和整型更改值的话,相当于删除原来的对象,然后重新生成一个对象)
可更改对象: 字典,列表

参数传递
参数如果是不可变类型,则相当于值传递,只是将值复制过去,对于对象本身没有影响
参数如果是可变类型,则相当于引用传递,对于对象本身会有影响


参数传递采用关键字传递
使用关键字传递,允许函数调用时,参数的顺序和声明不一致

def func(age,name):print('age: ',age)print('name: ',name)return
func(name='tom',age=12)'''
输出
age: 12
name: tom
'''

不定长传递
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数

def func(arg1,*arg):print(arg1)for a in arg:print(a)return func(1,2,3,4)

匿名函数
使用lambda创建匿名函数
lambda的主体是一个表达式

sum = lambda arg1,arg2 : arg1 + arg2
print(sum(10,20))

模块
模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块的引入

import module1

from…import语句
from…import语句能从模块中导入指定的部分

如导入math模块的sin函数:

from math import sin

将模块的全部内容导入

from module import *

在函数中使用全局变量

money = 2000
def func():money = money + 1return func()
print(money)#输出 2001

dir函数
一个排好序的字符串列表,内容是一个模块里定义过的名字。

返回的列表容纳了在一个模块里定义的所有模块,变量和函数。

import math
print(dir(math))'''
输出
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
'''

globals() 和 locals() 函数

如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。

如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。

两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。

reload() 函数

当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。

因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。

Python中的包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 _init_.py 文件, 该文件的内容可以为空。_init_.py 用于标识当前文件夹是一个包。

当首次调用包中的文件时,会首先调用_init_.py文件

Python 与 Excel 实战

import openpyxl, pprintwb = openpyxl.load_workbook('check.xlsx')   # 打开excel文件
sheet = wb['Sheet1']  # 获取人口统计sheet工作表countyData = {}     # 定义统计结果保存字典
print('reading...')for row in range(2,sheet.max_row+1):    # 从文件第二行开始读取数据,直至最后一行state = sheet['B' + str(row)].value     # 读取数据county = sheet['C' + str(row)].value    # 读取数据pop = sheet['D' + str(row)].value       # 读取数据countyData.setdefault(state, {})countyData[state].setdefault(county,{'tracts':0,'pop':0})countyData[state][county]['tracts'] += 1    # 该县人口普查次数加一countyData[state][county]['pop'] += int(pop)    # 该县所有普查次区人口数量相加print('writing results...')
resultFile = open('result.py','w')
resultFile.write(pprint.pformat(countyData)) # pprint生成一个字符串,打印已经格式化好的,有效的python代码resultFile.close()
print('Done')

Python 自然语言处理

import jiebaf = open('')
txt = f.read()
words = jieba.lcut(txt)
counts = {}for word in words:if(len(word) == 1) :continueelif word == '诸葛亮' or word == '孔明' :    # 排除人物重复的情况rword = '孔明'else :rword = wordcounts[word] = counts.get(word,0) + 1personlist = ['孔明','曹操','刘备']   #列出人物表items = list(counts.items())
items.sort(key = lambda item: items[1] , reserve = True)    # 按照降序排列
for i in range(20):word, count = items[i]if personlist.count(word) > 0 :print("{0:<10}{1:>5}".format(word,count))

Python 学习记录相关推荐

  1. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  2. 【Python学习记录】Numpy广播机制(broadcast)

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...

  3. Python学习记录——英文名修改成标准格式

    Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...

  4. python学习记录——容器篇

    容器 字符串 下标(索引) # 下表也称为是索引,是一个整型数字,可以是正数,也可以是负数 # 正数下标是从0开始的,表示第一个字符,-1表示最后一个字符 my_str = 'hello'h e l ...

  5. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  6. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  7. 蜗牛一步一步地往上爬的Python学习记录

    Python学习记录 前言 简介 基础知识 类型变量 高级特性 函数式编程 高阶函数 偏函数 装饰器decorator 匿名函数 前言 第一,绝对不断更: 第二,绝对认真写: 第三,绝对撰写的公正漂亮 ...

  8. Python学习记录:shapefile.Writer报错

    Python学习记录 shapefile.Writer报错 w=shapefile.Writer(r.shapeType)使用时报错 Exception: The target filepath 5 ...

  9. Python学习记录(一)PIL库对于图像操作方法的简单整理

    Python学习记录(一)PIL库对于图像操作方法的简单整理 首先对PIL库进行一个简单的介绍:Python图像库PIL(Python Image Library)是python的第三方图像处理库,由 ...

  10. 二、python基础语法篇(黑马程序猿-python学习记录)

    黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ ====================================== ...

最新文章

  1. 【Java】 LeetCode 622. 设计循环队列 (有关实现循环队列的讲解)
  2. 程序员35岁破局之路
  3. hiho模拟面试题2 补提交卡 (贪心,枚举)
  4. 容器搭建Hadoop步骤
  5. sklearn炼丹术之——Linear Models汇总
  6. [HTTP协议] 基础知识
  7. 手机上有没有学python的软件-如何优雅的在手机上进行Python编程
  8. Orchard 之:Widget,兼看 Layer 在权限控制中的作用
  9. CSS:实现闪烁效果动画
  10. 苹果手机桌面找不到计算机,苹果手机在我的电脑显示不出来怎么办
  11. java实现网站的访问量_java统计网站访问量
  12. 联盟营销最佳实践:提高联盟计划的投资回报率
  13. 特征值和特征向量的作用
  14. 网络安全实验室|网络信息安全攻防学习平台(基础关)
  15. HEVC视频扩展解决方法
  16. react与mobx搭配时如何缓存mobx的数据(刷新之后保存状态)
  17. CA认证简单介绍与工作流程
  18. javascript练习12:得到输入歌词中朋友出现的次数
  19. Flutter 实现原理及跨平台实践
  20. Oracle触发器分类及使用

热门文章

  1. 【自我修炼】 大疆技术总监对于大学生学习机器人工程师路线建议 ( 大一 篇)
  2. Python存取图片至服务器数据库中
  3. Science | 成像技术揭示了艾滋病毒药物如何结合病毒结构
  4. Java Web实训项目:西蒙购物园
  5. 数学分析:L‘Hospital 法则
  6. Ajax,jQuery ajax,axios和fetch的区别
  7. 自考行政管理,给小白一些经验分享
  8. mysql数据驱动测试_自动化测试框架-数据驱动(2)
  9. TDA5235配置笔记
  10. 表格中的内容过长时不换行,以tips方式展示