python

181 阅读7分钟

1.python优点

简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码

2.变量的类型

数字-int、float,布尔-True、False,字符串 str,列表 list,Tuple 元组,Dict 字典

3.标识符命名规则

标识符:构成:字母、数字、下划线,三大命名规则:大驼峰、小驼峰、下划线

4.如何在python中查找关键字.

1.运行命令提示框,2.输入python敲回车,3.输入import keyword 在敲回车,4.再输入keyword kwlist敲回车就出来了

5.常用的格式符号有哪些(3个即可)

%s—字符串 %d—十进制的整数 %f—浮点 %c—字符

6.运算符(至少5个)

      • / //取整 % 取余

7.python常用的数据类型转换(至少3个)

Int(x) float(x) str(x) list(s) tuple(s)

8. 计较运算符(至少3个)

== != > < >= <=

9. 逻辑运算符是哪3个

#and-且or-或 not-非

10.自己写一个if-elif-else条件语句并输出

a=4 if a<1: print(“苹果”) elif a<5: print(“西瓜”) else: print(“芒果”)

11.通过程序写一个等边三角形 for i in range(1,6): for j in range(1,6-i): print(" “,end=”") for k in range(1,i+1): print("* “,end=”") print("") for i in range(1,6): for j in range(1,6-i): print(" “,end=”") print("* "*i)

12.通过程序写一个九九乘法表 i=1 while i<=9: j=1 while j<=i: print("%d*%d=%-4d"% (j,i,j*i),end="") j+=1 print("\n") i+=1

13.通过代码针对str=“abcdefg” : 1取出bcd 2将str倒序 3取出bdf str=“abcdefg” print(str[1:4]) print(str[::-1]) print(str[1::2])

14.通过代码针对mystr = "hello world python and python"进行如下操作 1.找到右边第一个p的索引 2.找z结果要求报错 3.将所有空格替换成逗点 4.通过逗点生成一个列表 5.将d全部替换成大写D mystr = “hello world python and python”

print(mystr.rfind(“p”))

print(mystr.index(“z”))

print(mystr.replace(" “,”,")) mystr2 = ‘’ for i in mystr: if i == ‘d’: i = i.upper() print(i) mystr2 += i print(mystr2)

15.a = [1,2,3,4,5,6],在a中元素5前添加一个5.5元 在a中元素6后面添加"我心态炸了" 删除a中的元素1 a = [1,2,3,4,5,6] a.insert(4,5.5) print(a) a.append(‘我心态炸了’) print(a) a.remove(1) print(a)

16.b = [“a”,“b”,“c”,“b”,“a”] 查找索引区间在2-4的“b”的索引 查找索引区间在3-4的“a”的索引 b = [“a”,“b”,“c”,“b”,“a”] n = b.index(‘b’,2,4)

n = b.index(‘a’,3,4) print(n)

17.试着修改一个自己创建的元组,达到报错的目的,提醒自己元组不可修改 a=(“doubenzhi”,1,2.1) b=a[0] print(b)

18.自己写一个字典,计算自己写的字典中存在键值对的个数,找出字典中所有的key,找出字典中所有的value,试着遍历字典中的item,最后删除字典中的第一个键所对应的数据 a = {‘name’:‘doubenzhi’,‘age’:18,‘sex’:‘nan’} print(a.len()) print(a.keys()) print(a.values()) for i in a.items(): print(i) del a[‘name’] print(a)

19.集合中的discard的概念 discard() 方法用于移除指定的集合元素。 该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。 语法: set.discard(value) 20.试着自己写两个集合,分别进行 & 和 | 的操作 set1 = {‘aaa’,‘bbb’,‘ccc’} set2 = {‘aaa’,123,‘ccc’} print(set1&set2) print(set1|set2)

如果以上觉得没挑战,思维扩展:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配 import random

定义一个列表来保存3个办公室 offices = [[],[],[]]

定义一个列表来存储8位老师的名字 names = [‘A’,‘B’,‘C’,‘D’,‘E’,‘F’,‘G’,‘H’]

#开始分配 for name in names: index = random.randint(0,2) offices[index].append(name)

