python是一种被广泛使用的高级通用脚本编程语言

其具有丰富的库

使用控制台输出hello world

Python学习之开篇基础_python


由此可知,python是一门十分简洁的编程语言

Python学习之开篇基础_字符串_02


python能够应用于web开发,人工智能,系统网络运维,数据分析与计算,数据挖掘,图形界面开发。

其可用于精确表达问题逻辑,接近自然语言,只有33个保留字,十分简洁,大大的缩短了开发周期,还具有 免费,开源,扩展性好 的特点。

简单输出

a=123
b=456
print(a)#单个输出
print(a,b)#输出两个变量
print("输出字符串,a的值为{},b的值为{}".format(a,b))#混合输出{}相当于占位符

其中a的值为{},b的值为{}是一个输出字符串模板,即混合字符串与变量的输出样式
{}表示一个槽位置,括号中的内容由紧跟的format()方法中的参数按顺序填充
在print函数中会默认有换行,若不想换行,则加end=’’
之所以会默认换行,是因为其输出默认写法为
print(a,end=’\n’)

print(a,end='')
print(b)
print(a,end='\n')#默认写法

Python学习之开篇基础_字符串_03


input函数

无论用户输入的是字符串还是数字,input()函数统一按照字符串类型输出

a=input('请输入一行字符串:')
print(a)

Python学习之开篇基础_字符串_04

变量

命名规则:
python语言采用大写字母,小写字母,数字,下划线和汉字等字符及其组合给变量命名,但自变量的首字符不能为数字,中间不能出现空格,标识符不能与python的保留字相同
标识符对大小写敏感

Aa1_机=99  #正确命名,但首字符不能为数字
print(Aa1_机)

python的保留字

Python学习之开篇基础_python_05

数据类型

简单的有数字类型,字符串类型
较复杂的有 元组类型,集合类型,列表类型,字典类型
数字类型
整数,浮点数,复数分别对应整数,小数,复数

print(0b01001100)#二进制76 0b或oB打头,自动识别为二进制
print(0o36)#八进制30 0或oB打头,自动识别为八进制
print(0x3b)#八进制59 0x或oX打头,自动识别为八进制

科学计数法

print(1.23456e3)#1.23456e3相当于1.23456*10的3次方

浮点数只有十进制

Python学习之开篇基础_八进制_06

字符串

#formatted-string 字符串格式化
name="彭祥"
age=23
msg=f'{name}是最帅的,他今年{age}岁了'
print(msg)

列表

列表可以存储不同类型的数据,可以进行增删改查操作

#列表可同时存放很多数据
favorite_fruits=["apple","orange","pear","西瓜"]
mynum=[10,3,12,14,8,18]
print(favorite_fruits[-1])#倒叙时的顺序
print(favorite_fruits[1:4])#一种切片手段,若最后一个加上范围,则不包含
favorite_fruits[0]="grape"
print(favorite_fruits)#替换
#extend 将一个列表追加到另一个列表结尾处
favorite_fruits.extend(mynum)
print(favorite_fruits)
#append 追加
favorite_fruits.append("hhhh")
print(favorite_fruits)
#insert 添加任意位置
favorite_fruits.insert(0,"grape")
print(favorite_fruits)
#romve移除
favorite_fruits.remove("orange")
print(favorite_fruits)
#pop 默认去掉最后一个,可根据索引删除
print(favorite_fruits)
favorite_fruits.pop(0)
print(favorite_fruits)
#index
print(favorite_fruits.index(123))
#count 查找列表这某个元素的个数
print(favorite_fruits.count(123))
#sort
print(favorite_fruits.sort())
#clear 列表清空
favorite_fruits.clear()
print(favorite_fruits)

元组tuple

tuple与list相比,其用的是(),且内容无法修改,即一经创建,无法改变

#tuple与list相比,其用的是(),且内容无法修改
ts=("彭祥","pehds")
print(ts[0:2])

Python学习之开篇基础_python_07

函数function

def用于声明,使用缩进进行构建函数体

#def声明函数 关键字 keywords
def sayHello():
print("hello world!")
sayHello()

循环体

#def声明函数 关键字 keywords
def sayHello(name,age):
print("hello"+name+"your age is "+str(age))
name=["彭祥","李白","杜甫"]
age=[23,45,35]
for x in range(len(name)):
sayHello(name[x], age[x])

返回值,若无return 默认为None

def double_number(num):
return 2*num
print(double_number(5))

if-else

is_hot=False
is_cold=False
if is_hot:
print("天气很热")
elif is_cold:
print("天气很冷")
else:
print("天气很舒服")
print("快乐每一天")

字典

字典内容是可以修改的

#字典  键值对方式存储 key-value
customer={
"name":"彭祥",
"age":23,
"is_vip":True
}
print(customer["name"])#若键不存在则报错
print(customer.get("id","0000"))#若键不存在,则返回默认,0000是自定义的默认值

while循环

i=1
while i<=8:
print("$"*i)
i=i+1

Python学习之开篇基础_字符串_08

for循环

