Python的基础学习

Python语言简述

Python是一种动态类型的解释性语言,也是一种胶水语言,所谓胶水语言,是指可以调用别的语言编写的功能模块,将他们有机的结合在一起形成更高效的新程序。例如Python可以把C++、Java写的模块轻松结合起来协同工作,这样就能把C++的针对底层,java的面向对象两大优势统一到一个完整的程序中来。

Python中的Hello World

代码如下:

print('Hello World')

print('内容') 为打印该字符串的内容

Python中的变量定义和print函数

Python中的变量定义

在C语言之中变量的定义为:

int a =100;

在Python语言之中变量不需要进行类型定义,定义方式为:

a = 100

Python中的print函数

a=100
print(a)
print('文本1,%s文本2' % (count))
print('文本')

print函数的使用方式有几种如上几种:
第一种的输出为变量a的值
第二种的输出为文本1,+变量count的值+文本2
第三种的输出为直接打印文本的内容

Python的注释方法

有如下几种注释方式

# python的单行注释
"""
Python多行注释
Python多行注释
Python多行注释
"""

Python中的判断和循环

Python中的判断

if +else判断方式,双分支选择结构

#       if  要判断的条件:
#           满足条件时要执行的事情
#       else:
#           不满足条件时要执行的事情
age = input('请输入您的年龄')
age = int(age)
print(type(age))
if age >= 18:
     print('恭喜您成年了,可以去网吧了')
else:
     print('对不起,你还是个宝宝')

在执行 if 的命令时,由于input的输入的是文本类型,无法进行数字方面的比较,所以要先进行类型的转换,转换的方式为age = int(age),而后才能进行数字方面的比较。

if+elif+else判断方式,多分支选择结构

# if 条件1:
#      执行满足条件1的内容
# elif 条件2:
#     执行满足条件2的内容
# else:
#     既不满足条件1也不满足条件2要执行的事情
score = input('请输入你的数学成绩')
score = int(score)
if score>= 90:
     print('你的成绩为A级')
elif score<90 and score>=80:
     print('你的成绩为B级')
elif score<80 and score>=70:
     print('你的成绩为C级')
elif score<70 and score>=60:
     print('你的成绩为D级')
else:
     print('你的成绩不及格')

Python中的循环

Python中的while循环

# while 循环条件:
#       循环体
#       while True:
#            循环体 
i=0
while i<5:
     print(i)
     i+=1

while True: 是死循环,可以进行无数次循环。

Python中的for循环

# for 临时变量 in 可迭代对象 (比如字符串,列表,元组等):
#     循环体
# Java,c
# for(i=0;i<100;i++){
#     循环体
# }
company = "neusoft"
for  x  in  company:
     print(x)
print(list(range(100)))
for i in range(2,100,2):      #range(开始位置,终止位置,步长) 左闭右开区间
     print(i)
#打印九九乘法表
for i in range(1,10):
    for y in range(1,i+1):
        h=i*y
        print(y,'*',i,'=',h,end='     ')   # end=' ' 进行不换行的操作
    print('\n')

range()函数的作用为创建一个整数的列表,range(开始位置,终止位置,步长)为该函数的完整格式,该区间为一个左闭右开区间,即包括起始位置,但不包含终止位置,步长为每次变化时候的数字,即步长为2时,第二个数为开始位置+2。

Python循环的跳出方式

# break  跳出本层循环
#continue 跳出本次循环
# 计算1~100的偶数累加和
i=0
sum_num = 0
while i<=100:
    i += 1
    if i%2==1:
        continue
    sum_num += i
print(sum_num)  

猜数字游戏

预备知识

如何生成随机整数
#输出a到b的所有整数,包括a,b在内,是闭区间
from random import randint
while True:
    print(randint(a,b))

randint(a,b)为随机生成一个[a,b]的整数

如何退出循环

break 退出本层循环
continue 退出本次循环

代码实现

#猜数字游戏
from random import randint
#玩家在控制台输入要猜数字的范围 eg:{100,200}
max_num = int(input('请输入您要猜数字的最大值'))
min_num = int(input('请输入您要猜数字的最小值'))
#接下来玩家输入要猜的数字
computer_num = randint(min_num,max_num)
#要明确提示玩家数字是大还是小
# 才对了告诉玩家: 一次猜中:这是高手 两到五次猜中: 你也太厉害了 i次就猜中了 五次以上 洗洗睡吧,i次才才对
count = 0
while True:
    if count == 0:
        guess_num = int(input('老铁快来猜一猜'))
    else:
        guess_num = int(input('老铁再来猜一猜'))
    count += 1
    if guess_num < computer_num:
        print('你猜小了')
    elif guess_num > computer_num:
        print('你猜大了')
    else:
        break
if count==1:
    print('这是高手')
elif count>=2 and count<=5:
    print('你也太厉害了,%s次就猜中了'%(count))
else:
    print('洗洗睡吧,%s次才猜中' % (count))

常用数据的类型

一 列表

1.定义

和c中的数组很相似,与数组不同的是可以存储不同类型的数据(灵活)

2.创建

列表的创建格式为 名称 = [ ],前面是列表的名称,后面是列表里面的数据内容 ,具体代码如下

hero_name = ['鲁班七号','狄仁杰','安琪拉','1000']
3.访问

与数组类似,列表的元素也可以单独访问,通过索引值的方式来访问,索引值的首位为0

# 访问方式 hero_name[索引值] 
print(hero_name[2])
4.修改

通过重新赋值的方式进行修改,代码如下

hero_name[3]='后羿'
print('修改后的列表',hero_name)
#通过赋值的方式将第四个元素1000换成’后羿‘
5.删除

删除某个元素,通过del 列表名[索引值]的方式来删除,代码如下

