python基础知识

p2 p3 区别

  1. p2: 8/5=1

    p3: 8/5=1.6 8//5 = 1

输入输出

myinput = input("please input your name:")
print(myinput)

#转义字符的用法  r---原来的 b--字节 u--unicode

string_1 = "c:\ndf"
string_2 = r"c:\ndf\fasd\fasd\asfasd\asd"

'''
    格式化输出
    %s ----------  string
    %d (%i) ----------- int
    %f   --------------  小数
'''
print('Name:%s,Age:%i,Job:%s' %(name,age,job))

string

    str = 'hello'
    s = str[ : :2]  #从头到结束,间隔为2  s = 'hlo'
    s.split('')    #以''分割
    s.strip()     #去除两端的空格
    s.append('ad')  #在末尾追加
    s.insert(2,'asdasd')  #在索引 2 的地方插入
    s.count('asd')   #计算元素的次数
    s.remove('asdasd')  #删除指定元素
    s.pop   #删除最后一个
    s.sort()    #排序
    s.reverse()  #反转

引号的区别

string_3 = "ffasf\nfasdds"
string_4 = 'asdfasd\nasdfasd'
string_5 = '''sfasdff
    fasdf
    dasdfasd'''

'''
三引号也可以作为一种注释存在
'''

强制类型转换

a = 100
b = " asfas"
print(str(a) + b)

for 语句

  1. 正常情况
sum = 0
for eve in range(1, 101):  # 默认 range(1,101,1) 从 1到101,间距1
    sum = sum + eve
print(sum)
  1. 特殊情况
while(for):
      break   #跳出当前一层的循环
else:    #当循环中break退出时,才会执行else的内容
  print()

内建函数

range : 生成范围内的int数 range(start , end , step)

id : 查看变量的内存地址

dir : 显示变量的可用的方法

is type : 类型判断 type('asd') is str

if 用法

猜数字

    answer = 4
    print("welcome to guess number game!")
    while True:
        myinput = int(input("please input one number:"))
        if myinput == answer:
            print("right!")
            break
        elif myinput > answer:
            print("bigger!")
        else:
            print("smaller!")

集合

1)set

set 使用 [ ] 括起

  1. 无序 不可重复

​```python
a = [1, 2, 3, 4, 5, 6, 1]
print(set(a)) #最后一个“1"被去重


2. 初始化set:set({一个参数})   [],() 都可以

​```python
print(set({1, 2, 3, 4, 5}))
  1. 增加(update) 和 删除(remove)
set_date = set(['asd','as','a','b'])
set_date.update('he')
set_date.remove('a')
print(set_date)

2) tuple

()括起

  1. 一旦定义,不可修改 检索速度特别快
a  = (1,2,3,4,(2,4,'s'),['sd','sd','fs'])
print(a)
  1. 但使用切片,可以修改
a = (1,2,3,4,5,6)
a = (21,34.23) + a[2:]
print(a)

3) list

[]扩起

  1. 有序 可重复,与 set 不同
a = [1,2,3,4,1,2,3,41,1,1,1,1]
print(a)
  1. 可进行增删改查,与 tuple不同
a[1] = "saasd"    #改
a.append("sdsd")  #末尾增加
a.remove('sdsd')  #删除,参数为要删除的内容
del a[1] #删除,参数为要删除的位置
print(a)
  1. 其他功能函数
a = [1,2,3,4,5,6,7,4,3]
print(max(a))
print(min(a))
print(len(a))

a.sort()  #默认排序
a.insert(1,'a')  #插入  list.insert(index,object)
a.index('a') #索引 查找某个内容的索引值

print(a)

4) dist

K-V对的无序集合 {}扩起

a = {"1":"ad",2:"sads","time":"fq"}  #2组KV对, "1"->"ad" , 2->”sads
print(a["1"])
print(a[2])
  1. 增加(修改)一组数据
a[3] = "sadasd"
a['adf'] = 13434
print(a)
  1. 删除一组数据
del a[3]    #通过 key 删除一组数据
a.clear()   #清空
print(a)
  1. 例子: 元素去重
a = [1,2,3,4,5,6,7,1,2,1,1,1]
print(a)

方法一 set()去重

print(set(a))

方法二 新建数组去重

b = []
for i in a:
    if i not in b:
        b.append(i)
print(b)

def 方法(函数)

def name(argc):
  1. 无返回值
def print_data(input_data):
    print(input_data)

str1 = 'fq is best one'
print_data(str1)
  1. 有一个返回值
def sum_data(num1,num2):
    return num1 + num2

a = 100
b = 200
print_data(sum_data(a,b))
  1. 多个返回值
def test():
    a = 'sda'
    b = 1
    c = (1,3,"sd")
    return [a,b,c]

print(test())
print(test()[2])

字符串进阶操作

1.replace

替换 : 不改变源字符串,返回替换后的字符串

a = 'asdfsaf'
b = a.replace("asd",'12')
print(b)

2. split

切割 : 不改变源字符串,返回替换后的字符串

a = 'abcabcabc'
b = a.split('c')
print(b)

文档操作

open函数:

常用参数:

    open( path , mode , encoding)

其中:

​ pah: 为文件的路径, 如 'C:/BT/text.txt'。若直接为文件名,则是python源文件所在的目录下

​ mode: r ----读 w ---- 覆盖写 a ------追加写

​ w+ , r+ , a+ ----------读写模式打开

​ rb ----- 二进制(字节)读 wb ------- 二进制(字节)覆盖写 ab ------- 二进制(字节)追加写

​ wb+ ,rb+, ab+ -------- 二进制(字节)读写模式

​ encoding : 编码格式 GBK 或 utf-8

eg:

    open('E:/' + data_title + '.html', "w",encoding='utf-8')

读取

'''
    read()  -------  将文件的内容全部放入一个string中
    readline() ----------读取文件中的一行
    readlines() ----------对文件按行读取,将每一行的数据作为一个string元素放入list中
'''
f = open("test.txt")
# print(f.read())
#print(f.readline())
print(f.readlines())
f.close()

写入

'''
    write:  常规写入
    writelines:  将参数作为list集合写入
'''
#f = open("test.txt",'w')   #覆盖写入
f = open("test.txt",'a')   #追加写入

f.write('asdfa')
f.writelines(['[fadadaf','\nasdfadasd'])
f.close()

使用 with 可以不用 f.close()

with open("test.txt") as f:
    print(f.read())

decode 和 encoode

decode ---- 字节 ---》 目标编码(utf-8 gbk)
encode ---- 现有编码(utf-8 gbk) ----》 字节

  a = '你好呀'
  print(a.encode('utf-8'))    #将 string 转换为 字节
  print(a.encode('utf-8').decode('utf-8'))  #将 string 转换为 字节 在转换为 string

你可能感兴趣的:(python基础知识)