python学习日记

python学习日记1

学习网站

‘#’表示注释


字符串

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r”表示”内部的字符串默认不转义.

>>> print('\\\t\\')
\       \
 >>> print(r'\\\t\\')
\\\t\\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容.

>>> print('''line1
... line2
... line3''')
line1
line2
line3

布尔值可以用and、or和not运算。不能使用&&,||,!等运算符。


对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

以Unicode表示的str通过encode()方法可以编码为指定的bytes.

>>> '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)

要把bytes变为str,就需要用decode()方法。

>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'

len()函数可以计算字符数和字节数


在源代码中第一行写入# -*- coding: utf-8 -*-防止乱码


采用的格式化方式和C语言是一致的,用%实现。

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
占位符解释
%d整数
%f浮点数
%s字符串
%x十六进制整数

链表操作

下标为负值时可以取倒数第几个元素

函数解释
list.append(k)将k加入list链表(加入元素为链表最后一个)
list.insert(1,k)将k插入到链表下标为1的位置,原来1位置和后面位置元素全部向后退一位
list.pop()删除并返回链表末尾的元素
list.pop(i)删除指定位置i的元素

元祖:tuple——一旦初始化不能修改。

元祖取元素操作和链表一样


条件判断

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

循环

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

break 可以提前推出循环
continue可以跳过单次循环


字典——键值对

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

通过in判断key是否存在

>>> 'Thomas' in d
False

通过dict(字典)提供的get方法,如果key不存在,可以返回None,或者自己指定的value。

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:


  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
函数解释
s.add(key)添加元素到set中
s.remove(key)删除元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值