文章目录
python基础
python简介
- python是一门解释型,面向对象的高级编程语言。开源免费,支持交互式,可跨平台移植的脚本语言。
优点:
- 开源,易于维护。
- 可移植。
- 易于使用,简单优雅。
- 广泛的库。
缺点:
- 运行速度慢。
- 代码不能加密。
- python的应用:数据分析,科学计算,网络爬虫,软件开发,web开发,人工智能
python基础
变量
- 变量可以是任意的数据类型。
- 变量名必须是的大小写英文,数字和下划线组成,且不能以数字开头。
标识符和关键字
- 关键字是一些具有特殊功能标识符。
- python中不允许自定义和关键字相同的名字的标识符。
输出
- 普通输出
- 格式化输出
print("标准化输出字符串")
a = 10
print("这是变量:",a)
print("格式化输出")
age = 20
print("我的名字是: %s, 我的国籍是: %s" %("bkys","中国"))
print("我的年纪是: %d 岁" %age)
print("a","b","c")
print("www","baidu","com",sep=".")
print("hello", end="") # 输出不换行
print("world", end="\t") # 制表符
print("python", end="\n") # 换行
print("输入")
password = input("请输入密码:")
print("您输入的密码是:",password)
a = int(input("输入:"))
print("输入一个数字: %s" %a)
输入
- input()的小括号放入提示信息
- input()在从键盘获取了数据以后,会存放到等号左边的变量中
- input()函数接受的输入必须是表达式
运算符和表达式
运算符
- 算数运算符:+,-,*,/。%(求余),**(幂),//(整除)
- 比较运算符:==,!=,<,>,<=,>=
- 赋值运算符:=,+=,-=,*=,/+,%=,**=,//=(c += a,c = c + a)
- 位运算符:&,|,^,~,<<,>>
- 逻辑运算符:and,or,not
- 成员运算符:in,not in
- 身份运算符:is,is not
运算符优先级:
判断语句和循环语句
判断语句:
if True:
print("True")
else:
print("False")
- 分数评级
score = int(input("请输入你的分数:"))
if score >= 90 and score < 100:
print("优秀")
elif score >= 80 and score < 90:
print("良好")
elif score >= 70 and score < 80:
print("中")
elif score >= 60 and score < 70:
print("及格")
else:
print("不及格")
- 石头剪刀布
循环语句:
- for语句
for i in range(5):
print(i)
print("\n")
for j in range(0,10,3): # 0-10,每次加3,不包含10
print(j, end= "")
print("\n")
name = "xian"
for x in name:
print(x, end= "\t")
print("\n")
a = ["aa", "bb", "cc", "dd"] # 通过列表的下标打印
for i in range(len(a)):
print(i, a[i])
- while语句
count = 0
while count < 5 :
print("第%d次执行循环"%(count+1))
print("count = %d" %count)
count += 1
else:
print(count,"大于等于5")
- 1-100求和
- 九九乘法表
break,continue,pass语句:
- break语句可以跳出for和while的循环体
- continue语句跳过当前循环,进入下一轮循环
- pass是空语句,占位语句
字符串(string)
word = '字符串'
sentence = '这是一个句子'
paragraph = """ 0
这是一个段落
由多行组成
"""
print(word)
print(sentence)
print(paragraph)
str1 = "I'm a student"
print(str1)
str2 = 'I\'m a student' # 外面用单引号内部要使用转义字符
print(str2)
print(str1[0])
print(str1[0:5])
print(str1[0:7:2]) # [起始位置:结束位置:步进值]
print(str1[:5]) # 从0到下标5,不包含下标5
print(str1[5:]) # 从下标5到结束
print(str1 + str2)
print(str1 + "str2")
print(str1 * 3) # pyhon中对字符串进行相加减
print("hello\npython")
print(r"hello\npython") #前面加r,表示显示原始字符串,不进行转义
- 转义字符
\\ # 反斜杠
\'
\"
\a # 响铃
\b # 退格
\000 # 空
\n
\v # 纵向制表符
\t # 横向制表符
\r # 回车
\f # 换页
- 字符串的常见操作
列表(list)
- 列表中元素的类型可以不相同,可以是数字,字符串甚至是列表(嵌套)
- 列表是写在方括号[]内,用逗号分隔的元素列表。
- 列表索引值0为开始值,-1为末尾的开始位置
namelist = ["张", "王", "李", "赵"]
print(namelist[0])
typelist = [1, "张"]
print(type((typelist[0])))
print(type((typelist[1])))
# for循环遍历列表
for name in namelist:
print(name)
# while循环遍历列表
len = len(namelist)
i = 0
while i< len:
print(namelist[i],end= "")
i += 1
python之列表的增删改查排序
元组(tuple)
- tuple与list类似,tuple中的元素不能修改。
- tuple写在小括号里,元素之间用逗号隔开。
- 元组得元素不可变,但可以包含可变对象。
tup1 = () # 创建空元组
print(type(tup1))
# tup2 = (50) # <class 'tuple'>
tup2 = (50,) # 当只有一个数据时,应给后面加上逗号
print(type(tup2))
tup1 = ("abc","def",2000,2020)
print(tup1[0])
print(tup1[-1]) # 最后一个元素
print(tup1[1:5]) # 左闭右开
tup2 = (1,2,3)
tup = tup1 + tup2
print(tup)
字典(dict)
- 字典是无序得对象集合,使用键-值(key-value)存储。
- 键(key)必须使用不可变类型。
- 同一个字典中,键必须是唯一的。
info = {"name":"bkys", "age":"18"} # 定义一个字典
print(info["name"])
print(info["age"])
# 访问不存在得键
# print(info["gender"]) # 直接访问报错
# print(info.get("gender")) # 使用get方法,默认返回:None
print(info.get("age", 20))
print(info.get("gender", "10")) # 没找到默认值
python之字典的增删改查
集合(set)
- set和dict类似,是一组key的集合,不储存value。(key不重复)
- set是无序的,重复的元素在set中自动过滤
是否有序 | 是否可变类型 | |
---|---|---|
列表[] | 有序 | 可变类型 |
元组() | 有序 | 不可变类型 |
字典{} | 无序 | key不可变,value可变 |
集合{} | 无序 | 可变类型(不重复) |
函数
- 无参数,无返回值
def 函数名():
代码
- 有参数
def add2num(a,b):
c = a + b
print(c)
add2num(11, 22)
- 有参数,有返回值
def add2num(a,b):
return a + b
result = add2num(11,22)
print(result)
- 返回多个值
def divid(a, b):
shang = a//b
yushu = a % b
return shang,yushu
sh,yu = divid(5, 2)
print("商:%d,余数:%d" %(sh,yu))
- 全局变量和局部变量
- 在一个函数中定义的变量,只能在本函数中用
- 在函数外定义的变量,可以在所有的函数中使用
文件操作
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
rb+ | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |