python 入门
python 入门
数据类型和变量
- Numbers
- int(有符号整型)
- long(长整型 已淘汰)
- float(浮点型)
- complex(复数)
- 布尔类型(bool)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dict(字典)
内置函数
- 输出函数 print(self, *args, sep=' ', end='\n', file=None)
- 输入函数 input(*args, **kwargs)
- 二进制转换函数 bin()
- 八进制转换函数oct()
- 16进制转换函数 hex()
python 不同进制的输出
- 0b 二进制
- 0o 八进制
- 0x16进制
数据类型的转换
int(变量,转换的进制) 把其他类型转化为整型
float()转化为浮点数
str() 将其他的数据类型转换为字符串
bool() 将其它类型转化为布尔型 注意 数字除0之外都是True 字符串除了空字符串之外都是True None也是Flase 空列表 flase [] 空元组 () {} 都是flase
运算符
算数运算符 两个整数相除 会得到一个浮点数
- +加
- -减
- *城
- / 除
- ** 幂运算
- // 整除
- % 取余
赋值运算符
- +=
- -=
- *=
- /=
- **=
- //=
- %=
- =
- *表示可变长度 列子:
*a,b,c=1,2,3,4,5,6 # 贪婪原则
print(a,b,c)
# 输出 [1, 2, 3, 4] 5 6
比较运算符
- />
- <
- />=
- <=
- ==
逻辑运算符 优先级 not>and>or
- and
- or
- not 非
位运算符 按二进制计算
- 按位与& 同为1 才为1
- 按位或| 有1就是1
- 按位异或^ 相同为0 不同为1
- 按位左移<< a<<n ===> a*2 的n次方
- 按位右移>> a>>n ====>a/2的n次方
- 按位取反~
条件语句
- if
- if...else
- if...elif...else
- if嵌套
循环语句
- while
- for...in
- for...else 如果我依次做完了所有的事情(for正常结束),我就去做其他事(执行else),若做到一半就停下来不做了(中途遇到break),我就不去做其他事了(不执行else)。
for i in range(0,10): # 从0 开始 到10结束 左合右开
print(i)
# 注意 range 必须是要一个可迭代对象
关键词
- pass 在python中没有意义 只是单纯的占位符 取消语法错误
- break 结束本次循环
- continue 跳出本轮循环
三元表达式
x = i if i>j else j # 成立 x=i 不成立 x=j
字符串
在python中 可以使用 '' "" """""" '''''' 都时可以的
如果要在字符长中使用多个引号 要不使用不同的包含 或者使用转义字符
print('xiaoming said : "i am xiaoming" ')
#转义字符 /
print("xiaoming said : \"i am xiaoming\" ")
# 在字符串前面添加r/R 在python中都是显示原生字符串的意思
print(r"else\t...")
转义字符
- \n 换行
- \t 制表符
字符串的下标和切片
m = 'abcdefghijklmnopq'
print(m[5])
#切片 左闭右开
print(m[0:5])
# 从开始到结束 start end 时负数的话 那么从右往左数
print(m[1:])
# 从头开始 到第八个元素
print(m[:9])
# step 步长 / 间隔 每隔step-1 取一次 当step值为附负数时 将从右往左找
print(m[2:9:2])
print(m[5::-1])
##复制
print(m[::])
# 从右往左 复制
print(m[::-1])
字符串常用方法
j = m.replace('a','c')
print(j)
# cbcdefghijklmnopq 注意字符串不可变 必须重新赋值
# split 分割
x = '1,2,3,4,5,6'
z = x.split(',')
print(z) # ['1', '2', '3', '4', '5', '6'] 切割之后是一个列表
'*'.join(tuple()) #连接
成员运算符 判断内容是否在
- in
- not in
if 'j' in 'xlh':
print("在")
else:
print('buzai')
格式化输出字符 %
name = 'zzy'
age = 20
print('大家好我叫 %s ,今年%d岁' %(name,age))
# %s 字符串 占位符
# %d 整数
# %nd 前面补n个空格
# %f 浮点数
# %nf 保留n位小数
# %x 打印16进制
字符串format方法
x='大家好我叫{} 今年{}'.format('zzy',20)
print(x)
y='大家好我叫{1} 今年{0}'.format('zzy',20)
print(y)
z='大家好我叫{name} 今年{age}'.format(name = 'zzy',age = 20)
print(z)
# 拆包
d=['zzy',20]
b='My Name {} My Age {}'.format(*d)
print(b)
# 元组拆包
d={'name':'zzy','age':20}
b='My Name {name} My Age {age}'.format(**d)
print(b)
列表
声明 demo = []
添加
- append 在末尾追加
- insert(index,object) 在指定位置插入一个数据
- y.extend(x) 将x拼接到y上
删除
- clear
- remove
- pop
- del
查询
- index
- count
- in
修改
- x[index]='xxx'
遍历
- for...in
- while
列表的复制 排序
-
copy 复制一个列表 产生一个新的列表 指向的地址不一样
-
sort
-
sorted() 会生一个新的列表 内置函数
反转
reverse 倒叙输出
可变数据类型和不可变数据类型
可变: 字符串 数字 元组 如果修改值内存地址方式改变
不可变: 列表 字典 集合 修改值 内存地址不发生改变
元组
和列表很像 保存多个数据 区别:元组是可变数据类型 列表是不可变数据类型 不可修改
声明 text = ()
方法
- count
- index
注意 当元组只有一个元素的时候 要这么声明 a=(1,)
列表转换为元组
tuple(list)
字典
声明:
people=
注意
- key值不能重复 重复覆盖前一个
- value 可以是任意类型 key值 只能是不可变类型
- 字典保存的数据是无序的 不能通过下标获取
查找
- people['name'] 不存在报错
- people.get('111' , '111') 返回none 不存在不报错 找不到 返回第二个形参
新增 修改
存在修改 不存在添加
- people['city']='hunan'
删除
-
people.pop('name')
-
people.popitem() 随机删除一个元素 并返回被删除的value
-
people.clear() 清空一个字典
-
del people['name']
字典合并
addr ={'city':'hunan}
people.update(addr) 合并
字典的遍历
people={'name' : 'zzy','age' : 20}
# 第一种
for x in people:
# x 获得的是 key值
print(x,people.get(x))
# 第二种
for j in people.keys():
print(j,people[j])
# 第三种 获取所有的value
for y in people.values():
print(y)
# 第四种
print(people.items()) # dict_items([('name', 'zzy'), ('age', 20)]) 一个键值对
for item in people.items():
print(item[0],item[1])
# 拆包
for k,v in people.items():
print(k,v)
set 集合
不重复 无序 有重复的会自动去重
声明
空集合 表示 set()
{} / set
x=
添加
add('值')
union() 将多个集合合并成一个集合
a.update(b) 将b拼接到a中
删除
clear() 清空
pop() 随机删除
remove('值') 删除指定
集合的高级使用
a-b 差集
a & b a和b的交集
a | b a和b的并集
a ^ b a和b差集的并集
eval() 可以执行字符串里的代码
a = '1+1'
print(eval(a))
Json
import json
people={'name' : 'zzy','age' : 20}
a = json.dumps(people)
print(a)
# 将json字符串转化为python数据
# 1
eval(a)
# 2
json.loads(a)
公用方法总结
- +法可以用来拼接 用于字符串 元组 列表
- -号只能用于集合 求差集
- *:可以用于字符串元组列表 表示重复多次
print('hello'*3)
print([1,2,3]*2)
print((1,2,3)*2)
- in : 成员运算符
- 遍历
# enumerate() 带下标的类的遍历 一般使用在列表和元组等有序的数据
a = [1,2,3,4,55]
for i,v in enumerate(a):
print(i,v)

浙公网安备 33010602011771号