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.列表

  1. 列表模拟堆栈
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
stack
[3, 4, 5, 6, 7]
stack.pop()
  1. 列表模拟队列
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}"
  1. 字符串前加 : f
  2. “”.format()
print('{0} and {1}'.format('spam', 'eggs'))

print('This {food} is {adjective}.'.format(
      food='spam', adjective='absolutely horrible'))
  1. 手动

字符串对象的 str.rjust() 方法通过在左侧填充空格,对给定宽度字段中的字符串进行右对齐。同类方法还有 str.ljust() 和 str.center() 。这些方法不写入任何内容,只返回一个新字符串,如果输入的字符串太长,它们不会截断字符串,而是原样返回;虽然这种方式会弄乱列布局,但也比另一种方法好,后者在显示值时可能不准确(如果真的想截断字符串,可以使用 x.ljust(n)[:n] 这样的切片操作 。)

python3 seaborn教程 python3.0教程_python


python3 seaborn教程 python3.0教程_numpy_02