Python精简基础(一)

总结的基础知识涉及基本的输入输出、Python中的数据类型、列表、选择和循环结构、函数、字典、类等知识点;这些知识对于有过编程经验的人来说,其实很快就能熟练掌握,所以我会总结的尽量精简,旨在以最少的时间让人了解Python的入门知识;

一.Python中的数据类型

Python中有六个标准数据类型:数字、字符串、列表、元组、集合、字典;这些数据类型在这几篇文章中都会或多或少的提到;

1.变量

其它编程语言,如C语言,在定义变量时必须需要指明类型,如整型、字符型,Python中没有这个要求;
Python中变量的命名同样遵守类似C语言中的变量命名规则;

number = 5
message = "Hello"

注意到了么,Python中连分号都不需要有;

Python也支持为多变量赋值:

a = b = c = 1
a = b = c = 1,2,'s'

2.字符串

Python中没有单独的字符类型,一个字符就是长度为一的字符串;

另外,Python中的字符串不允许单个值的更改,这与C中的有点不一样,看一个例子:

s = "hhhh"
s[0] = "a" #这里试图把字符串s的第一个字符改为 'a' ,运行后会提示错误,顺便提一下,#是Python中的注释符;

2.1 在Python中,不管是单引号还是双引号括起来的都是字符串,这非常灵活,以至于你可以随心所欲的在字符串中使用单、双引号;

sentence = '"hello,my master."'#在这里,输出sentence将会包括双引号

如果是要在字符串中包含 \n 或者 \t 类似这种的转义符,则在字符串前面加一个 r 即可,例:

print("hello\nworld")
print(r"hello\nworld") #r加在字符串前面
#输出结果:
hello
world
hello\nworld

2.2 如果要拼接字符串,直接+就OK

s1 = "my"
s2 = "master."
s = s1 + " " + s2
print(s)
#输出结果是my master. 
#其中print()是输出函数

2.3 使用方法更好的处理字符串。方法是Python中可对数据进行的操作,以下是一些常用的:

name = lihua
print(name.title())#使单词首字母大写
print(name.upper())#使单词全部转换为大写
print(name.lower())#使单词全部转换为小写

注意:这些方法全部都是在name的副本上进行操作的,对name本身没有任何修改,所以如果你想让这些操作真实发生,需要多一条再赋值语句,即:

name = lihua
name = name.upper()

3.数值

3.1 Python 3 支持的数据类型有 int、float、bool以及complex,在 Python 2 中还支持 long,我们可以用Python的内置函数type()来查看数据类型,有关type()不是本文的重点,这里不详细提及,Python的很多内置函数我将会在另一篇文章里集中说明;

在Python中,加减乘除以及取模依然用+、-、*、/、%来表示,乘方运算用两个乘号**来表示;

在进行数值运算时,不必考虑整数与浮点数之间的表示,你只用输入数据,Python通常都会按照你期望的方式处理它们;

3.2 关于除运算: / 返回一个浮点数,// 返回一个整数

>>> 3 / 2
1.5
>>> 3 // 2
1

3.3 bool型即 True 或者 False,Python 3 中的True和False都是关键字,但它们的值依然表示1和0,可以与数值型进行加减,即:

>>> 2 + True
3

3.4 有一点需要特别注意,例子说明:

number = 27
message = "my lucky number is "+number
print(message)
#此时会报错,原因是Python无法识别此处的number到底是数值型还是字符型

解决这个问题的方法可以调用函数str(),它可把非字符串数据表示为字符串;

二.基本输入输出

print("hello world") #输出语句

注意:print()语句默认会自动换行,如果不想让它换行,则在使用print语句时在末尾加上一句 end=""

print("hello",end="")
print(",world",end="")
#输出:
hello,world

input()实现输入:
使用input()函数,你可以自由的在里面添加信息,程序在执行input语句时,会先输出里面的信息,然后暂停程序,等待你的输入,只有当你按下回车之后,程序才会继续执行;

message = input("what's your name?") #这里只会把你输入的信息赋给message
print(message)
#使用input()函数应注意一点:这里的message是字符串类型的,即input()函数会自动把你输入的数据转换成字符串
#所以如果你输入的是数字,之后还想继续以数字使用它,程序就会报错,因为这时数字已经是字符串了

解决这个问题可以用函数int():
int()函数会把字符串型的数字转换为数值型,但若是尝试用int()函数转换字符串,程序就会报错;