#遍历输出分配结果 i = 1 for tempNames in offices: print(‘办公室%d中有%d个老师,分别是:’%(i,len(tempNames))), i+=1 for name in tempNames: print(’%s’%name), print(’\n’)

Python基础

  1. 常识 龟叔 1991 python2.0 python3.0 人生苦短,我用python

  2. python优点

简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码。。。

缺点:执行效率相对慢

  1. python应用场景

Web开发,自动化脚本,爬虫,科学计算。。

  1. 注释 #单行注释



多行注释

112364546 13213

6变量
用来存储数据
A=123

7变量的类型
数字-int、float
布尔-True、False
字符串 str
列表 list
Tuple 元组
Dict  字典

变量类型的查看type()
print(type(A))

8标识符

构成:字母、数字、下划线

a b不能作为标识符

Houyue不等于houyue

9命名规则
三大命名规则:大驼峰、小驼峰、下划线

JiYun    jiYun   ji_yun

错误:ji¥yun

10.	关键字

定义:特殊的标识符
如何在python查看我们的关键字:



11.	输出

格式:print(“北京加油!!!”)
格式化输出:
格式 %d  %  age
age=18
name = "美女"

print("我的姓名是%s,年龄是%d" % (name,age))

12常用的格式符号

%s---字符串
%d---十进制的整数(int)
%f---浮点
%c---字符

13输出的换行 \n

14输入

Python2.0   3.0
raw_input()  input

input输入的内容全是字符串

15 运算符
+ - * / //取整 9//2 ==》4
9.0//2.0==》4.0
% 取余  判断是否闰年 
**  2**3
优先级 先幂在这些最后是加减

16 赋值运算器 =

单个变量的赋值 a=123
多个变量的赋值 zhangyishu,wangjinwei,lishichao=1,2,3

17符合赋值运算符

+= -= 。。。把运算符后面加个=
C+=a  c=c+a
C-=a  c=c-a


18 python常用的数据类型转换

Int(x) float(x) str(x) list(s) tuple(s) s代表的序列

19 if判断(重)
格式

If 要判断的条件:
条件成立要做的事情

20 计较运算符

==   !=  >  <  >=  <=

21逻辑运算符(或、且、非)

 and-且or-或 not-非

22 if-else 两种条件

格式
If 要判断的条件:
条件成立要做的事情
else:
条件不成立要做的事情

If a>3:
Print(“吃个冰淇淋”)
else:------------------------------------------a<=3
Print(“吃个屁”)

23 elif 两种条件以上使用

格式1:

If XXX1:
Print(“XXX”)
elif XXX2:
Print(“XXX”)
elif XXX3:
Print(“XXX”)
。。。

格式2:

If XXX1:
Print(“XXX”)
elif XXX2:
Print(“XXX”)
else:
Print(“XXX”)

24 if嵌套

格式:
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)
If XXX1:
Print(“XXX”)


25 循环

While 跟if语法比较相似
区别:if 条件成立,则执行1次
While条件成立,一直重复执行,直到不成立为止
26循环使用场景:
例:输入100次“疫情赶紧走!”
print(“疫情赶紧走!”)

a=0------------------------------起始值
While a<100:
print(“疫情赶紧走!”)
a+=1
27 while嵌套

While XXX1:
Print(“XXX”)
While XXX1:
Print(“XXX”)


28 while应用场景

三角形、九九乘法表

利用python做到如下:
*
**
***
****
i=1 --------------------------------------1起始值
while i<5:--------------------------------2循环条件
    j=1
    while j <= i:
        print("*",end="")------------------4格式调整
        j+=1-------------------------------3累加避免无限循环
    print("\n")----------------------------5换行
    i+=1

九九乘法表
1*1=1
1*2=2  2*2=4
。。。
1*9=9  2*9=18 。。。
#九九乘法表
#起始值
i=1
while i<=9:
    j=1
    while j<=i:
        print("%d*%d=%-4d" % (j,i,j*i),end="")
        j+=1
    print("\n")
    i+=1


29 for循环
格式:
for 临时变量 in 列表或字符串的可迭代对象:
循环满足的条件

字符串
name = "doubenzhi"
for b in name:
    print(b)
l列表循环
for i in range(5):
    print(i)

# i=0
# while i <5:
#     print(i)
#     i+=1


