Python学习:第一部分,Python基础

系列文章目录


第一章 Python 基础


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

目录

目录

系列文章目录

第一章 Python 基础

文章目录

前言

一、python常用的数据类型及常用操作与运算

二,控制流:分支与循环

三,文件的操作

四,编码与解码

五,基本语法与书写规范

总结



前言

python的是精髓在于狭义的函数与对象,而在这之前,需要学习python的基础知识,比如数据类型及其基本操作,基本运算,循环与分支,书写规范等。

一、python常用的数据类型及常用操作与运算

 Ⅰ,数字型,int,float,

Ⅰ,int 不可变类型(可以哈希:通过哈希函数生成唯一的key与value,二则任何一个改变则与原来不同)
   运算与转换:+,-,*,/,%取模,//取整,**方次,比较运算(>,<,==,!=,>=,<=等)

    转换:oct(),hex(),bin()等

a = 1
b = 2
c = 100

print(a+b,a*b,a/b,a//b,a**b,a%b)

print(oct(c),bin(c),hex(c))#0o144 0b1100100 0x64

Ⅱ,字符串 string:加引号的内容(单引号双引号没有区别,三引号一般表示注释或者多行内容)

   运算:+(拼接),* 数字 (表重复次数)

   常用操作:

a = ' I love this Game '
b = 'Michael Jordan'
c = '123'
d = 'ab'
#索引,取值,切片
print(a[2:5])
print(a[2])
print(a[5:])
#字符的长度及字符的关系
print('I' in a)
print('b' not in a)
len(a)
#strip(),rstrip().lstrip() 移除空白
print(a.strip())
#大小写转换
print(a.lower())
print(a.upper())
print(a.title())
print(a.capitalize())
#分割
print(a.split())
print(a.split('this'))#[' I love ', ' Game ']
#组合
print(c.join(d))#a123b
print(d.join(c))#1ab2ab3
#替换
print(a.replace('love','LOVE',1))# I LOVE this Game
#查找,计数
 #find,rfind,index,rindex,count
print(a.index('ov'))
print(a.find('1ov'))#找不到显示-1
print(a.count('o',2,5))#在第二到第五个字符中统计o出现的次数
#字符填充
#center,ljust,rjust,zfill
name = 'albert'
print(name.zfill(10))
print(name.rjust(30,'*'))
print(name.ljust(20,'~'))
print(name.center(20,'#'))

#is数字系列
num1 = b'4'
num2 = u'4'
num3 = '四'
num4 = 'Ⅳ'
print(num1.isdigit(),num2.isdigit())
print(num3.isnumeric(),num4.isnumeric())#汉字与罗马数字
#其余部分
#.isalnum()字符数字组成,.isalpha(),isidentifier(),,islower(),.isupper()

Ⅲ,容器类:列表,字典,集合,元组,collection类(略)等

列表:list 是有序的,可变类型,不可以哈希,推导式[expressioin for item in Sequence if conditional]

student1 = {'Mr Li','Mr Liu','Mr Zhang'}#集合
student2 = {'Mr Zhang','Mr Li','Mr Liu'}
print(student2==student1)#True 集合是无序的
print(student1 is student2)#False 比较的是ID,及储存位置
list1 = ['Mr Li','Mr Liu','Mr Zhang']
list2 = ['Mr Zhang','Mr Li','Mr Liu']
print(list1==list2)#False 列表是有序的
print(list1 is list2)#False

#元组与列表的差异:元组是不可能更改的,可哈希的,元组只可以取值
list1 = [1,2,3,4,5,6]
#支持索引,切片
print(len(list1))
list1.copy()
list1.insert()
list1.clear()
list1.pop()
list1.remove()#移除的元素,而不是位置
list1.append()#如果参数是一个可迭代的列表,也是一个个添加
list1.extend()#参数为可迭代的列表,整个添加
list1.reverse()#排序反转
list1.sort()#排序
list1[2]= 100

列表的浅拷贝与深拷贝:

浅拷贝,一级元素的变动,没有影响,二级元素变动会有影响。

深拷贝,完全独立。

字典:可变类型,不可哈希。key必须是不可变类型

# 创建方式一:键值对方式,字典的key必须是不可变类型。
dict1 = dict(name='Lebron', age='37', Gender='Male')
# dict1 = {
#     'name':'Lebron',
#     'age':'37',
#     'Gender':'male'
# }
dict1['hobby'] = 'Basketball'

dict1 = dict1.fromkeys(dict1,[1,2,3])#dict.fromkeys(key,value)
l1 = [1,2,3,4]
l2 = ['老张','老李','老王','老刘']
#创建方式二:字典生成式与zip搭配生成
dict2 = {key:value for key,value in list(zip(l1,l2))}
dict3 = {x:x+2 for x in range(10)}
print(dict2)
print(dict3)
#创建方式三:通过满足条件的列表来创建
list_dict = [('1','egg'),('2','Poke'),('3','beef')]
print(dict(list_dict))
#创建方式四:
dict4 = {'a':1,'b':2,'c':3,'d':4}
dict4 = dict4.fromkeys(dict4,'fromkeys对应的值')
print(dict4)

dict1 = dict(name='Lebron', age='37', Gender='Male')
dict1['hobby'] = 'Basketball'
del dict1['hobby']
dict1.update({'score':'50000'})#可改可增
dict1.setdefault('score','40000')#可增不可改
print(dict1)

Ⅳ,布尔型(略)

二,控制流:分支与循环

控制流:一般就是指选择,循环,(跳出 break,跳过某一次循环continue)
#条件...if...elif....elif....else
if condiction1:
    do something
elif condition2:
    do something2
elif condition3:
    do somethin3:
else:
    print('这是一个例子')


#循环:条件循环 while, 迭代的循环 for
#break 与 continue可用于循环的跳出
#都可以和else连用,表示前面函数执行完毕之后要做的操作
i = 2
while i>0:
    i += 2
    print(i)
    while i== 20:
        print('第二个循环里的while中的%s'%i)
        break
    if i>30:
        print('break跳出主循环,第一个循环')
        break
else:
    print('break 试验完毕,结论是每次只跳出其所在的循环,'
          '且如果while循环被break打断了后面的else后的内容将不再执行')

#while与tag的连用,可以迅速跳出所有循环。
tag = True
i = 1
while tag:
    i+= 1
    if i==5:
        while tag:
            print('这是第二个tag')
            tag = 0
            print('tag为%s,快速跳出所有的while循环'%tag)

使用控制流时的注意事项:1,尽量少嵌套,if地狱 2,封装较为复杂的循环,避免过多的嵌套。3, 不过多出现and or not,通过取反简化。4,德摩根定律 not A and not B=Not(A and B)

5,使用all(),any()如下

list1 = [i for i in range(4,10)]
print(list1)

print( all(n>3 for n in list1))#所有元素都成立,为真
print(any(n<5 for n in list1))#any至少有一个元素成立,为真

6,and 与or的优先级,and>or

三,文件的操作

#文件管理
f=open(r'filepath','r+',encoding='utf-8')

with open(r'filepath','r+',encoding='utf-8') as f1:
    # data1 = f1.read()#全打开
    for line in f1.readlines():#一次打开一行
        print(line,end="")

os.rename('a.txt','b.txt') #重命名
os.remove(r'pathname.txt') #删除

四,编码与解码

        

str1 = '我是中国人,我爱中国'
str2 = 'I Love U'
print(str1.encode('gbk'))
print(str1.encode('gbk').decode('gbk'))
print(str1.encode('utf-8'))
print(str1.encode())#默认为utf-8,unicode
print(str2.encode('gbk'))
str3 = b'\xce\xd2\xca\xc7\xd6\xd0\xb9\xfa\xc8\xcb\xa3\xac\xce\xd2\xb0\xae\xd6\xd0\xb9\xfa'
print(str3.decode('gbk'))#如何存,如何取,否则乱码

五,基本语法与书写规范

1,python中的关键字,变量名应该避开这些:[yield,pass,False,True,class,return,as,continue,except,else,exec,finally,for,from,if,while,import,print,raise,
try,with]等

2,驼峰体与变量即逻辑

3,常量一般大写

4,函数体与类的导入空两行。


总结

提示:这里对文章进行总结:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值