< 笔记 > Python
来源:互联网 发布:金博宝芝林软件破解版 编辑:程序博客网 时间:2024/06/06 00:18
02 Python 基础
By Kevin Song
- 02-01 数据类型和变量
- 02-02 字符串和编码
- 02-03 list和tuple
- 02-04 判断语句
- 02-05 循环语句
- 02-06 dict和set
02-01 数据类型和变量
数据类型
- 整数
- 浮点数
- 字符串
- 布尔值
- 空值
整数
Python可已处理任意大小的整数
浮点数
按照科学记数法表示时,小数点位置可变:1.23x10^9 = 12.3x10^8
对于很大或者很小的浮点数采用科学记数法:1.23x10^9 = 1.23e9
字符串
单引号 ’ ‘ 或双引号 ” “ 括起来的任意文本:’abc’,”xyz”
如果 ’ ‘ 本身也是一个字符,那就可以用 ” “ 括起来
a = "I'm OK"
输出:I’m OK
如果字符串内部既包含 ’ ‘ 又包含 ” “ ,用转义字符\来标识
a = 'I\'m \"OK\"!'
输出:I’m “OK”!
转义字符
r” : ’ ‘ 内部字符串默认不转义
>>> print(r'\\\t\\')\\\t\\
”’…”’ : 表示多行内容
交互式
>>> print('''line1... line2... line3''')line1line2line3
编辑器
print('''line1line2line3''')
布尔值
- Ture
- False
布尔值运算符
- and
- or
- not
>>> True and TrueTrue>>> True and FalseFalse>>> False and FalseFalse>>> 5 > 3 and 3 > 1True
空值
空值是Python里一个特殊的值,用None表示
变量
动态语言 Python
a = 123 # a是整数print(a)a = 'ABC' # a变为字符串print(a)
动态语言 Java
int a = 123; // a是整数类型变量a = "ABC"; // 错误:不能把字符串赋给整型变量
02-02 字符串和编码
字符串 转 整数 :ord()
>>> ord('A')65>>> ord('中')20013
整数 转 字符串 :chr()
>>> chr(66)'B'>>> chr(25991)'文'
bytes类型
把str变为以字节为单位的bytes
bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
‘ABC’ 和 b’ABC’,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。
encode()
以Unicode表示的str编码为bytes,通过encode()方法
>>> 'ABC'.encode('ascii')b'ABC'>>> '中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'>>> '中文'.encode('ascii')Traceback (most recent call last): File "<stdin>", line 1, in <module>UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
decode()
bytes解码为str,通过decode()方法
>>> b'ABC'.decode('ascii')'ABC'>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')'中文'
len()
- 计算的是str的字符数
- 计算的是bytes的字节数
>>> len('ABC')3>>> len('中文')2>>> len(b'ABC')3>>> len('中文'.encode('utf-8'))6
格式化
常见占位符
- %d 整数
- %f 浮点数
- %s 字符串
- %x 十六进制整数
>>> 'Hi, %s, you have %d RMB.' % ('Kevin', 1000000)'Hi, Kevin, you have 1000000 RMB.'
>>> 'growth rate: %d %%' % 7'growth rate: 7 %'
02-03 list和tuple
list
Python内置的一种数据类型是列表:list
>>> justice = ['Kevin', 'Cyborg', 'Flash']>>> justice['Kevin', 'Cyborg', 'Flash']
获取长度
>>> len(justice)3
常用函数:
- cmp(list1, list2):比较两个列表的元素
- len(list):列表元素个数
- max(list):返回列表元素最大值
- min(list):返回列表元素最小值
- list(seq):将元组转换为列表
常用方法:
- list.append(obj):在列表末尾添加新的对象
- list.count(obj):统计某个元素在列表中出现的次数
- list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
- list.index(obj):从列表中找出某个值第一个匹配项的索引位置
- list.insert(index, obj):将对象插入列表
- list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
- list.remove(obj):移除列表中某个值的第一个匹配项
- list.reverse():反向列表中元素
- list.sort([func]):对原列表进行排序
查改
>>> justice[0]'Kevin'>>> justice[-1]'Flash'>>> justice[2] = 'Superman'
list元素的数据类型可以不同
>>> L = ['Apple', 123, True]
list元素也可以是另一个list
>>> s = ['python', 'java', ['asp', 'php'], 'javascript']>>> len(s)4
tuple
元组:tuple一旦初始化就不能修改
>>> justice = ('Kevin', 'Cyborg', 'Flash')
没有append(),insert()这样的方法。其他获取元素的方法和list一样
定义只有一个元素的tuple,加一个逗号
>>> t = (1,)>>> t(1,)
tuple里的list可变
>>> t = ('a', 'b', ['A', 'B'])>>> t[2][0] = 'X'>>> t[2][1] = 'Y'>>> t('a', 'b', ['X', 'Y'])
02-04 判断语句
if 语句
- 如果if语句判断是True,就执行缩进的两行print语句
- 否则,什么也不做
age = 20if age >= 18: print('your age is', age) print('adult')
if else 语句
age = 3if age >= 18: print('your age is', age) print('adult')else: print('your age is', age) print('teenager')
elif 语句
其实就是else if
age = 3if age >= 18: print('adult')elif age >= 6: print('teenager')else: print('kid')
例
s = input('birth: ')birth = int(s)if birth < 2000: print('00前')else: print('00后')
02-05 循环语句
- for in 循环
- while 循环
for in 循环
names = ['Michael', 'Bob', 'Tracy']for name in names: print(name)
range()函数生成整数序列
sum = 0for x in range(101): sum = sum + xprint(sum)
while 循环
计算100以内所有奇数之和
sum = 0n = 99while n > 0: sum = sum + n n = n - 2print(sum)
02-06 dict和set
dict
使用键值对存储数据
>>> d = {'Kevin': 95, 'Cyborg': 75, 'Flash': 85}>>> d['Kevin']95
判断是否存在
>>> 'Superman' in dFalse
获取删除
>>> d.get('Superman')>>> d.get('Superman', -1)-1>>> d.pop('Cyborg')75
dict
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
list
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法
注意: dict的key必须是不可变对象(str,int)
set
- 没有重复的key
- 没有value
- 需要提供一个list作为输入集合
>>> s = set([1, 1, 2, 2, 3, 3])>>> s{1, 2, 3}
常用方法
- add() 可以重复添加,但不会有效果
- remove(key) 删除
两个set取交集并集
>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2{2, 3}>>> s1 | s2{1, 2, 3, 4}
不可变对象
可变对象:list
>>> a = ['c', 'b', 'a']>>> a.sort()>>> a['a', 'b', 'c']
不可变对象:很多
比如:str
>>> a = 'abc'>>> a.replace('a', 'A')'Abc'>>> a'abc'
- Python笔记
- python笔记
- python笔记
- python笔记
- python笔记
- PYTHON笔记
- python笔记
- python笔记
- python笔记
- Python笔记
- Python笔记
- Python笔记
- PYTHON笔记
- Python笔记
- python笔记-------------
- python笔记
- Python笔记
- python 笔记
- 如何成为一名优秀的前端工程师
- 如何阻止手机虚拟键盘弹起
- luogu2035 iCow
- 【UVA 673 Parentheses】 & 栈
- leetcode 347. Top K Frequent Elements 使用HashMap计数
- < 笔记 > Python
- 【UVa12265】Selling Land 贩卖土地
- 集合的整数表示
- hdu 1724 Ellipse(自适应Simpson积分) (模板)
- Progress of 96Board Camera MIPI Mezzanine
- SoftMax回归简介及python代码实现
- 大学生职业生涯规划
- luogu3009 [USACO11JAN]利润Profits
- Bilibili Spider 经验总结