fd在python_python基础

格式化输出

单个变量:'你好,s%'%name

多个变量:'你好,s%,我是s%'%(name1,name2)

运算符

算术运算:+ - * / // % **

比较运算:> < >= <= == != (根据值比较)

赋值运算:= += -= *= = %=

逻辑运算:not and or

身份运算:is 、not is (根据内存地址比较)

注:

a == b 值比较

a is b 内存比较

通用操作:in、not in(是否存在)

字符编码

ASCII 只有键盘上有的盘符

UTF-8 可变长万国码 (省空间)

unicode 万国码 (浪费空间)

gbk 中国国标码

注:

str ---> utf-8

字节类型 = 字符串.encode('utf-8')

utf-8 ---> str

字符串 = 字节类型.decode('utf-8')

文件存储不可能是Unicode字符编码、可以是utf-8、gbk等

内存中使用的是Unicode字符编码

基础数据类型

字符串

索引 从0开始

切片 [start🔚step] 左闭右开区间 'abcd'[1:3] ==> 'bc'

去空白符:strip (去掉两端的空白符 \t \n)

切割:split (根据某一个指定的字符进行切割)

合并:join ('|'.join(['1','2','3']) 拼接结果> '1|2|3')

替换:replace ('abcd'.replace('a','A',n),将abcd字符串中的前n个'a'替换成'A'

转换大小写:upper 和 Lower 字母的大小写转换

数字字母判断:isdigit 和 isalpha 判断是否为纯数字或纯字母

开头结尾判断:startswith 和 endswith 判断开头和结尾是否符合要求

列表

索引 正索引:0~n 倒索引:-1~-n

切片 正切:L[:::] 反切:L[::-1]

增:append、insert

删:pop(默认删除最后一个值) remove('value') clear(清空列表)

改:L[index] = 'new_value'

查:print(L[index])

判断某个值是否在列表中:True or False = 'value' in list

for i in list:

print(i)

字典 (永远通过key找值,key必须可hash)

d = {'K':'V'}

增: d['new_k'] = 'new_vlaue'

删: d.pop('old_k') del d['old_k']

改: d['old_k'] = 'new_value'

查: print(d['k']):只输出,无返回值 print(d.get('k')):有返回值

循环:

for k in d:

print(k)

print(d[k])

元祖 (不可变的列表)

(1,)

(1,[],{}) # 元祖中所有不可变数据类型都不能发生改变,但可变数据类型可以变化

索引

切片

集合

求多个集合之间的关系,并集(|),交集(&),差集(-)(补集)

去除重复内容(去重)

集合中的所有的元素和字典的key相同,都需要做到可hash

注:

s1 = {'1','2','3'}

s2 = {'1','2','4'}

交集:s1 & s2 ====> {'1','2'}

并集(去重):s1 | s2 ====> {'1','2','3','4'}

差集:s1 - s2 ====> {'3','4'}

基础数据类型分类方式:

分类记忆一:

数字类型:bool int float

序列类型:str tuple list --索引 切片

散列类型:dict set --无序的,并且元素,key可hash

分类记忆二:

可变数据类型(不可hash):list dict set

不可变数据类型(可hash):bool int float str tuple

range

range(start, end, step):左闭右开

range(100)————>循环生产1-99的值

for

for i in 有多少个元素的数据类型:

在循环的时候,数据类型有多个元素,就循环多少次

这个缩进内部的代码就执行多少次

且每一次循环,这个i会以此被赋值为这个数据类型中的元素

break 跳出循环

continue 结束本次循环

else 当整个for循环没有被break的时候,就执行这句话(正常执行完全部for代码后执行)

while ()

while 条件:

函数体

(break || continue)

else 当没有被break,且执行到不满足条件时执行该处

深浅拷贝:

浅拷贝:(值拷贝)

第一层发生变化的所欲的列表互不干涉,如果是某个可变类型元素内部值变化,所有的对象共享

切片 list = list[:]

list = list1.copy()

list = copy.copy(list1)

深拷贝:(地址拷贝)

不管这个变量多少层,只要互相是深拷贝,那么这些数据永远没有交集

互相之间的改变都不发生互相的影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值