python3入门基础
文章目录
- python3入门基础
- 1. 数据类型
- 2. 列表
- 2.1 列表简介
- 2.2 列表的操作
- 3. 字典
- 4. 用户输入和while循环
- 5.函数
- 6.类
- 7.文件和异常
- 1.读取文件
- 2. 写入文件
- 3. 异常
- 4. 存储数据
- 8 .函数注解
- 9. Lamada函数
- 10.列表
- 11. 格式化输出
1. 数据类型
- 变量
- 字符串
- 数字
- 整数
- 浮点数
- 布尔
- 注释
2. 列表
2.1 列表简介
- 什么是列表
- 就是数组
- 列表在python中长什么样子
x = ['a', 'b' , 'c' , 'd']
-
如何:修改,删除,添加元素
- 修改
x[0] = 'new_a'
- 添加元素
x.append('new_ending') #使用方法append在行末插入元素
- 插入元素
x.insert(0,'new_add_a') # 使用方法insert(a,b)在a位置插入b值
- 删除元素
# 按位置删除 del x[0] #使用方法del按位置删除数据 x.pop() #使用方法pop删除按位置列表最后一个元素并返回这个元素 x.pop(a) #使用方法pop()删除位于a位置的元素并返回这个元素 # 按值删除 x.remove('b') #使用remove()方法,按值删除列表中某个元素
-
列表排序
-
方法:sort()
x.sort()
:顺序打印
x.sort(reverse = Ture)
: 倒序打印假设所有值都是小写的,永久修改列表元素的排序。
-
临时排序
sorted
,可传递参数reverse = Ture
来倒序排序 -
倒序打印列表,不是按照字母顺序,而是反转列表元素的排列 顺序。
x.reverse()
-
-
确定列表的长度
len(a)
使用方法len()
就可以快速确定列表长度 -
避免列表索引错误
-1总是返回列表总后一个元素
2.2 列表的操作
- 遍历列表
cds = ['a' , 'b' , 'c']
for c in cds:
print(c)
-
常创建数值列表
- 函数
range()
生成一系列数组
>>> for value in range(1,5): print(value) 1 2 3 4
- 使用
range
创建数字列表- 先创建数列,然后在数据转化为列表
>>> cds = list(range(8,19)) >>> print(cds) [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
- 对数字列表执行简单的统计计算
max() min() sum()
- 函数
-
使用列表的一部分
- 切片
>>> cds = list(range(8,19)) >>> print(cds) [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] >>> cds [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] >>> print(cds[0:3]) #正序切片 [8, 9, 10] >>> for c in cds: #遍历 print(c) 8 9 10 11 12 13 14 15 16 17 18 >>> print(cds[-3:]) #反序切片 [16, 17, 18] #步长切片
-
元组
- 什么是元组?
- 不可改变的列表成为元组,
- 和元组有什么区别?
- 值不可改变
- 使用
()
而不用[]
- 定义元组
x = (1,2,4)
- 遍历元组
>>> cds = ('a' , 'b' , 'c') >>> for x in cds: print(x) a b c
- 什么是元组?
给元组变量赋值是合法的
# if语法
age = 14
if age < 0:
print("illege")
elif age < 6:
print("age<6")
elif age < 15:
print("age <15")
else:
pirnt("ok")
# for循环
apples = ['a' , 'b' , 'c']
for apple in apples:
print(apple)
3. 字典
-
什么是字典
- 一系列键值对,每一个键都有一个值相对应
- 键值是二个相关联的值,之间用
:
相连接 - 键值对之间用逗号隔开
>>> x = {'name':'cds' , 'age': '14'} #创建字典 >>> print(x['name']) #访问字典 cds
-
添加键值对
- 依次指定字典名,用方括号括起来的键和相关的值
>>> person = {} #新建一个空字典 >>> person['name'] = 'cds' #增加一对键值对 >>> person['age'] = 23 #在增加一对键值对 >>> person #打印 {'name': 'cds', 'age': 23}
-
修改字典中的值
person['name'] = 'zmy'
- 删除键值对
可以使用del
语句永久删除键值对
del person['name']
-
遍历字典
- 遍历键值对
使用方法
items()
person = { 'cds':'23', 'zme':'18', 'text':'54' } for key,value in person.items(): print(key) print(value) print()
- 遍历键
使用方法
keys()
>>> for key in person.keys(): print(key) cds zme text
- 遍历值
使用方法
values()
person = { 'cds':'23', 'zme':'18', 'text':'54' } for value in person.values(): print(value) 23 18 54
-
嵌套
- 什么是嵌套
把字典存储到列表中,或者将列表作为值存储到字典中,称之为嵌套
- 字典列表
- 在字典中存储列表
- 在字典中存储字典
4. 用户输入和while循环
- 用户输入
input
函数可以向用户请求输入,不过将一切输入均解释为字符串,如果需要使用其他类型,可强制类型转化。
- 求模运算
将二个数相除,并返回余数。
4 % 3
while
循环
while x < 4:
statement
5.函数
- 定义函数
def function_name():
statement
- python的
return
可以返回好几个值,跟Java不一样 - pass 不做任何事情,一般用做占位语句。Python pass是空语句,是为了保持程序结构的完整性。
- 形参和实参
- 位置实参
- 关键字实参
- 默认值
- 传递任意数量的实参
>>> def make_piza(*toppings):
for topping in toppings:
print(topping)
# 先用*toppings 生成一个名为topping的元组,将实参全部放进元组存储,多少都可以处理!
>>> make_piza('a')
a
>>> make_piza("a",'a',"c")
a
a
c
- 导入函数
import file_name.py
from file_name.py import function_name1,function_name2
import file_name.py as new_name
6.类
- 什么是类?
- 跟java 中的类一样,跟c语言的结构体比较像。
- 创建类
class Class_name(): # 类首字母大写
statement
7.文件和异常
1.读取文件
- 读取整个文件
with open('file_name') as file_object:
text = file_object.read()
print(text)
read()
方法:读取文件的全部内容,并将其作为一个长长的内容显示出来。
open()
函数:打问文件,接受一个参数,就是文件的名称
with
关键字:在不需要文件的时候自动关闭文档。可以省略close()
方法的调用
- 逐行读取
使用for
循环完成对文件的逐行读取!
with open('file_name') as file_object:
for a in file_object:
print(a)
readlines()
创建包含文件的列表
with open('file_name') as file_object:
lines = file_object.readlines()
for line in lines:
print(line.resrip())
- 注意,读取文本时,python将所有字符都解释为字符串,如果需要数字,可强制类型转化!
2. 写入文件
- 逐行写入空文件
with open('file_name','w') as file_object:
filr_object.write("i love programming")
'r','w','r+'
:读,写,读取和写入
-
通过
'w'
打开的文件,如果文件不存在,则会自动创建该文件,如果文件存在,则会清空该文件在打开。 -
write()
方法,将一个字符串写入文件 -
python只能将字符串写入文本文件,如果想要将数值类数据存储到文本文件,则需要强制类型数据转化。
-
如果使用方法
write()
写入文件需要换行,可使用转义字符\n
-
附加到文件,如果不想清空源文件,仅在结尾添加数据,可使用附加模式打开文件
a
3. 异常
- 使用
try-except
代码块
try:
a = 5 / 0
except ZeroDivisionError:
print('不能除以0')
else:
print('可以计算')
#如果运行代码` a = 5 / 0`报错`ZeroDivisionError` ,则运行`except`中的代码后接着运行其后的代码
4. 存储数据
json.dump()
:接受二个参数,要存储的数据,以及用于存储数据的文件对象json.load()
读取文件
import json # 导入
number = [1,2,3,4,5]
file_name = 'json_dump.txt'
with open(file_name,'w') as text:
json.dump(number,text) #将number写入text
with open(file_name) as text1:
a = json.load(text1) #将text1赋值给a
print(a)
#dump 堆放,倾倒
- 保存和读取用户生成的数据
import json
name = input("输入你的名字: ")
file_name = 'name_cun_chu.txt'
with open(file_name,'w') as text:
json.dump(name,text)
with open(file_name) as text1:
a = json.load(text1)
print(a)
8 .函数注解
def f(ham: str, eggs: str = 'eggs') -> str:
print("Annotations:", f.__annotations__)
print("Arguments:", ham, eggs)
return ham + ' and ' + eggs
9. Lamada函数
待补充
10.列表
- 列表模拟堆栈
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
stack
[3, 4, 5, 6, 7]
stack.pop()
- 列表模拟队列
from collections import deque
queue = deque(["Eric", "John", "Michael"])
queue.append("Terry") # Terry arrives
queue.append("Graham") # Graham arrives
queue.popleft()
11. 格式化输出
在 ‘:’ 后传递整数,为该字段设置最小字符宽度,常用于列对齐:
a = 3.121312
# 小数点后2位
f"{a:2}"
- 字符串前加 :
f
- “”.format()
print('{0} and {1}'.format('spam', 'eggs'))
print('This {food} is {adjective}.'.format(
food='spam', adjective='absolutely horrible'))
- 手动
字符串对象的 str.rjust() 方法通过在左侧填充空格,对给定宽度字段中的字符串进行右对齐。同类方法还有 str.ljust() 和 str.center() 。这些方法不写入任何内容,只返回一个新字符串,如果输入的字符串太长,它们不会截断字符串,而是原样返回;虽然这种方式会弄乱列布局,但也比另一种方法好,后者在显示值时可能不准确(如果真的想截断字符串,可以使用 x.ljust(n)[:n] 这样的切片操作 。)
更多推荐
python3基础入门教程
发布评论