首页 > 代码库 > Python第一周--零星知识点(2)

Python第一周--零星知识点(2)

1. 变量 & 常量

(1)简化命名变量

user,passwd = ‘  ‘ , ‘  ‘

(2)常量用全大写标示

2.  .pyc简要介绍

(1)python是一门解释性语言。

(2)解释型语言和编译型语言(不能纯粹的分为这两种,例如Java):高级语言----编译&解释---->机器语言

    解释型语言—>程序运行时,通过解释器对程序逐行做出解释,然后直接运行,典型:Ruby

    编译型语言—>程序执行前,先通过便与其对程序执行一个编译的过程,将高级语言变为机器语言,运行时,不需翻译,直接执行。典型:C

    Java等基于虚拟机的语言。Java首先是通过编译器编译成字节码文件,然后在运行是通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。

(3)python和Java/ C#一样,也是一门基于虚拟机的语言。先编译后解释的语言。

        程序----编译---->.pyc(PyCodeObject)----python解释器可以读懂的字节文件。

3. 数据类型

(1)int(整型)

    32位机器上,整数的位数为32位,取值范围:-2**31~2**31-1

    64位机器上,整数的位数为64位,取值范围:-2**63~2**63-1

(2)long(长整型)-----python3中不转换为长整型

(3)flote(浮点型)-----小数

(4)布尔值

    真或假   1或0

(5)字符串

    "hello world"

字符串的格式化输出(字符串:%s,整数:%d,浮点数:%f):

name = ‘qpzm‘

print("I am %s") % name

#I am qpzm

同时可使用+进行拼接,不是很建议,影响效率。

4.列表

a = [‘jack‘, ‘lily‘, ‘lucy‘]

for index.i in enumerate(a):  # 枚举函数

    print(index.i)

# 结果:

(0. ‘jack‘)

(1. ‘lily‘)

(2. ‘lucy‘)

 

[元素] 可存储------ [字符串,数字,变量]

[0,1,…………-1]

[1:9]----切片时,顾头不顾尾,即包含左边,不包含右边。

[-5:]-----这时包含了最后一个

插入元素,增加元素,删除元素:

name = [‘Alex‘, ‘jack‘, ‘Rain‘, ‘Eric‘, ‘rose‘, ‘lily‘]
name.insert(-1, ‘lilei‘) # 插入变量
name.insert(4, ‘lucy‘)
print(name)

name2 = name[2:7] # 切片
print(name2)

name.remove(‘lily‘) # 只能remove一个
print(name)

del name[4:6] # 删除内存中的列表,变量,可删除多个变量
print(name)

name[4] = ‘rose(zuzhang)‘ # 修改备注
print(name)

print(name[0::2]) #每隔一个,打印一个

针对列表的一些方法:

name.index()  # 索引第一个返回

name.append()  # 末尾增加

name.count(X)  # X的个数

name.clear()  # 清空此列表

name.extend()  # 扩展进来一个新的列表

name.reverse()  # 反转列表

name.sort()  # 排序,适用于python2中

name.pop()  # 默认删除最后一个,可指定删除某一个,如name.pop(3) 利用索引删除
name3 = name.copy()  # 同copy.copy()
 
总结:
赋值--->第一层,第二层都会跟着改变
.copy--->外一层,嵌套值改变的前提下--嵌套那一层改变
.deepcopy--->外一层,嵌套值改变的前提下--所有都不变

5. 元组---不可变列表  tuple

只读,生成后不可改

6.字符串

(1)移除空白

username.strip.()

(2)分割

name.split.()  # 利用括号里面的,拆分为列表

‘|‘.join()  # 再组合

name.capitalize()  # 首字母大写

(3)赋值变量

msg = "hahah{0}, ddd{1}, ttt{2}"

print(msg.format(‘a‘, 3, 5))

name = ‘qpzm‘

print(name.center(40, ‘-‘))  # 打印48个-,name位于中间

(4)查找

name.find()  # 返回索引

name.isalnum()  # 是否包含特殊字符
name.endswith() # 判断是以什么结尾
name.startswith() # 判断以什么开始
name.upper().lower()  # 改大小写

age.isdigit()  #判断是否为数字

7. 数据运算

(1)成员运算:

in--->如果再指定序列中找到值返True,否则返回False

not in

(2)身份运算:

is--->is是判断两个标识符是不是引用自一个对象

is not

(3)位运算

&---按位与运算符

|---按位或运算符

计算机总能表示的最小单位,是一个二进制位

计算机总能存储的最小单位,是一个二进制位(bit)

8bit = byte(字节)

1024 byte = 1Kbyte

异或运算:相同为0,不同为1

8. while循环

count = 0
while True:
count +=1
if count > 50 and count < 60:
continue
print("hahaha", count)
if count == 100:
print("hehehe")
break

9. 字典--无序,无下标

id_db[230221199309080097][‘name‘] = ‘zm‘  # 修改
id_db[230221199309080097][‘qq‘] = 3232244 # 添加
del id_db[230221199309080097][‘add‘] # 删除
id_db.get(230221199309080097) # 获取
dic2 = {

}
id_db.update(dic2) # 覆盖
id_db.items() # 字典变列表 一般不用!
id_db.values() # 打印字典中的所有值
id_db.keys() # 打印字典中的所有key,返回列表
id_db.has_key()  #python2 的用法
XXXXX in id_db # 在里面存在
id_db.setdefault(23232332) # 存在就返回值,不存在返回none,并在最后生成23232332:none
#也可:
id_db.setdefault(23232332,‘hahah‘) #取key,不存在则添加
id_db.fromkeys([1, 2, 3, 4], ‘ddd‘) # 列表里的值添加---新的字典,只是调用字典的方法,和所使用字典无关------不建议使用
# 循环字典
for key in id_db:  # 推荐使用!!!  
print(key,id_db[key])
 

Python第一周--零星知识点(2)