Python语言快速检索
Python的语法简洁,实用,假设你已有C++程序设计基础,接下来跟着我走,瞬间学会Python语言,对于信息学竞赛的学生可以用Python出随机数据是非常方便的,如果感兴趣,还可以做一些简单的游戏。
————因本人也是初学Python,难免有错误,敬请谅解和指出————
一些需要知道的事
1、Python区别大小写
2、Python是通过缩进格式来定于语句块: // 空的格数任意 但是一定要相同
3、Python里的列表相当于C++里的数组
4、Python里的注释符号是#
一个简单的Python程序
首先我们来看一个排序程序
n=int(input()) #输入一个字符串转换程数字到n
tmp=[] #定义一个临时的字符列表,相当于C++里的数组
st=input() #输入一个字符串到st
tmp=st.split() #将st字符串以空格分开成多个字符串放到tmp列表里屈
a=[] #定义一个列表a用来存放数字
for x in tmp: #相当于for循环,循环次数取决于tmp里元素的个数 //for(auto x:tmp)
a.append(int(x)) #将tmp里的每个字符串转换成数字存放在a里
a.sort() #将列表a进行排序
for x in a: #相当于for循环,循环次数取决于a里元素的个数
print(x,end=" ") #打印出每一个数字,后面接一个空格
Python的基本数据类型
整数类型(int),浮点型类型(float),字符串类型(str),布尔类型(bool)
可以用type(x)来查看x的数据类型
>>>x=10
>>>y=3.14
>>>z='hi'
>>>x,y,z,type(x),type(y),type(z)
(10, 3.14, 'hi', <class 'int'>, <class 'float'>, <class 'str'>)
此外还有list,tuple,dict,set等高级数据类型
Python的基本运算符
运算符
+ - * / 加减乘除 % 求余 // 整除 ** 幂运算
优先级
1、 ** 2、 * / % // 3、+ -
其他:
1、Python里有a+=1 没有a++
2、字符串里用 + 号来连接两个字符串 ''abc'+'dac'的结果是'abcdac'
3、字符串里用 * 号来复制N段,如果 'a'*3 的结果是'aaa'
Python的常用函数
1、int()函数,转换成整型 float()函数 ,转换成浮点数类型
str()函数,转换成字符串 bool()函数,转换成布尔类型
2、round()函数,四舍五入 round(x,y)保留y位小数
abs()函数,求绝对值
3、math模块函数:需要import math 或者from math import *
ceil()向上取整,floor()向下取整,sqrt()平方根(// **0.5),radians()角度转弧度
degrees()弧度转角度,sin(),cos(),tan(),asin(),acos(),atan()
4、随机模块函数:需要import random或者from random import *
randint(x,y),生成x——y的一些随机数,包含x,y
random()生成0——1之间的随机小数,包含0,不包含1
5、时间模块函数:需要import time
time()函数,或者当前时间戳,自197001010000起经过的秒数,是个浮点数
sleep()函数,sleep(x)表示暂停程序执行x秒
import 库的用法
例如需要使用math模块内sin()
1. import math //引用:math.sin()
2. from math import sin //引用直接用sin()
3. from math import * sin() //*表示引用库中全部内容
分支语句
1、关系表达式:> < >= <= != ==
2、逻辑表达式:and or not
与C++不同的地方是可以写成这样: 10>x>3
3、单分支语句:
if 布尔表达式:
语句体
4、双分支语句:
if 布尔表达式:
语句体
else:
语句体
5、多分支语句:
第一种方式
if 布尔表达式1:
语句体1
if 布尔表达式2:
语句体2
if 布尔表达式3:
语句体3
第二种方式
if 布尔表达式1:
语句体1
elif 布尔表达式2:
语句体2
elif 布尔表达式3:
语句体3
else:
语句体4
循环结构
1、语句结构
while 布尔表达式:
循环体
2、循环的干预:continue,break
字符串
1、格式化字符串
用%占位符格式化字符串
>>> a=1
>>> b=2
>>>print('%d+%d=%d' %(a,b,a+b)
1+2=3
#占位符有%d,%s,%f,小数点保留跟C语言一致 譬如:%.3f
用format()方法格式化字符串
"{}+{}={}".format(a,b,a+b)
"{a}+{b}={c}".format(a=a,b=b,c=a+b)
2、一些常用函数
ord()求字符的ASCII码
chr()将数字转换成对应的字符
isalpha()检测一个字符串是否全部由字母组成
isdigit()检测一个字符出是否全部由数字组成
isalnum()检测一个字符串是否全部由字母和数字组成
islower()判断一个字符串中的字母是否全部为小写
isupper()判断一个字符串中的字母是否全部是大写
istitle()判断一个字符串中各英文单词的首字母是否全部为大写
capitalize()用于将一个字符串中首个英文单词的首字母变成大写,其余字母为小写
title()用于将一个字符串中各个英文单词的首字母变成大写,其余字母为小写
upper()用于将一个字符串中的小写字母变成大写字母
lower()用于将一个字符串中的大写字母变成小写字母
replace()用于将一个字符串的某个字串替换为另一个字符串,譬如:
>>>'hello,world'.replace('world','cs')
'hello,cs'
3、其他:
转义字符串:
' 是 \' 这个时候用 “ 括字符串,譬如 " it \'s "
" 是 \" 这个时候用 ' 括字符串,譬如 ' a\"bc '
读取字符串
用下标读取,譬如: s='abc' 可以用s[0]读取a
使用截取运算符读取,s[start:end],譬如: s='abcde' 可以用 s[1:4]读取bcd,
下标是0开始可以忽略start,也可以忽略end,读取后面所有,如s[:3]或者s[1:]
用for...in 语句遍历,譬如:
s='abc'
for c in s:
print(c)
使用in操作符可以判断一个字符串是否包含在一个字符串中,如:‘ab’ in 'aabcd'
使用find操作符判断一个字符串是否包含在一个字符串中,返回位置,如果没有返回-1
列表的使用
列表类似C++中的数组,譬如生成一个由2~N自然数构成的数表,存放在a中
>>>a=list(range(2,n+1))
列表中的数据类型可以不一致,譬如
>>>a[]=[1,2,3.4,'a','c',['x','y']]
列表的一些操作
#列表的基本操作
>>>a[]=[1,2,3.4,'a','c']
>>>len(a) #列表大小
5
>>>print(a[1]) #用下标引用元素
2
>>>a[1:4] #用截取运算符[start:end]访问列表,截取start到end-1
[2,3.4,'a']
>>>b=[1,2]
>>>b.append(4) #列表的元素添加,添加在列表最后
>>>b
[1,2,4]
>>>b.insert(3,1)
>>>b
[1,3,2,4]
>>>a.extend(b) #b列表添加到a列表后面
>>>a
[1,2,3.4,'a','c',1,3,2,4]
>>>x=[1,2]
>>>y=['a','b']
>>>x+y
[1,2,'a','b']
#用for...in语句遍历列表
>>>for c in x:
print(c)
1
2
#结合enumertate()函数还可以列出下标
>>>for i,c in enumeratex(y):
print(i,c)
0 a
1 b
#结合range()遍历全表
>>> for i in range(len(y)):
print(i,y[i])
0 a
1 b
#用in或者not in判断元素是否在列表中
>>> 'a' in y
True
#用index()方法,从列表中找出第一个匹配元素的下标
>>>a.index(2)
1
#如果要全部找出,用for...in 结合enumerate()
>>>a=[1,2,2,1]
>>>for i,c in enumerate(a):
if c==2:
print(i,c)
1 2
2 2
#用pop()方法从列表中移除一个元素,移除最后一个元素
>>>a.pop()
>>>a
[1,2,2]
#用pop(x)方法从列表中指定位置x移除一个元素
>>>a.pop(0)
>>>a
[2,2]
#用remove()方法可以移除与目标相匹配的一个元素
>>>a=['aa','bb','cc']
>>>a.remove('bb')
>>>a
['aa','cc']
#用clear()清除列表中所有元素
>>>a.clear()
>>>a.len(a)
0
#用sort()方法排序
>>>a=[3,1,2]
>>>a.sort() #a.sort(reverse=True)是降序
>>>a
[1,2,3]
#用sorted()函数可以临时排序
>>>a=[3,1,2]
>>>b=a.sorted()
>>>a
[3,1,2]
>>>b
[1,2,3]
#用reverse()可以让列表反向
>>>a.reverse()
>>>a
[2,1,3]
#用copy()复制列表
>>>a=[1,2]
>>>b=a
>>>b
[1,2]
>>>b[0]=2
>>>a
[2,2]
>>>b
[2,2]
#由此可以看出以上a,b指向同一个列表,不是复制,复制要用copy()
>>>b=a.copy()
#这样才是不同的列表
#对列表*操作
>>>b*2
>>>b
[2,2,2,2]
#用max(),min()求列表最大最小值
>>>a=[1,2,3]
>>>max(a)
3
>>>min(a)
1
元组
Python提供一种与列表相近的数据结构叫元组,但是元组不能修改,用()表示
>>>a=(1,2,'a')
>>>a[1]
2
#用tuple()将列表转换成元组
>>>a=[1,2,3]
>>>b=tuple(a)
>>>b
(1,2,3)
自定义函数
#求和
def f(a,b):
c=a+b
return c
a=input()
b=input()
print(f(a,b))
#定义全局变量
def f(a,b):
global c=a+b
return c
a=input()
b=input()
print(f(a,b))
print(c)
使用库编程
常用内部库有:math,time,random,turtle
外部库很多:
如:Pillow,Matplotlib,PrettyTable,Tkinter,Easygui,Pygame,Pyglet,OpenCV
外部库需要安装:
c:>pip3 install pillow
win10下要用超级用户
c:>pip3 install pillow --user
Thanks for reading…
转载:https://blog.csdn.net/cnyali/article/details/106520207
查看评论