Python安装
python网站:https://www.python.org/
pycharm安装网站: https://pan.baidu.com/s/1qu6SCUlbaYkZfuPPWsBWHA
提取码:rjro
注释:
- 单引号注释:
'''******'''
- 双引号注释:
"""******"""
变量及命名规则:python是弱类型语言 - 变量不需要申明。
- 标识符可以由字母,数字,下画线(——)组成,其中数字不能打头。
- 标识符不能有python关键字,但可以包含关键字。
- 标识符不能包含空格。
-
Python的关键字和内置函数
- Python关键字
- python内置函数
数值类型
- 整型
- 十进制形式:最普通的整数就是十进制形式的整数。
- 二进制形式:以0b或0B开头的整数就是二进制形式的整数。
- 八进制形式:以0o或0O开头的整数就是八进制形式的整数(第二个字母是大写或小写的O)。
- 十六进制形式:以0x或0X开头的整数就是十六进制形式的整数,其中10~15分别以 a~f (此处的a~f不区分大小写)来表示。
- 浮点型:5.12e2/5.12E2(即5.12*10的平方)
- 复数:复数的虚部用j或J来表示。
- 字符串和转义字符:字符串单引号双引号都行,但是I’m a man 这种句子需要使用双引号。否则造成语法错误。
- 拼接字符串:两个字符串紧挨到一起时python就会自动拼接他们,或者两个字符串变量用+连接起来。拼接的时候必须为同类型的才能进行
转换符
-
转义字符
-
字符串格式化
百分号格式化:%
name='K'
age=10
test='%s is %s years old'%(name,age)
print(test)
#K is 10 years old
- 另外字符串格式化还支持字典形式:
test1='Hello%(name)s,id=%(name)s'%{'id':10,'name':'Word'}
print(test1)
HelloWord,id=Word
2.str.format用法:
name='xiaoming'
age='10'
test2='hello,{},you are{}?'.format(name,age)(1)
test2='hello,{0},you are{1}?'.format(name,age)(2)
print(test2)
#hello,xiaoming,you are10?(1)
#hello,xiaoming,you are10?(2)
name='xiaoming'
age='10'
test4=f'hi,{name},are you {age}?'
print(test4)
#hi,xiaoming,are you 10?
-
赋值运算符
-
比较运算符
-
逻辑运算符
- 运算符的结合性与优先级
模块与函数
python内置函数
- 在str类中与大小写相关的常用方法如下:
title():将每个单词的首字母改为大写。
a="the man is teacher"
A=a.title()
print(A)
#The Man Is Teacher
lower():将整个字符串改为小写。
a="THE MAN IS TEACHER"
A=a.lower()
print(A)
#the man is teacher
upper():将整个字符串改写为大写。
a="the man is teacher"
A=a.upper()
print(A)
THE MAN IS TEACHER
- 删除空白的函数如下:
strip():删除字符串前后的空白。
a=" adsfsafgsggdshghgjhj "
s=a.strip()
print(s)
#adsfsafgsggdshghgjhj
lstrip():删除字符串前面(左边)的空白。
a=" adsfsafgsggdshghgjhj"
s=a.lstrip()
print(s)
#adsfsafgsggdshghgjhj
rstrip():删除字符串后面(右边)的空白。
a="adsfsafgsggdshghgjhj "
s=a.rstrip()
print(s)
#adsfsafgsggdshghgjhj
- 查找替换相关方法的操作方法:
startswith():判断字符串是否以指定子串开头。
a="I am a student"
print(a.startswith('I'))
#True
endswith():判断字符串是否以指定子串结尾。
a="I am a student"
print(a.endswith('student'))
#True
find():查找指定子串在字符串出现的位置,如果没有找到字符串,则返回-1。
(1)a="I am a student"
print(a.find('student'))
#7
(2)a="I am a student"
print(a.find('w'))
#-1
index():查找指定子串在字符串中出现的位置,如果没有找到指定子串,则引发ValueError错误。
a="I am a student"
print(a.index('a'))
#2
a="I am a student"
print(a.index('w'))
#ValueError: substring not found
replace():使用指定子串替换字符串的目标子串。
全部的a换成xxx
a="I am a student"
print(a.replace('a','xxx'))
#I xxxm xxx student
将字符串中一个it替换成xxx
s='crazyit.org is a good site'
print(s.replace('it','xxx',1))
#crazyxxx.org is a good site
translate():使用指定的翻译映射表对字符串执行替换。
split():将字符串按指定分割符分割成多个短语。
(1)s='crazyit.org is a good site'
print(s.split())
#['crazyit.org', 'is', 'a', 'good', 'site']
只分割前两个单词
(2)s='crazyit.org is a good site'
print(s.split(None,2))
#['crazyit.org', 'is', 'a good site']
用.分割
s='crazyit.org is a good site'
print(s.split('.'))
#['crazyit', 'org is a good site']
注:split()括号里面是分割标志,
join():将多个短语连接成字符串 。
用'/'作为分割符
s='crazyit.org is a good site'
mylist=s.split()
print('/'.join(mylist))
#crazyit.org/is/a/good/site
count():用于统计某个列表中某个元素出现的次数。
a_list=[2,34,345,343,35,35,1234,242]
print(a_list.count(34))
#1
pop():用于将列表当成“栈”使用,实现元素出栈功能。
reverse():用于将列表中的元素反向存放。
sort():用于对列表元素的排序。
len():函数计算序列的长度,即返回序列包含了多少个元素;
a=(45,45,98879,5645,897,64,9865,489,778)
print(len(a))
#9
max():函数返回序列中的最大元素;
a=(45,45,98879,5645,897,64,9865,489,778)
print(max(a))
#98879
min():函数反黑序列中最小元素。
a=(45,45,98879,5645,897,64,9865,489,778)
print(min(a))
#45
list():将序列转化为列表
a=(45,45,98879,5645,897,64,9865,489,778)
print(list(a))
#[45, 45, 98879, 5645, 897, 64, 9865, 489, 778]
str():将序列转化为字符串
a=(45,45,98879,5645,897,64,9865,489,778)
print(str(a))
#(45, 45, 98879, 5645, 897, 64, 9865, 489, 778)
sum():计算元素和
a=(45,45,98879,5645,897,64,9865,489,778)
print(sum(a))
#116707
sort():对元素进行排序
a_list=[3,2,5,34,3,6,323424,34,34567,33.2]
a_list.sort()
print(a_list)
#[2, 3, 3, 5, 6, 33.2, 34, 34, 34567, 323424]
#按字符的编码来比较大小
b_list=['Python','Swift','Ruby','Go','Kotlin','Erlang']
b_list.sort()
print(b_list)
#['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']
revers():反向序列中的元素
a_list=list(range(1,8))
print(a_list)
a_list.reverse()
print(a_list)
#[1, 2, 3, 4, 5, 6, 7]
#[7, 6, 5, 4, 3, 2, 1]
enumerate():将序列组合为一个索引序列,多用在for循环中
模块内置函数
sys模块
- sys.argv:获取运行Python程序的命令行参数。其中sys.argv[0]通常就是指该Python程序,sys.argv[1]代表为Python程序提供的第一个参数,sys.argv[2]代表为Python程序提供的第二个参数…以此类推。
- sys.byteorder:显示本地字节序的指示符。如果本地字节序是大端模式,则该属性返回big;否则返回little。
os模块
random模块
time模块
流程控制语句
- 选择语句
if表达式:
语句块
if表达式:
语句块1
else:
语句块2
if表达式1:
语句块1
elif表达式2:
语句块2
elif表达式3:
语句块3
....
else:
语句块n
- 选择语句的嵌套
if表达式1:
if表达式2:
语句块1
else:
语句块2
if表达式1:
if表达式2:
语句块1
else:
语句块2
else:
if表达式3:
语句块3
else:
语句块4
- 循环语句
while条件表达式:
循环体
for 迭代变量 in 对象:
循环体
range(start,end,step)
- 循环嵌套
在while循环中套用while循环的格式如下:
while 条件表达式1:
while 条件表达式2:
循环体2
循环体1
在for循环中套用for循环的格式如下:
for 迭代变量1 in 对象1:
for 迭代变量2 in 对象2:
循环体2
循环体1
在while循环中套用for循环的格式如下:
while 条件表达式:
for 迭代变量 in 对象:
循环体2
循环体1
在for循环中套用while循环的格式如下:
for 迭代变量 in 对象:
while 条件表达式:
循环体2
循环体1
- break语句
在while语句中使用break语句的形式如下:
while条件表达式1:
执行代码
if条件表达式2:
break
在for语句中使用break语句的形式如下:
for 迭代变量 in 对象:
if 条件表达式:
break
- continue语句
在while语句中使用continue语句的形式如下:
while条件表达式1:
执行代码
if 条件表达式2:
continue
在for语句中使用continue语句的形式如下:
for 迭代变量 in 对象:
if 条件表达式:
continue
- pass语句(一般用于占位)如下:
for 迭代变量1 in 对象:
if 条件表达式2:
.......
else:
pass
列表和元组
序列概述
- 索引
n=["元素一","元素二","元素三","元素四"]
print(n[2]) #输出第三个元素
print(n[-1]) #输出最后一个元素
- 切片
格式:n[start:end:step]
n:表示序列的名称
start:表示切片的开始位置(包括该位置),如果不指定,则默认为0。
end:表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度。
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。
- 序列相加
n1=["元素一","元素二","元素三","元素四"]
n2=["元素五","元素六","元素七","元素八"]
print(n1+n2]
#["元素一","元素二","元素三","元素四""元素五","元素六","元素七","元素八"]
- 乘法
n1=["元素一","元素二","元素三","元素四"]
print(n1*3)
#["元素一","元素二","元素三","元素四","元素一","元素二","元素三","元素四","元素一","元素二","元素三","元素四"]
- 检查某个元素是否是序列的成员(元素)
value in sequence
其中,value表示要检查的元素;sequence表示指定的序列。
n1=["元素一","元素二","元素三","元素四"]
print("元素1" in n1)
#true
n1=["元素一","元素二","元素三","元素四"]
print("元素1" not in n1)
#false
-
计算序列的长度、最大值和最小值
-
序列长度
num=[7,134,35,234,356,567,23]
print("序列num的长度为",len(num))
#序列num的长度为 7
- 最大值
num=[7,134,35,234,356,567,23]
print("序列",num,"中最大值为",max(num))
#序列 [7, 134, 35, 234, 356, 567, 23] 中最大值为 567
- 最小值
num=[7,134,35,234,356,567,23]
print("序列",num,"中最小值为",min(num))
#序列 [7, 134, 35, 234, 356, 567, 23] 中最小值为 7
列表
listname=[element1,element2,element3,element4,....,elementn]
其中,listname表示列表名称,可以是任何符合Python命名规则的标识符;element1,element2,element3,element4,…,elementn 表示列表中的元素,个数没有限制,并且只要是Python支持的数据类型就可以。
- 创建一个10~20(不包括20)的所有偶数的列表,可以使用以下代码:
print(list(range(10,20,2)))
- 删除列表
del listname
访问列表元素
num=[7,134,35,234,356,567,23]
print(num[2])
#35
- 添加元素
listname.append(obj)
其中,listname为要添加元素的列表名称;obj为要添加到列表末尾的对象。
- 追加列表元素
listname.extend(seq)
其中,listname为原列表;seq为要添加的列表。语句执行后,seq的内容将追加到listname的后面。
- 修改元素
修改第三个元素
a=[45,45,98879,5645,897,64,9865,489,778]
a[2]='fkit'
print(a)
#[45, 45, 'fkit', 5645, 897, 64, 9865, 489, 778]
修改倒数第2个元素
a=[45,45,98879,5645,897,64,9865,489,778]
a[-2]='fkit'
print(a)
#[45, 45, 98879, 5645, 897, 64, 9865, 'fkit', 778]
字典
s={'语文':89,'数学':92,'英语':93}
print(s)
#{'语文': 89, '数学': 92, '英语': 93}
empty_dict={}
print(empty_dict)
#{}
dict2={(20,30):'good',30:'bad'}
print(dict2)
#{(20, 30): 'good', 30: 'bad'}
dict2=dict()
print(dict2)
#{}
dict2=dict(spinach=1.39,cabbage=2.59)
print(dict2)
#{'spinach': 1.39, 'cabbage': 2.59}