#for loop 迭代
#使用字符串循环
for x in "pengxiang happy":
print(x)
#列表形式
name=["彭祥","dd",12]
for x in name:
print(x)
#输出一定数量 从0到9共10个数
for x in range(6,10):
x=x+2
print(x)
#设置步长
for x in range(20,30,2):
print(x)

嵌套循环

num_list1=[1,2,3,4,5]
num_list2=[6,7,8,9]
#(1,6) (1,7) (1,8)这种形式
for x in num_list1:
for y in num_list2:
print("("+str(x)+","+str(y)+")")
for x in num_list1:
for y in num_list2:
print(f'({x},{y})')

Python学习之开篇基础_字符串_09

二维列表

其类似于矩阵,在机器学习中有重大应用

#二维列表
matrix=[
[1,2,3],
[4,5,6],
[7,8,9]
]
print(matrix[0][2])#索引访问方式
matrix=[
[1,2,3],
[4,5,6],
[7,8,9]
]
for row in matrix: #嵌套输出所有
for item in row:
print(item)

解包

无需一个个的赋值,其能够对应解析

#解包 unpacking
user=["王二狗",30,"1992-1-1"]
user_name=user[0]
user_age=user[1]
user_birth=user[2]
print(user_name+" "+str(user_age)+" "+user_birth)

user=["李白",30,"1992-1-1"]#无需这种挨个赋值,这便是python的解包功能
user_name,user_age,user_birth=user
print(user_name+" "+str(user_age)+" "+user_birth)

Python学习之开篇基础_python_10

异常处理

要对不同异常进行处理

try:
num=int(input("输入数值:"))
result=1/num
print(result)
except ZeroDivisionError:
print("数值计算不合法")
except ValueError:
print("输入异常")

Python学习之开篇基础_python_11

文件操作

在执行文件操作时,遇到了一个异常
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xbf in position 2: illegal multibyte sequence
是当内部编码转化成 gbk编码(默认)时出错,改为utf-8就好了

#文件读取
story=open("stroy.txt","r",encoding='utf-8')
content=story.read()
print(content)
story.close()
#文件关闭
#文件读取
#文件读取
story=open("stroy.txt","r",encoding='utf-8')
content=story.readlines()#读取一行并返回一个列表
for line in content:
print(line)
#文件关闭s

Python学习之开篇基础_八进制_12


a为追加模式

Python学习之开篇基础_python_13

w为存写模式,会覆盖原本的内容替换新的内容

#文件读取
story=open("stroy.txt","w",encoding='utf-8')
story.write("彭祥真棒!")

同时w能够创建一个新的文件

Python学习之开篇基础_python_14

类 Class

pass是在空的时候使用的

class Student:
pass#表示空,即在里面是空的时候给给定
jack=Student();
jack.name="jack.com"
print(jack.name)

Python学习之开篇基础_八进制_15


构造函数

self表示实例本身

Python学习之开篇基础_字符串_16

class Student:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
print("_init_is run")
jack=Student("python",12,"男")#有参构造
mm=Student("python")#此时缺少参数会报错
print(jack.name)
class Student:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
print("_init_is run")

def print_info(self):
print(f'{self.name}-{self.age}-{self.sex}')
jack=Student("python",12,"男")#有参构造
jack.name="hhh"
jack.print_info()

Python学习之开篇基础_八进制_17


加__(两个下划线)可以相当于私有,可以通过set,get方法来实现

class Student:
def __init__(self,name,age,sex):
self.__name=name#加入__相当于私有 private,此时想要外部访问可以通过内部方法来实现
self.__age=age
self.__sex=sex
print("_init_is run")
def get_name(self): #如通过set get函数方法来实现
return self.__name
def set_name(self,name):
self.__name=name
def print_info(self):
print(f'{self.__name}-{self.__age}-{self.__sex}')
jack=Student("python",12,"男")#有参构造
jack.__name="hhh" #此时便无法修改参数
jack.print_info()

继承

class Student(Person):#继承Person
def learn(self):
print(“I am a student”)
即可

class Person:
def __init__(self,name,age,sex):
self.__name=name
self.__age=age
self.__sex=sex
print("_init_is run")
def get_name(self):
return self.__name
def set_name(self,name):
self.__name=name
def print_info(self):
print(f'{self.__name}-{self.__age}-{self.__sex}')

class Student(Person):#继承Person
def learn(self):
print("I am a student")
class Teacher(Person):#继承Person
def teach(self):
print("I am a teacher")
jack=Student("python",12,"男")#有参构造
jack.print_info()
jack.learn()
Tom=Teacher("Tom",12,"女")
Tom.teach()

模块

导入模块,一般是在模块文件中值声明方法,充当函数,导入时变为执行导入的模块文件内容

import student
stu=student.Student("彭祥",23,"男")
student.Student.print_info(stu)

导入系统模块,输出其路径

Python学习之开篇基础_python_18


从某一模块中导入某个方法,类,变量

from student import Student
jack=Student("彭祥",23,"男")
jack.print_info()

导入所有方法,类

from student import *
jack=Student("彭祥",23,"男")
jack.print_info()