1.什么是编程什么是编程语言
编程:用代码去写程序
编程语言:用那种规则去编写程序
2.编译型,解释型
编译型:执行效率高,平台依赖性极高 例:c语言
解释型:python语言
执行效率相对较低,平台依赖性较低
python缺点
代码不能加密
执行效率相对较低
python注释
单行注释 #
多行注释
三个单引号 ‘’’ 或三个双引号 “””
python缩进
tab键和空格键不能混用
输出函数
print(“”)
结束符
;就是python的结束符
换行就是替代了结束符
输入函数
input(“”)
变量
变量是程序运行时,存储数据的盒子
代码复用,让代码变得灵活
变量名称=变量值
像javascript,php,python这些弱数据语言,变量类型由值决定
常量:count=1
- 英文,下划线,中文(极其不推荐)
- 不以数字作为开头
- 大小写极其敏感
- 不可以使用关键字,保留字
- 大驼峰小驼峰命名法,_
MyName myName my_name(推荐)
避免用内置已有的方法名
数据类型
基本数据类型:
数值型:
- 整形
- 浮点
3.复数
布尔类型
True(真) Flase(假)
字符串
“” “ ‘’’ “””
None:等价于
NaN:
复合数据类型
list,set,dict,tuple,object
数据类型转换
int()强制转换成整形
float()强制转换成浮点 小数的精度确实问题
str()强制转换为字符串
字符串格式化
+号进行拼接
只输出一个值的时候,可以选择用逗号,隔开
占位符占取位置
%s:将内容转换为字符串
%f:将内容转换为浮点型
%d:将内容转换为整数
format函数
推荐
print(f”{变量名}”)
运算符
// 取整除 - 往小的方向取整数 9//4=2
** 幂,返回x的y次幂
逻辑运算符
与:and
或:or
非:not
所属运算符
in
not in
身份运算符
is is 是判断两个标识符是不是引用自一个对象
赋值运算符
python里没有自增自减
字符串对象
dir()返回模块的属性列表。
len()返回字符串长度
capitalize:首字母大写
center:文本居中
find:不存在则返回-1,存在则返回位置
index:不存在则会报错
strip():去除字符串收尾空格
join()穿插空格
split()分割
replace(“被替换的元素”,“替换成什么”)
count()统计次数
位运算(二进制)
计算机中最小的单位:位
字节:1byte=8bit
10:0000 1010
11: 0000 1011
21=10+11=0001 0101
添加符号位,8位最前面的位作为符号位0表示正 1表示负
-10:1000 1010
-3+2:1000 0011+0000 0010=1000 0101=-5
原码:数值的标准的二进制位
反码:符号位不变,其他位取反
补码:反码+1
解决负数运算错误的问题
原码 反码 补码
-3 1000 0011 1111 1100 1111 1101
对上边总结:正数没有原码,反码,补码,计算机底层基于补码进行运算
&:两真才为真,一假则为假
|:一真则真,两假才假
^:相反为真,相同为假
~:包含符号位一起取反
右移:除以2的n(右移几位)次方
左移:乘以2的n(左移的位数)次方
程序结构:
顺序结构:
选择结构:
循环结构:
选择结构:
关键字是:if
if 判断条件:
执行语句……
else:
执行语句……
if-elif
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……
if语句嵌套
python没有switch语句
字符串切片
索引:正数索引从0开始,负数索引从-1开始
sname[start:end:step]
sname:要操作的对象名
start:切片开始的位置,包含自身,若省略不写,那么从0开始
end:切片结束的位置,不包含自身,如果省略不写,默认为字符串的长度
step:步长,默认为1,步长省略掉,第二个:可以省略
s[:]切出整个字符串
s[: : -1]反转字符串
python:列表,元组,集合,字典
- 列表
1.列表的数据项不需要具有相同的类型
2.创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
更新列表里边的数据,通过重新赋值即可更改
list1=[1,2,3,4,5]
list1[0]=6
列表的加法和乘法
list3 = list1 +list2
append( )向列表的最末尾添加元素
copy() 创建一个对象的剧本
用于复制列表,类似于 a[:]。
copy()方法语法:
list.copy()
count()统计元素在列表里边出现的次数
extend()合并列表
extend()方法语法:
list.extend(seq)
seq -- 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。
index
index()方法语法:
list.index(x[, start[, end]])
x-- 查找的对象。
start-- 可选,查找的起始位置。
end-- 可选,查找的结束位置
insert向指定的位置追加元素
insert()方法语法:
list.insert(index, obj)
list1.insert(1, 'Baidu')
pop()删除列表末尾的元素
pop()方法语法:
list.pop([index=-1])
remove()移除列表中某个值的第一个匹配项
list1.remove('Taobao')
sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
list.sort(cmp=None, key=None, reverse=False)
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
reverse()反转列表的元素
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反转后: ", list1)
列表的切片
和字符串切片一样
列表的特点:
不同类型元素,有序存储,允许元素重复,可以修改
2.元组
(元素1,元素2,元素3……)
元组的元素无法更改,元组里边的类型可以不同
元组的数据不能更改,但是元组里边出现列表,列表的元素可以更改
元组,列表,字符串的公共方法
len()
max()
min()
元组的注意事项:
元组中只有一个元素时,这个元素后面必须带逗号,否则不是元组
- 字典
键值对
键可以是任意的不可变类型(数字,字符串,元组)
字典的创建
1.{ }
整个字典包括在花括号 {} 中
2.dict()函数
键必须是唯一的,但值则不必
创建空字典,{}默认创建的是空字典
字典的方法
增
删
改
get():用于在字典中获取指定键的值,可设置默认值的,当查询的键不存在时,即返回默认值
keys()以列表的形式返回字典中所有的键
字典嵌套字典,不会返回内层字典的键
items()以列表的形式返回字典中所有的键值对
values()以列表的形式返回字典中所有的值
clear()删除字典内所有元素
copy()创建字典副本
fromkeys()创建一个新的字典
popitem()删除最后一项,同时会以元组的形式返回删除掉键值对
setdefault设置键的默认值
update()将字典2的值更新到字典1,如果重复会进行修改
4.集合:无序的,集合中的元素是唯一的(可用于去重)
- 集合的创建
set函数创建
传入字典
只会取键
{ } 创建集合 只能元组,字符串,数字
集合方法
add()向集合中添加元素 数字,字符串,元组
update()将两个集合进行合并
删除remove(要移除的元素)
pop() 方法用于随机移除一个元素。
pop() 方法语法:
set.pop()
discard() 方法用于移除指定的集合元素。
不存在的话,不会做任何操作
交集和并集
&(交集) 连接多个集合,得到集合之间相同的元素
|(并集):连接多个集合,得到所有的全部数据
列表去重
元组去重
字典去重只针对键
字符串的去重