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)的更多相关文章

  1. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  2. python爬虫学习记录

    爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...

  3. 简明 Python 教程--学习记录

    注意,我们在print语句的结尾使用了一个 逗号 来消除每个print语句自动打印的换行符.这样做有点难看,不过确实简单有效. print # prints a blank line 注意,没有返回值 ...

  4. python numpy学习记录

    numpy是一个python和矩阵相关的库,在机器学习中非常有用,记录下numpy的基本用法 numpy的数组类叫做ndarray也叫做数组,跟python标准库中的array.array不同,后者只 ...

  5. python多线程学习记录

    1.多线程的创建 import threading t = t.theading.Thread(target, args--) t.SetDeamon(True)//设置为守护进程 t.start() ...

  6. Python tkinter 学习记录(一) --label 与 button

    最简的形式 from tkinter import * root = Tk() # 创建一个Tk实例 root.wm_title("标题") # 修改标题 root.mainloo ...

  7. Python正则表达式学习记录

    常用的命令: http://www.runoob.com/python/python-reg-expressions.html 使用中相关注意问题: 1. 中括号里的表示从N到M需要用横线‘-’, 而 ...

  8. 流畅的python第一章python数据模型学习记录

    python中有些特殊的方法,以双上下划线开头,并以双下划线结束的方法.如__getitem__,这些方法是特殊的方法,供python解释权内部使用,一般来说不需要调用 还有一种是以双下划线开头的,如 ...

  9. python getopt学习记录

    有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...

  10. python基础学习记录......

    1.IDEA写python 打开IDEA,File--->settings---->Plugins    输入python  安装   重启IDEA 2.新建Project     选择P ...

随机推荐

  1. 杭电多校第九场 hdu6424 Rikka with Time Complexity 数学

    Rikka with Time Complexity Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K ( ...

  2. UVA - 315 Network(tarjan求割点的个数)

    题目链接:https://vjudge.net/contest/67418#problem/B 题意:给一个无向连通图,求出割点的数量.首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第 ...

  3. codeforces 755D. PolandBall and Polygon(线段树+思维)

    题目链接:http://codeforces.com/contest/755/problem/D 题意:一个n边形,从1号点开始,每次走到x+k的位置如果x+k>n则到x+k-n的位置,问每次留 ...

  4. poj 1511 Invitation Cards(dijstra优化)

    题目链接:http://poj.org/problem?id=1511 题意:给出n个点和n条有向边,求所有点到源点1的来回最短路之和(保证每个点都可以往返源点1) 题目比较简单就是边和点的个数有点多 ...

  5. 8.8&8.9 dp训练小结

    写了两天的dp题,表示大多dp都不会啊,还是爆搜大法好.我真的太蒻了dp还是要多做题啊,一些基本的套路还是不熟,真正写对的dp也就一道,还一道爆搜过的,dp还有很深的坑要填啊.. 8.8 T1 质数和 ...

  6. POJ 2391 Ombrophobic Bovines(Floyd+二分+最大流)

    题目链接 题意:农场有F(1 <= F <= 200)片草地用于放牛,这些草地有P(1 <= P <= 1500)连接,农场的草地上有一些避雨点,奶牛们可以在避雨点避雨,但是避 ...

  7. 1、pytest中文文档--安装和入门

    目录 安装和入门 安装pytest 创建你的第一个测试用例 执行多个测试用例 检查代码是否触发一个指定的异常 在一个类中组织多个测试用例 申请一个唯一的临时目录用于功能测试 安装和入门 Python版 ...

  8. 全网最实用的 Debug调试技巧汇总-Python大佬偷偷使用的神技

    一.思考❓❔ 1.什么是debug? 找茬 找软件的茬 发现程序的缺陷 2.为什么需要debug? 谁都不敢保证,写的代码没有任何问题 高效查找软件异常 一位优秀的开发工程师 20%的时间写代码 80 ...

  9. java.util.Timer简介

    Timer是用于管理在后台执行的延迟任务或周期性任务,其中的任务使用java.util.TimerTask表示.任务的执行方式有两种: 按固定速率执行:即scheduleAtFixedRate的两个重 ...

  10. [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher 题解报告

    来刷kuangbin字符串了,字符串处理在ACM中是很重要的,一般比赛都会都1——2道有关字符串处理的题目,而且不会很难的那种,大多数时候都是用到一些KMP的性质或者找规律. 点击标题可跳转至VJ比赛 ...