del hero_name[0]
print('删除后的列表',hero_name)
6.列表推导式
7.添加元素

利用列表名.append()的方式来进行添加,具体代码如下:

# 生成 1 到 20 的列表
li = []
for x in range(1,21):
     li.append(x)
print(li)

二 字符串

1.定义

' '单引号," "双引号都可以定义字符串,但在文本语句中存在着单引号或者双引号的时候,定义字符串的时候需要用另外一种引号,代码如下

text1 =  '"Hello World"'
text2 = "'Hello' World"
2.如何把列表变成字符串

str_name = '内容'.join(name) '内容'为元素与元素之间的间隔符

name= ['赵','四','和','刘','能']
str_name =  '_'.join(name)
str_name = ' '.join(name)
print(str_name)
3.去空格操作

去空格的命令为字符串名称=字符串名称.strip(),且只能去掉前后两部分的空格,中间的空格不能去掉,代码如下

name2= '     neusoft         '
print(len(name2)) #len 判断变量元素个数
name2 = name2.strip()
print(len(name2)) #len 判断变量元素个数

其中len(name2)为测定字符串的元素个数,空格也是元素,可以通过这种方式来判断的空格是否被删除

4.替换操作

可以将字符串的某一部分用另一部分替代,命令名称为字符串名称=字符串名称.replace('被替换的名称','替换后的名称')

price = 'RMB998'
price = price.replace('RMB','$')
print(price)

三 数字

较为简单,不再赘述。

四 元组

1.创建

元组,英文为tuple,创建元组和创建列表很相似,元组和列表不同的是,元组不支持修改,且占用的内存空间较小,其中元组中只有一个元素时,可能变量类型会和数字混淆,需要利用一些方式来区分,代码如下

a = ('zhangsan','lisi',1000)
b=('1000')
print(type(b))
b=('1000',)     #通过加一个逗号来区别数字和元组
print(type(b))

type是指变量的类型,print(type(b))是将b的类型打印出来

2.访问

访问方式和列表相似,即为元组名称[索引值]

print(a[2])   #即为输出元组中的第三个元素

五 字典

1.创建

字典,英文为dict,是一种以键值对形式存储的数据结构,即为key→value,创建字典的方式与创建元组,列表相似,但是用的为大括号{ },代码如下:

info = {'name':'刘强东','age':45,'address':'北京市朝阳区'}
print(len(info))    #其中键和值相对应,为一个元素,所以len(info)的结果为3
2.访问元素

有两种访问格式,其中第一种如果访问内容不存在会报错,第二种会自动添加该元素,并按照要求赋予初值

print(info['name']) #此方式时,输出的内容若是不存在,会报错
sex = info.get('sex','female') #当sex不存在时,会建立sex键 并赋予默认值female作为对应
3.修改

和列表的修改相似,代码如下

info['age']=55
print('修改后字典的值',info['age'])
4.添加

当键不存在的时候为添加操作

info['sex']= 'female'
print('增加后字典的值',info['sex'])
5.删除

和列表的删除相似,代码如下

del info['address']
 print('info')
6.常用的操作

1.获取字典中的所有键,是将字典中所有的键提取出来,代码如下

#获取字典中所有的键
print(info.keys())

2.获取字典中的所有值,是将字典中所有的值提取出来,代码如下

#获取字典中所有的值
print(info.values())

3.获取所有的键和值,是将字典中所有的键和值提取出来,代码如下

#获取所有的键和值
print(info.items())

六 集合

1.创建

集合,英文为set,集合和字典类似,也是以大括号的形式存在,其特点是无序,里面的元素不重复

set1 = {111,666}
2.访问元素

与元组,列表类似,用循环方式遍历,代码如下:

set1 = {111,666}
for x in set1:
     print(x)

七 第三方库

1.安装

因为要进行三国出场人物的频次的分析,所以要将整部三国演义进行逐词的分析,也就是需要将一整句话,分为词汇与词汇的整合形式,Python的内置函数库中并不包含此类型的内容,所以我们要导入第三方的数据库---jieba
如何安装第三方数据库呢,首先要知道数据库的名称,也就是俗称的包名,而后在Terminal的框中输入如下代码

pip install 包名
#对于jieba库来说就是
pip install jieba

因为下载第三方库可能都是在国外的网站,速度较慢,可以使用镜像的下载方式,步骤如下
1.在用户目录下新建 pip文件夹
2.新建pip.ini 文件,文件中的内容为
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

2.导入

导入的代码如下,

#import 包名
#对于jieba库来说就是
import jieba
3.jieba库中函数的应用

jieba库则提供了中文分词的函数,其中介绍了精准分词和搜索引擎分词两种,代码如下

# 导入jieba库
import jieba

txt = '我来到北京清华大学'
# 精确分词模式(常用)  nlp自然语言处理
seg_list = jieba.lcut(txt)
print(seg_list)

# 搜索引擎模式, 先执行精确模式, 然后再对长词进行分析
seg_list2 = jieba.lcut_for_search(txt)
print(seg_list2)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,120评论 0 10
  • 基于《Python语言程序设计基础(第2版)》 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 ...
    柄志阅读 27,603评论 4 44
  • 哪位大佬有C#的数据库查询代码,就是点击button,把数据库的数据显示在dataGridView上
    木子李_202e阅读 2,849评论 0 1
  • 这是坚持画2000幅油画作品的第12幅,画画前依然是静坐30分钟。 今天静坐心情比较乱,没有做到真正的放松,跟着念...
    郑铱阅读 3,051评论 4 4
  • 1.肯定的语言。如:具体要做的就是肯定老婆对家庭及孩子教育的付出! 2.精心的时刻。如:找到好吃的美食,或共进晚餐...
    晌晌阅读 1,046评论 0 0