30 break 和continue
Break终止 continue跳过当前继续下面的循环

31☆字符串介绍

格式 :变量名=””
变量名=’’

输出:print(“内容”)----
格式化输出: %s  %  (字符串的变量名)

输入: input------见到input那么我们输入的数据类型就是字符串

32字符串的下标跟切片

下标---索引
什么索引:生活上超市的货架商品下面的标签

在python中
name = 'lichaoqian'
print(name[0])
print(name[1])

切片--对操作的对象截取一部分---字符串、列表、元组

格式 [起始值:结束:步长] ☆

注意:包头不包尾

name="abcdefg"
    # 0123456
print(name)
# print(name[0:3]) #abc
# print(name[0:3:1]) #0可以省略 abc=========>[:3]
# print(name[:-1]) #索引下标可以为负数,意思就是从右边开始
print(name[::-1]) #步长是负数的话还有方向的意思,倒序

33☆字符串的常见操作(爆炸)
以下所讲的用到的条件
Mystr = “hello world python and python”

一 find与rfind


mystr = "hello world python and python"

#一find方法:从左检测是否包含内容,如包含就返回第一个匹配项的“索引” 如不包含内容则返回-1
#  rfind方法:从右检测是否包含内容,如包含就返回第一个匹配项的“索引” 如不包含内容则返回-1

print(mystr.find("h"))
print(mystr.find("z"))


二 index与rindex
用法跟find差不多,只不过:如果匹配不到则报错
print(mystr.index("h"))
print(mystr.index("z"))
 

三count 在返回mystr(start~end之间,出现的次数)

如果存在则返回出现次数,如果不存在不会报错而是返回0
mystr = "hello world python and python"

print(mystr.count("h"))
print(mystr.count("z"))

四replace替换
把a替换成b
mystr = "hello world python and python"

print(mystr.replace("h","H"))

五split以...分割
mystr = "hello world python and python"

print(mystr.split(" "))
 

通过split可以对字符串进行列表的转换

六capitalize把字符串第一个字母大写
mystr = "hello world python and python"

print(mystr.capitalize())
七title 把字符串每个单词的首字母大写
mystr = "hello world python and python"

print(mystr.title())
八startswith 判断是否以XXX开头,结果为布尔(True,Flase)
mystr = "hello world python and python"

print(mystr.startswith("hello"))
九endswith 判断是否以XXX结尾,结果为布尔(True,Flase)

mystr = "hello world python and python"

print(mystr.endswith("hello")) 》》》False
十lower 将所有的大写转为小写
mystr = "Hello world pyThon and python"

print(mystr.lower())
十一upper 将所有的小写转为大写

十二ljust
左对齐 空格填补
str = "hello"
#ljust(width)
print(str.ljust(20))

十三rjust
右对齐 空格补齐

十四center 居中对齐 空格补齐
十五lstrip 删除左边空格
str = "      hello"

print(str.lstrip())
十六rstrip删除右边空格
十七strip
十八partition
mystr = "hello world python and python"
a = mystr.partition("python")
print(a)
 


十九rpartition
mystr = "hello world python and python"
a = mystr.partition("python")
b = mystr.rpartition("python") #先反转再搜索截取,需要注意:不是本质上的倒序
print(a)
print(b)
 

二十splitlines
按行进行分割,注意返回的是列表
Str=”hello\nworld”
Str.splitlines()

二十一isalpha--判断字符串中是否有字母,是True反之~
判断--布尔--返回结果(True,False)

二十二isdigit
判断字符串中是否有数字,是True反之~

二十三isalnum 
判断字符串中是否有数字或者字母,是True反之~
¥$

二十四isspace
判断字符串中是否有空格,是True反之~

二十五join 拼接(常用)

通常与split联动


列表
Name1=”于强强”
Name2=”宋国栋”
List = [“于强强”,”宋国栋”]

输出:
Print(list[0])
列表的循环遍历:
For i in 
List = [1,2,3,4,5]
For i in list:
Print(i)

while也可用

列表的相关操作☆

增删改查

增:append extend insert
Append 默认添加到列表尾部
A = ["shanxingwei","liangzichao","yangyatao"]
a = A.append("fange")
print(A)
 
