python语言学习笔记(1)
- 一、python应用
- 二、python基础
- (一)python关键字
- (二)python格式符号
- (三)换行问题
- (四)Input的使用
- (五)查看数据类型
- (六)强制类型转换
- (七)判断语句和循环语句
- 1、条件判断语句
- 2、循环语句
- (1)for循环
- (2)while循环
- (3)小练习
- (4)break和continue
- (八)字符串,列表、元组、字典
- 1、字符串(String)
- 2、常见的转义字符
- 3、一些简单的函数
- 4、列表
- 5、函数测试
- 6、元组(tuple)
- 7、字典
- (遍历思想)
- 补充:集合
一、python应用
二、python基础
(一)python关键字
- 在命令行里面输入 import keyword
- 换行: keyword.kwlist 即可调出python的关键字列表,这些关键字不能出现在我们定义的变量名中,因为已经被占用了。
- ‘False’, ‘None’, ‘True’, ‘peg_parser’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’
- ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’
- ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’
- ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’
(二)python格式符号
- 常用的有:
格式符号 | 转换 |
%s | 通过str()字符串转换来格式化 |
%d | 有符号的十进制整数 |
%f | 浮点实数 |
- 我们可以利用格式符号来进行相关的格式化代换
age = 20
print("My name is %s, I come from %s."%("ZhangHai","China"))
# %()表示一个元组
print("I am %d years old."%age)
print("www","google","com",sep=".")
''' sep="" 表示各个字符串之间的间隔符是什么
这个输出就是"www.google.com"
'''
- 输出结果:
(三)换行问题
print("hello",end = "") # 表示不换行,紧接着写
print("world",end = "\t") # 表示空一制表位
print("python",end = "\n") # 表示换行
print("end") # 单独一行
- 输出结果:
print("hello,you are so pretty.")
print("hello \n you \n are \n so \n pretty") #转义字符\n的使用
- 输出结果:
(四)Input的使用
- input可以用来进行输入操作,可以将一个内容值赋给一个变量,注意:input输入的数据默认为str类型,即字符串类型
ado = input("Wow,you are so pretty!")
print("I just wana say: ",ado)
(五)查看数据类型
a = 10
print(type(a)) #用于查看a的数据类型
(六)强制类型转换
a = int("123456")
b = a + 56
print(b)
(七)判断语句和循环语句
1、条件判断语句
if 判断条件1:
执行语句1
elif 判断语句2:
执行语句2
else:
执行语句3
2、循环语句
(1)for循环
- 语句演示
for i in range(5):#从0到5进行遍历
print(i) #输出为:0 1 2 3 4
for i in range(0,10,3): #表示范围为0-10,以3为步长进行遍历
print(i) #输出为:3 6 9
city = "shanghai"
for i in city:
print(i,end = "\t") #遍历输出字母,end = "\t"以单行输出
a = ["aa","bb","cc","dd","ee"]
for i in range(len(a)):
print(i,a[i]) #遍历数组,len(a)表示该数组的长度
(2)while循环
- 语句演示
i = 0
while i < 100: #条件格式
print("当前是第%d次执行该循环"%(i+1))#输出我们的循环次数提示
print(i) #输出i的值
i += 1
(3)小练习
- 0-100求和
# for循环求和
sum = 0
m = 1
for i in range(100):
sum = sum + m
m = 1 + m
print(sum)
# while循环求和
m = int(input("请输入您要求和的界值:"))
sum = 0
i = 1
while i<m+1:
sum = sum + i
i += 1
print("从0到%d的求和为:%d"%(m,sum)) #格式化写法
- 注意:while可以和else一起使用,若是给定的值满足while条件,则执行while体,不满足,则执行else语句,相当于给while加上了判断性质
(4)break和continue
- break语句可以跳出for 和 while 的循环体
- continue语句可以跳过当前循环,直接进行下一轮循环
- pass是空语句,一般用做占位语句,不做任何事情
n = 1
while n<= 100:
if n > 10:
break
print(n)
n += 1
# 结果:打印1-10
n = 1
while n < 10:
n = n + 1
if n % 2 == 0:
continue
print(n)
# 结果:打印1,3,5,7,9
for letter in 'Room':
if letter == 'o':
pass
print('pass')
print(letter)
(八)字符串,列表、元组、字典
是否可变 | |
列表[ ] | 可变(内容有序) |
元组( ) | 不可变(内容有序) |
字典{ } | key不可变,value可变(无序) |
集合{ } | 可变(不可重复且无序) |
1、字符串(String)
- python中的字符串可以使用单引号、双引号和三引号(三个单引号或者三个双引号)来括起来,使用反斜杠 \ 转义特殊字符
- 字符串是可以进行加法操作的
a = "hello"
b = "Python!"
ace = a + b
print(ace)
print(ace[1:6])#输出ace的从第一位到第六位字母,不包括第六位
# [起始位置:结束位置:步进值]
word = "hhh"
sentence = "hehehhehehe"
paragraph = """ # 以段落进行保存
hhhhhhh
hehehhhehehe
hhhhhhh
xswl
"""
print(word)
print(word * 3) #输出3个word的内容
print(sentence)
print(paragraph)
'''
结果:
hhh
hehehhehehe
hhhhhhh
hehehhhehehe
hhhhhhh
xswl #全都输出出来了,哈哈
'''
my_str = "I'm a superman!!!" #可以正常输出
my_str = 'I'm a superman!!!' #报错了,因为我们的单引号和内容里面的单引号发生冲突,想要正常输出,则需要用到 \
my_str = 'I\'m a superman!!!' #即可正常输出
# for example
my_str = " jaseem said\"YOU ARE SO PRETTY!\""
# OR
my_str = ' jaseem said"YOU ARE SO PRETTY!"'
print(my_str)
2、常见的转义字符
转义字符 | 描述 |
\ | 反斜杠符号 |
’ | 单引号 |
" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
- 使用反斜杠可以实现转移字符的功能
- 在字符串 前面加上 r,则可以使里面的转义字符失效
3、一些简单的函数
函数 | |
isalnum() | 如果字符串至少有一个字符并且所有的字符都是字母或者数字则返回True,否则返回False |
isalpha() | 如果如果字符串至少有一个字符井目所有字符都是字母则返回True,否则返 False |
isdigut() | 如果字符串只包含数字则返回True否则返回 False |
isnumeric() | 如果字符串中只包含数字字符,则返回True,否则返回 False |
join(seq) | 以指定字符串作为分隔符,将seq中所有的元素(的字符串表示)合井为一个新的字符串 |
len(string) | 返回字符串长度 |
Istrip() | 截掉字符串左边的空格或指定字符 |
split(str=" ", num = string. count(str)) num = string. count(str)) | 以str为分符截取字符串,如果num有指定值,则仅截取num+1个子字符串 |
4、列表
- 列表可以完成大多数集合类的数据结构实现,列表中的元素的类型是可以不同的,支持数字,字符串甚至是列表(嵌套)。
- 列表是写在方括号之间的,用逗号分隔开的元素列表
- 如: namelist = [“123”,136,“zhanmu”,12323]
- 列表的索引值以0为开始值,-1为末尾的开始位置
- 列表可以使用 + 操作符进行拼接,使用 * 可以进行重复
namelist = ["123",136,"zhanmu",12323]
print(namelist) #打印输出全部的列表内容
print(namelist[1:3]) #打印输出列表中第1位到第3位的元素(左闭右开)
for name in namelist:
print(name) #遍历输出列表中的全部元素
print(len(namelist) #输出namelist的长度
#append的用法
nametemp = input("请输入要添加的东西呢:")
namelist.append(nametemp) #往列表中添加内容(列表最后)
print(namelist)
'''
输出结果:
["123",136,"zhanmu",12323]
[136,"zhanmu"]
123
136
zhanmu
12323
4
请输入要添加的东西呢:666
['123', 136, 'zhanmu', 12323, '666']
5、函数测试
# 元素的插入
a = [1,2]
b = [3,4]
a.append(b) #直接将a插入到b中,以整体的形式
print(a)
a.extend(b) #将a的内容元素插入到b中
print(a)
------------------
c = [0,2,12]
a.insert(1,3) #将3插入到下标为1的地方
print(c)
------------------
# 删除元素
moviename = ["huhuu","liukii","haixg","gacaiuih","bacia"]
for name in moviename:
print(name)
------------------
del moviename[2] #删除列表制定位置的东西
moviename.pop() # 弹出末尾最后一个元素
moviename.remove("huhuhuhhh") #从列表中移除该元素
-------------------
#查找
for name in moviename:
print(name)
findName = input(”请输入你要查找电影名字:")
if findName in moviename:
print("在名单中找到啦!")
else:
print("貌似没有找到呢")
-------------------
a = ["a","b","c","d","f"]
print(a.index("a",0,4)) #可以查找指定范围内的元素,并返回对应数据的位置下标,范围为左闭右开,但注意,他只会返回第一个元素的位置
print(a.count("b") #可以查找指定元素的数量
-------------------
#排序和反转
a = [1,4,2,3]
print(a)
a.reverse() #将列表所有的元素反转
print(a)
a.sort() #将列表排序,升序
print(a)
a.sort(reverse = True) #降序
print(a)
6、元组(tuple)
- tuple与list类似,不同之处在于 tuple的元素不能修改。 tuple写在小括号里,元素之间用逗号隔开。
- 元组的元素不可变,但可以包含可变对象,如list
# 定义一个元组
t = ("abcd","runbob",125,465,"hji") #元组用小括号来括起来
t1 = (1,) #定义一个只有一个元素的元组,必须加逗号
t2 = ("a","b",["a","b"]) #元组中的元素,只有内嵌的列表可以进行修改
t2[2][0] = "f" #对t2元组中的列表进行修改
# 元组元素的相对位置
tup1 = ("abc","cvy",1245,125)
print(tup1[0]) #输出元组tup1的首位
print(tup1[-1]) #输出元组的最后一位
print(tup1[1:5]) #输出从第一位到第五位的元素(*左闭右开)
# 元组内容的增加
# 刚才说过,无法对元组的内容进行修改,但是我们可以进行元组的加法操作
tup1 = ("abc","cvy",1245,125)
tup2 = ("fuy","ghu")
tup1 = tup1+tup2
print(tup1)
# 删除元组(整个元组灰飞烟灭)
tup1 = ("abc","cvy",1245,125)
del tup1 # 用del就可以对tup1元组进行整体的删除
# 注意,我们不允许对元组的内容进行改动
# 遍历元组
for i in tup1:
print(i)
# 元组的切片
tup1[2:3] # 把对应的位号上的元素切下来
# 获取元组中(指定的)重复的元素的数量(如下面的例子是为了得到元组中为1的元素的数量)
tup1.count(1)
# 获取元组的长度
len()
# 获取元组的元素最大值
max()
# 获取元组元素的最小值
min()
# 其他类型的对象转化元组
tuple()
7、字典
- 字典是无序的对象集合,使用键-值( key-value)存储,具有极快的查找速度。
- 键(key)必须使用不可变类型
- 同一个字典中,键(key)必须是唯一的。
d = {"maf":96,"bub":56,"tracy":84} #前面的名字就是索引key,用来查找其指引的值
print(d["maf"])
# 输出结果:96
# 不能查找不存在的健,会报错
print(d["mn"]) #会报错的
print(d.get("mn")) #不会报错,没有找到会显示none
print(d.get("mn","m")) #没有找到,可以设置默认值
# 此部分将默认值设为了m
# 增加、删除、更改
#1、增加
k = {"maf":96,"bub":56,"tracy":84}
newId = input("请输入要新加的东西:") # newId作为一个中转站
k["id"] = newId #新定义的"id"在字典k中
print(k["id"]) #输出字典k中的id对应的value
print(k)
#2、删除
#删除对应的key指引的item元素块
del k["maf"]
print(k.get("maf")) #get是函数,要用小括号,别搞混了
#3、清空
k.clear()
print("清除后:%s"%k)
# 查找
print(k.keys()) #得到所有的键keys
print(k.values()) #得到所有的值values
print(k.items()) #得到所有的元素项
(遍历思想)
k = {"maf":96,"bub":56,"tracy":84}
for key in k.keys():
print(key)
for value in k.values():
print(value)
for key,value in k.items():
print("key = %s,value = %s"%(key,value)) #可以一同实现两个内容的输出
补充:集合
- set和dirt类似,也是一组key的集合,但不存储 value。由于key不能重复,所以,在set中,没有重复的key
- set是无序的,重复元素在set中自动被过滤
s = set([1,2,3])
print(s)
s = set([1,21,21,1,32,32]) #重复的自动过滤
print(s) #输出结果为:[1,21,32]