一、代码格式
1.注释
# import '#'表示单行注释
多行注释由三对双引号 “ ” 或单引号 ’ ‘ 包裹。
'''
sad
print(dasdwdads)
print(dasdwdads)
print(dasdwdads)
print(dasdwdads)
print(dasdwdads)
'''
如上
2.缩进
空格是Python3首选的缩进方法,一般用4个空格表示一级缩进,Python3不允许混合使用空格和Tab进行缩进。
print("Anwser")
print("false")
# 缩进不一致,会导致运行错误。
二、标识符和关键字
1.标识符
Python标识符的命名规则
- Python 标识符由字母,数字和下划线 ‘__’ 组成。
- Python 标识符不能以数字开头。
- Python 标识符严格区分大小写。
- 不能以系统保留关键字作为标识符(一共有25 个)。
2.关键字
关键字是Python已经使用的、不允许开发人员重复定义的标识符。通过查看模块keyword中的变量kwlist查看Python中关键字。
import keyword
print(keyword.kwlist)
三、变量和数据类型
1.变量
#变量定义
变量名 = 值
#变量使用
data = 100
print(data)
2.数据类型
(1)数字类型
整型(int)、浮点型(float)、复数类型(complex)和布尔类型(bool).
- bool类型较特殊,是 int 的子类,只有 Ture 和 False 两种取值。
(2)字符串
字符串是由单引号、双引号或者三引号包裹的有序字符集合
a = 'pythindddd123'
a = "pythindddd123"
a = '''pythindddd123'''
(3)列表
# 列表是多个元素的集合,保存任意数量、任意类型的元素,可被修改,用"[]"创建列表
li = [1,2,'hello']
(4)元组
# 元组与列表类似,但不可被修改
tup = (1,2,'hello')
(5)集合
# 集合与 列表和元组 类似,元素无序且唯一
jh = {1,2,'hello'}
(6)字典
字典中的元素是“键( Key ) : 值( Value )”形式的 键值对,键不能重复。
字典的查询速度快于集合、列表和元组
{"name" : "zhangsan" , "age" : 18}
# 用"{}"创建字典,各元素以逗号 ',' 分隔。
3.变量的输入与输出
Python提供了 input() 和 print() 函数分别进行数据的输入与输出。
1.input()
input() 接受键盘输入的数据,返回一个字符串类型的数据。
输入多个数字
# input() 配合.split()使用,得到多个值
a = input().split()
# 这样得到的是一个字符类型的值,可以进行类型转换。
a = int(input().split())
# 这样得到一个 int 类型的数。
- map()函数。
map()函数接收两个参数,一个是函数,一个是序列,map 将传入的函数作用到序列的每个元素,将结果作为新的 list 返回。
a,b = map(int,input().split())
2.print()
print() 用于向控制台输出任何类型的数据。
# 语法格式:
print(*objects,sep=' ',end='\n',)
# objects 表示输出的对象,中间用 ',' 分隔。
# sep 设定分隔符,默认为空格。
# end 设置输出结尾 '\n'为换行,
name = input()
print(name)
4.数字类型
1.整型
整型常用计数方式:
- 二进制(以 “0b” 或 “0B” 开头)
- 八进制(以 “0o” 或 “0O” 开头)
- 十进制和十六进制(以 “0x” 或 “0X” 开头)
转换进制的函数
bin(x) 转换为二进制数据
oct(x) 转换为八进制数据
int(x) 转换为十进制数据
hex(x) 转换为十六进制数据
2.浮点型
浮点型一般以十进制表示
科学计数法表示
-3.14e2 # 表示 -314
3.14e3 # 表示 0.00314
3.复数类型
复数由实部和虚部表示,形式为real(实部)+imag(虚部)j,j为虚部单位。
complex_one = 1 + 2j
print(complex_one.real) # 获得实部
print(complex_one.imag) # 获得虚部
4.布尔类型
True 对应整数1.
Python中布尔值为False的数据:
- None
- False
- 任何数据类型的0,0.0,0j
- 任何空序列,如""、()、[]
- 空字典,{}
5.数字类型转换
int(x) # 转换为整型
float(x) # 转换为浮点型
complex(x) # 转换为复数型
5.运算符
1.算数运算符
特别的:
// # 整除
/ # 带小数的除法
% # 求余
** # 幂运算 2**8 = 256
++ # python中不存在
* # 乘号 可执行字符串的重复 print('abcd'*3) --> abcdabcdabcd
2.逻辑运算符
and # 和
or # 或
not # 否
3.成员运算符 in
成员运算符用于测定给定数据是否存在于序列。
X = 'python'
y = 'p'
print(y in x) # in:在序列返回True,否则False
print(y not in x) # not in:不在序列返回False,否则True
4.位运算符
位运算符用于按二进制位进行逻辑运算,操作数必须为整数。
<< # 按位左移
>> # 按位右移
& # 按位与运算
| # 按位或运算
^ # 按位异或运算
~ # 按位取反
1.<< 按位左移运算符
按位左移运算符指将二进制形式操作数的所有位左移n位,高位丢弃,地位补0。
三、流程控制
1.条件语句
if 判断条件1:
代码段1
elif 判断条件2:
代码段2
...
...
else:
代码段n
# 嵌套
if 判断条件1:
if 判断条件2:
代码段2
elif 判断条件2:
代码段2
...
...
else:
代码段n
else
代码段
2.循环语句
1.while语句
while 循环条件:
代码段
# 无限循环
while True:
代码段
2.for语句
for语句实现遍历循环。逐一访问目标对象中的数据。
for 临时变量 in 目标对象
代码段
# 与 range() 搭配
for i in range(5)
print(i)
# 0 1 2 3 4
for letter in "wodsadwdasdjhjasd":
print(letter)
code = ['0','9','8','7']
for m in code:
print(m)
# 0 9 8 7
# 使元素在同一行输出
print(m,end="")
end = ""
3.跳转语句
1.break语句
结束本层循环。
2.continue语句
结束本次循环
四、具体语法
不可改变的数据类型:整型、字符串、元组
1.列表
1.创建
list1 = ['1','2','ew']
2.把其他类型转化为 list 列表型
tup = {'1','2','3'}
list2 = list(tup)
3.增加
list1.append(x) # 在尾部增加元素x
list1.insert(index.x) # 在index下标处增加元素x
list1.extend(list2) # 在list1结尾添加列表list2
4.删除
del list1 # 删除整个列表
list1.remove(x) # 删除元素x
list1.pop(index) # 删除index下标的元素
5.查询x出现的次数
list1.count(x)
6.排序
list1.sort() # 默认从小到大排序
list1.sort(reverse=True) # 从大到小排序
7.列表翻转
list1.reverse()
8.查询列表长度
len(list1)
9.访问某个下标的元素
list1[下标]
10.复制列表
list2 = list1.copy()
11.判断某个元素在列表里
x in list1
返回True或False
12.切片
list1[x:y:z]
# x:起始位置
# y:终止位置
# z:步长
13.返回列表内元素的下标
print(list3.index(x))
# 返回元素 x 的下标
2.元组
1.创建
tup = (1,2,3,4)
2.删除
del tup
3.修改
想修改必须重新赋值
python
tup = (1,2)
tup = (1,2,3) # 此时地址改变,为一个新元组
4.把其他类型变为元组
list1 = [1,23,3,3,4,5]
m = tuple(list1)
3.字典
**键:值**
1.创建
dict1 = {"name":"zhangsan","age":18,}
2.读取
print(dict1.get("键"))
3.返回keys
dict1.keys()
print(dict1.keys())
4.遍历
for i in dict1:
print(i) # 会输出 name ,age 等键名
for i,j in dict1.items():
print(i,j) # 输出 键 值
5.修改
dict1["键名"] = "想改为的value值"
dict1.updata({"键":"值"}) # 改为新字典
6.删除
del dict1
del dict1["键名"] # 删除指定键值对
4. 集合
不重复,且无序
1.创建
set1 = {1,"das",2,3}
2.删除
set1.remove(1) # 括号内为集合里的元素
3.增加
set1.add(3)
4.将列表或元组转化为集合
set(list1)
set(tup1)
5.交,并,差
set1 & set2 # 交集
set1 | set2 # 并集
set1 - set2 # 差集
五、函数
1、常规
# def 函数标识符名称(函数参数):
def myhanshu( a ):
print a # 函数逻辑语句
return # return 可有可无
对于参数 a 的类型
1.不可变类型:如整数,字符串,元组,类似C语言中的传值调用,传递的只是 a 的值,不影响 a 本身。
2.可变类型:如列表,集合,字典,类似C语言中的传址调用,将 a 真正地传过去,函数外部的 a 也会受影响。
加了'*'号的变量名--可变参数
def myprint(*x):
for item in x:
print(item)
myprint(1,2,34,45,65,1)
# 输出:
1
2
34
45
65
1
可变参数传入函数时的存储方式为列表。
2、lambda表达式
# 定义函数(普通方式)
def add(x,y):
return x+y
# 执行函数
result = add(5,4)
# 定义函数(lambda表达式)
add = lambda x,y : x+y
# 执行函数
result = add(5,4)