[Python] Python 学习记录(1)
1.概论
弱类型 一个变量能被赋值时能与原类型不同
x = 1
x = "1" #不加分号,给x赋值为int后再次赋值为string是可行的
与或非 and or not
/ #除法的结果是浮点数, 9 / 3 = 3.0
// #结果是整数 10 // 3 = 3
空值为None(相当于null)
内置类型 Numbers(整数和浮点数), Strings,Lists
print('')
print("%%") #% 字符串打印单引号和双引号皆可
print(r'C:\Users\local') #C:\User\local raw 表示不转义 相当于C#中@
字符串跨多行
print(''' 内容
内容''')
'''内容'''
2.字符串
字符编码
ASCII 使用一个字节 包含127个编码 (大小写英文、数字、特殊符号)
Unicode 使用两个字节表示一个字符 (偏僻的使用4个字节)
Utf-8(8-bit Unicode Transformation Format) 针对Unicode的可变长编码
属于ASCII的字符用一个字节,汉字使用两个字节编码 完全兼容ASCII
计算机内存中统一使用Unicode编码,需要保存或传输时转换为Utf-8编码
ord() #取字符的整数表示
chr() #把编码转换为字符
print('\u4e2d\u6587') #中文
x = b'ABC' #x为bytes 一个字符占用一个字节
x = 'ABC' #x为str
字符串编码(bytes str互转)
str->bytes 'STR'.encode('ascii') # utf-8
bytes->str b'STR'.decode('ascii')
字符串格式化
'%d,%f,%s,%x' % (2333,3.14,'Python str',0x23)
'%2d-%02d' %(3,1) #3-01
'%.2f' % 3.1415 #3.14
字符串可以用 + 连接
用 * 用来重复字符串 3 * 'a' #aaa
print('a' 'b') #ab 这样a和b会自动连接起来,少写个 +
word = 'Python'
print(word[0]) #p
print(word[-1]) #n 倒数第一个
word[0:2] #Py
word[2:5] #tho
word[:2] #Py
word[4:] #on
word[-2:] #word[-2] + word[-1] on
字符串有不可变性 word[0] = 'A' 会报错
3.list
x = [1, 2, 3, 4]
和字符串一样index用起来比较方便
x[0] #1
x[1:2] #[2, 3]
x[-2:] #[3, 4]
y = [4, 5, 6, 7]
x + y #[1, 2, 3, 4, 5, 6, 7] 集合的并操作
tuple
与list类型,但其中的元素不可变
4.分片
有点Matlab的感觉
L = [1,2,3]
L[0:2] L[0] L[1]
L[1:] #L[1] 到最后一个元素 或者写成L[1:-1]
L[-1] 最后一个元素
L[:10:2] #前10个数,每两个取一个 [0,2,4,6,8]
5.map() & reduce()
map(func, [1,2,3])
将[1,2,3]中每个元素作为参数执行一次func
reduce(func, [1,2,3])
func(func(1,2),3)
练习解答
输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']:
def normalize(name):
first = name[0].upper()
for i in name[1:]:
first = first + i.lower()
return first L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)
6. filter()
filter(func,[1,2,3,4])
和map类似,以每个元素为参数调用func,返回为ture的保留,否则丢弃
sorted([2,3,4,5,6,7],key = comparer, reverse = false)
传一个比较方法即可快速实现排序
参考链接
https://docs.python.org/3/tutorial/introduction.html
[Python] Python 学习记录(1)的更多相关文章
- Python爬虫学习记录【内附代码、详细步骤】
引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...
- python爬虫学习记录
爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...
- 简明 Python 教程--学习记录
注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符.这样做有点难看,不过确实简单有效. print # prints a blank line 注意,没有返回值 ...
- python numpy学习记录
numpy是一个python和矩阵相关的库,在机器学习中非常有用,记录下numpy的基本用法 numpy的数组类叫做ndarray也叫做数组,跟python标准库中的array.array不同,后者只 ...
- python多线程学习记录
1.多线程的创建 import threading t = t.theading.Thread(target, args--) t.SetDeamon(True)//设置为守护进程 t.start() ...
- Python tkinter 学习记录(一) --label 与 button
最简的形式 from tkinter import * root = Tk() # 创建一个Tk实例 root.wm_title("标题") # 修改标题 root.mainloo ...
- Python正则表达式学习记录
常用的命令: http://www.runoob.com/python/python-reg-expressions.html 使用中相关注意问题: 1. 中括号里的表示从N到M需要用横线‘-’, 而 ...
- 流畅的python第一章python数据模型学习记录
python中有些特殊的方法,以双上下划线开头,并以双下划线结束的方法.如__getitem__,这些方法是特殊的方法,供python解释权内部使用,一般来说不需要调用 还有一种是以双下划线开头的,如 ...
- python getopt学习记录
有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...
- python基础学习记录......
1.IDEA写python 打开IDEA,File--->settings---->Plugins 输入python 安装 重启IDEA 2.新建Project 选择P ...
随机推荐
- SPOJ - 3267. D-query 主席树求区间个数
SPOJ - 3267 主席树的又一种写法. 从后端点开始添加主席树, 然后如果遇到出现过的元素先把那个点删除, 再更新树, 最后查询区间就好了. #include<bits/stdc++.h& ...
- hdu 1890 Robotic SortI(splay区间旋转操作)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1890 题解:splay又一高级的功能,区间旋转这个是用线段树这些实现不了的,这题可以学习splay的旋 ...
- 如何设置FreePBX的数据库用户可以通过远程来连接Mysql数据库?
要满足mysql允许通过除了本机外的主机进行使用客户端连接的方法: 要设置root用户允许通过外网用户进行连接访问的操作方法: 1.首先先改mysql的配置文件 将绑定的#bind-address = ...
- Dapper学习(二)之Query相关
0. FIrst , Single & Default 使用这个方法时要小心,First 和 Single 是不同的. 这里,对这个表做下说明: 如果使用 First , 当没有查到元素时,会 ...
- 【UEFI】---BIOS中UserPassword的重复校验总结
UEFI作为目前较为流行的一套X86架构初始化的标准框架,已受到业界内的广泛认可.而其中很多编程所采用的思想确实值得学习.今天总结下UEFI的框架下修改代码的一点小经验,仅供菜鸟参考. 先列干货,具体 ...
- jumper-server-资源管理
https://cloud.tencent.com/developer/article/1460469 此链接是百度搜索的 , 比较详细 https://www.cnblogs.com/zsl-fin ...
- Net基础篇_学习笔记_第十一天_面向对象(析构函数)
析构函数与构造函数 析构函数: ~Student() { Console.WriteLine("我是析构函数"); } 析构函数,当程序结束的时候,析构函数才执行. 帮助我们释放资 ...
- localStorage详细总结
一.localStorage简介: 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cooki ...
- 微信小程序商城构建全栈应用 Thinkphp5
课程——微信小程序商城构建全栈应用[目录]第1章 前言:不同的时代,不同的Web第2章 环境,工具与准备工作第3章 模块,路由与获取请求参数第4章 构建验证层第5章 REST与RESTFul第6章 A ...
- Disruptor原理探讨
之前谈到了在我的项目里用到了Disruptor,因为对它了解不足的原因,才会引发之前的问题,因此,今天特意来探讨其原理. 为什么采用Disruptor 先介绍一下我的这个服务.这个服务主要是作为游戏服 ...