age = input("how old are you?")
age=int(age) #这里把age转换为数值型并再度赋给age,注意这一步
print(age>18)
#运行:
how old are you?20
True

注意:int()函数只是相当于生成了一个转换后的数,这个数与原来的数是独立的,如果不重新赋值,原来的数将依然是字符串型;

三.列表

1. 创建以及访问列表元素

列表由一系列按特定顺序排列的元素组成:

colors = ['red','black','white','yellow']#创建了一个包含四个元素的列表
print(colors)
#如果直接以这种方式打印列表,那么结果将是这样的:
['red','black','white','yellow']#Python将把中括号、逗号等全部打印出来

如果单个访问列表元素;

print(colors[0])#输出colors列表的第一个数据
print(colors[-1])#输出colors列表的最后一个数据
print(colors[-2])#输出colors列表的倒数第二个数据

2. 修改、添加、删除列表元素

Python支持修改列表元素,你可以对任意单个列表元素修改,也可以对列表整体重新赋值;

添加元素:
colors = []#创建一个空列表
colors.append('red')#append()方法用于向列表末尾添加元素
colors.insert(0,'black')#insert()方法用于向列表任何一个位置插入元素,其中第一个变量是插入位置,即索引

删除元素:

colors = ['red','black','green','white']

del colors[0]#删除列表的第一个元素,del只实现删除操作,del只能对单个元素删除,不能删除列表

print(colors.pop())#输出为white;pop()删除列表的末尾元素并得到它
print(colors.pop(0))#输出为red;可以通过在pop中添加索引来实现删除列表任一个位置的元素并得到它

colors.remove('black')#删除列表中值为black的元素,方法remove()实现根据值删除元素
#如果该值在列表中出现了多次,则只删除第一个出现的元素

3. 操作列表

3.1 对列表排序

colors = ['red','black','green','white']
colors.sort()#利用方法sort()可实现对列表的永久性排序,如果是字符串按字典序,数字默认从小到大
print(colors)
#输出:['black','green','red','white']
#这里注意一点:print(colors.sort())是得不到排序结果的,必须先排序后输出才可以

colors.sort(revers = True) #添加reverse=True实现对排序结果永久性反转
print(colors)
#输出:['white','red','green','black']


colors = ['red','black','green','white']
print(sorted(colors))#利用函数sorted实现对列表临时排序

3.2 创建元组
Python将值不可变的列表称为元组;

numbers = (27,501)#创建一个元组唯一和列表有区别的地方在于用()替换[]
#元组创建完成后,任何对元组内元素的修改都是不被允许的
print(numbers)#同样,如果整体输出元组,那么小括号和逗号都会被打印出来
#输出:(27,501)

numbers=(270,13)#尽管不能修改元组单个元素,但可以对元组整体重新赋值,这是被允许的

3.3 切片
如何处理列表中的部分元素呢?Python将这种操作称为切片:

colors = ['red','black','green','white']
print(colors[0:3])
#输出:['red','black','green']
#能否以此看出切片的用法呢?
#在列表名称后面加上一对中括号[],中括号里包括两个元素,两个数之间用冒号隔开,切片遵循左闭右开原则

#如果没有指定起始索引,默认从0开始
#如果没有指定终止索引,则默认遇到列表末尾终止


#如果首尾索引均未指定,则复制该列表
colors = ['red','black','green','white']
my_colors = colors[:]
print(my_colors)
#输出:['red','black','green','white']


#注意:
#你可能会认为 my_colors=colors 这种操作也可以复制列表,事实上这是不可行的
colors = ['red','black','green','white']
my_colors = colors
print(my_colors)
#输出:['red','black','green','white']
#输出是一样的,但不要被迷惑了,这仍然是原始列表,根本没有复制出的第二个列表
#如果你向my_colors中修改元素,colors中也会被修改,因为事实上它们就是同一个列表
#总结来说就是:切片是在副本上操作,但单纯的赋值不会产生副本


#另外说一下,切片并不是单纯的只能在列表内使用,在字符串也可以用到它:
message = "hello,world."
print(message[6:]) 
#输出:
world.
#这里同样是生成了副本

3.4 其他操作

numbers = [3,5,9,7,6]
numbers.reverse() #方法reverse()实现对列表永久性倒序排列
print(numbers) 
#输出:[6,7,9,5,3]

numbers = [3,5,9,7,6]
print(len(numbers)) #函数len()实现获取列表长度
#输出:5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值