Extend
A = ["shanxingwei","liangzichao","yangyatao"]
B = [1,2]
A.extend(B)
print(A)
 

 insert通过下标索引插入数据
B = [1,2]
B.insert(0,3)
print(B)

列表的删除 del pop remove
Del 根据下标进行删除
Pop 删除最后一个元素
Remove 根据元素的值进行删除


列表的修改 
第一步:精准定位,通过下标找到要改的数据
第二步:再修改

B = [1,2,3]  #把1改为4
B[0] = 4
# B[0] = "4"
print(B)


列表的查询
In   not in  index  count
In 存在
Not in 不存在
Index 存在返回下标,不存在报错
Count a=[1,2,3,4,5,1]  1在列表中出现过几次

补充  注意一下开闭区间范围
a = ["a","b","c","a","b"]
    # 0   1   2   3   4
b = a.index("a",1,4)
print(b)

列表的嵌套
列表里面再放一个列表
A = [[“陈威”],[“晋伟”]]

思维扩展:一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机分配

元组
Tuple = (1,)
Tuple = (“houyue”,1,1.01)

访问元组
通过下标访问
a = ("jiyun",1,2.1)
b = a[0]
print(b)

修改元组
别挣扎,兄弟,它一修改就特喵的报错

Index,count

这里的index跟列表的用法一样,注意一下开闭区间范围

字典
格式:
Dict={“name”:”棥哥”,”age”:188,”address”:”济南”}
Key键   value值
dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
print(dict["name"])
如果取得键未找到则会报错

通过get找就算未找到也不会报错,返None
dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
print(dict.get("name1"))
 


字典常见操作☆

1.	查看元素
除了用键(key)查找数据以外还可以用get来查找

2修改元素
每个元素都可以修改,只要找到key,就可以肆无忌惮了

dict={"name":"棥哥","age":88,"address":"济南"}
# 根据键去对应的值
a = dict["name"]="贾冬冬"
print(dict)

 

dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
print("id为:%s" % dict["id"])

newid = input("请输入学号")
dict["id"] = newid
print("添加之后的id为: %s" % dict["id"])

字典的添加

直接添加一个键--值
Dict[“age”]=18

字典的删除
Del
Clear()
Pop

Del 指定删除元素  ---(扩展pop用法类似)
Del dict[“name”]
Print()
Del 删除整个字典

Del dict


Clear()清空字典
Dict.clear()

字典的相关操作

1  len()---count()在字典中没法用
测量字典中,键值对的个数
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = len(dict)
print(a)

2 keys
返回一个包含字典中所有key的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.keys()
print(a)
 
3 values
返回一个包含字典中所有值的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.values()
print(a)
 

4items
返回一个包含所有(键、值)元组的列表
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
a = dict.items()
print(a)
 


字典的遍历

格式:for...in...可以遍历字典

遍历可用的数据类型:字符串、列表、元组,字典

1 遍历字典的key(键):
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for key in dict.keys:
    print(key)
2 遍历字典的value(值)
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for value in dict.values:
    print(value)
3遍历字典的项(元素)item
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for item in dict.items():
    print(item)
 
4遍历键值对
用到的key,value。例:
dict = {"name":"班长","id":1,"sex":"f","address":"中国"}
for key,value in dict.items():
    print(key,value)
 
集合介绍
Set={}
集合是一个无序,元素是唯一,集合一般用于元组或者列表的元素的去重

添加 add
Set={1,2,4,5}
A = Set.add(3)
Print(A)

Update 把元素拆分,作为个体传入到集合中
Set.update(“789”)

删除元素
Remove pop discard
Remove:删除集合中的元素,有则删,没有就报错
Pop 随机删除集合中的元素,set中有则删,没有就报错
Discard 删除集合中的元素,有则删,没有就不做任何操作

集合最常见的用法:交集跟并集(&  |)
交集------且
Set1={1,2,3,4}
Set2={3,4,5,6}
Set3 = set1 & set2
Print(set3)  
>>>{3,4}

并集------或
Set1={1,2,3,4}
Set2={3,4,5,6}
Set3 = set1 | set2
Print(set3)  
>>>{1,2,3,4,5,6}