Python初学者实用常用简单操作(一)
本文主要目的为让有些许计算机语法基础的python初学者能够较快的掌握一些特殊函数和机智操作,若对各位有所帮助,不胜荣幸!
一、python中常见关键字
为什么先讲关键字呢?因为在初学时许多初学者常常会误用一些关键字作为函数或者变量的命名,然而这样的做法往往是不正确的,因此为避免初学者误用,在本节列出常用关键字:
关键字 | / | / | / | / | / | / |
---|---|---|---|---|---|---|
and | del | from | not | while | as | elif |
global | or | with | assert | else | if | pass |
yield | break | except | import | class | exec | |
in | raise | continue | finally | is | return | def |
for | lambda | try |
数据类型 | / | / |
---|---|---|
数字(numbers) | 字符串(string) | 列表(list) |
元组(tuple) | 字典(dict) | 集合(set) |
(注:关键字与数据类型名切不可作为函数或者变量的命名!)
二、输入输出
在了解关键字不可误用后,在刚接触到python时,我们需要了解到其输入输出方式:
1. 输入方式:
在python中对于单个数据的输入一般如下输入:
string = input() # 此时读入的数据类型为字符型
a = int(input()) # 使用强制转换将输入转换为int类型 / 强制转换一般指对数据类型的转换
在进行多个数据输入时一般如下输入:
# 1.以空格分隔的两(或以上)个数据:
str1, str2, ..., strn = input().split() # split()函数用括号内内容以分割输入数据分别传入str1,str2,...,strn
# 2.以空格分隔的多个数据:
s = input().split() # split()函数将分割后的数据组成列表s
# 3.输入为整数时使用强制转换配合 map()方法
输入两个数时:
a, b = map(int, input().split()) # map(s,t)函数的作用为将t建立关于s的映射,在左式中即为将右边字符列表转化成整数列表
输入任意数时:
s = map(int, input().split()) # 将上式中a,b改为s即可,s为转换后整数列表
2.输出方式:
print("Hello World!!") # python中句末不需要加类似C语言中的";"
print(1 + 1, "A" + "B") # python 中 print() 函数支持许多输出方式,输出时注意数据类型
i = 3 ; j = 2
print("{}*{}={}\t".format(i, j, i * j)) # 此处输出为"3 * 2 = 6",该输出方式为属性插槽输出方式
三、强制转换
在python中不需要事先对变量进行声明,因此初学者可能会将不同数据类型的不可进行运算或迭代的数据进行操作。
因此有时数据类型转换可能是一个程序成功运行的关键。
转换分有显式转换和隐式转换(隐式就是两个变量之间可以直接相互赋值的
)
显式转换的多种类型如下(加粗为常用强转):
int(x [,base]) ⇒ 将x转换为一个十进制的整数
str(object) ⇒ 转换为字符串
list(seq) ⇒ 将序列seq转换为一个列表
chr(x ) ⇒ 将一个整数转换为一个字符
chr(x ) ⇒ 将一个整数转换为一个字符
ord(x ) ⇒ 将一个字符转换为它的整数值
long(x [,base]) ⇒ 将x转换为一个十进制的长整数
float(x) ⇒ 将x转换为一个浮点数
repr(object) ⇒ 转换为表达式字符串
eval(str) ⇒ 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(seq) ⇒ 将序列seq转换为一个元组
unichr(x ) ⇒ 将一个整数转换为Unicode字符
hex(x ) ⇒ 将一个整数转换为一个十六进制字符串
oct(x ) ⇒ 将一个整数转换为一个八进制字符串
四、实例中常用技巧
基本条件语句简写:
if 判断:
语句1 <=> 语句1 if 判断 else 语句2
else:
语句2
1>列表操作
注:python中列表第一位索引记为0。
即如有非空列表s,则第一位为a[0]
s[begin : end : step] 中begin表示起始位置,end表示终止位置,step表示步长
1. 在输出列表数据的同时进行操作
s = [1, 5, 4, 2, 6, 3]
print([2 * x for x in s]) # 此处的[2 * x for x in s]可理解为创建了一个在s中的所有元素乘以2组成的新列表
# 输出为: [2, 10, 8, 4, 12, 6]
2.字符列表转数值列表
arr = ['22', '44', '66', '88']
arr = list(map(int, arr)) # 根据前文所述此处map将字符列表中的值转换为int类型
print(arr)
# 输出为:[22, 44, 66, 88]
3.join()方法根据需要连接并打印列表中的值
a = ['h', 'e', 'l', 'l', 'o']
print('-'.join(a))
# join方法用于将序列中的元素以指定的字符连接生成一个新的字符串,''.join()中''内可以为任意连接字符(串)
# 输出为: h-e-l-l-o
4.index()方法进行列表中值的索引
a = [1, 2, 8, 4, 9, 5, 6]
print(a.index(max(a))) # index方法以索引最大值对应序号, max()函数可以直接找到列表中最大值
# 输出为: 4 (因为该列表中a[4]的值为9为列表最大数)
5.列表反转
a = [1, 2, 3, 4, 5]
b = a[::-1]
print(b)
# 输出为:[5, 4, 3, 2, 1]
6.替换列表中所有需要替换的值
# 将所有查到的值替换
num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 3, 2, 5, 6, 3, 1]
for i in range(num.count(3)): # count()函数用以获取'3'出现的次数
num[num.index(3)] = "3A" # 获取首次出现'3'的坐标后替换为"3A"
# print(num) #显示过程
print(num) # 得到最终结果
# 输出为:[1, 2, 3A, 4, 5, 6, 7, 8, 9, 3A, 2, 5, 6, 3A, 1]
2>字符串操作
字符串反转
# 方法一:利用切片(设置步长为-1即可)
s = "abcdefg"
result = s[::-1]
print(result)
# 输出为: gfedcba
# 方法二:运用函数递归
def func(s):
if len(s) < 1: # len()函数计算长度
return s
return func(s[1:]) + s[0] # 在s[begin:end:step]结构中,begin,end与step分别默认为0,len(s),1
print(func(input())) # 调用函数func(),输入参数为input()
实际上在Python中有关字符串的函数还是有很多的,此处读者可见字符串内置函数
谢谢您的阅读,若读者对文中内容有疑问、纠错或改进建议的可以在下方评论,十分感谢您的宝贵意见!
@@lin’s original work@@