一、python基础知识1

一、pycharm快捷键

作用快捷键
1.删除整行shfit + delete
2.复制当前行ctrl + d
3.注释ctrl + /
4.在任意位置换行,不影响当前行shift + enter
5.代码向右递进tab
6.代码向左递进shift + tab

二、转移字符

作用字符
\t一个制表符
\n换行
\一个\
\r一个回车

三、注释

1.单行注释

单行注释使用的是#

2.多行注释

单行注释可以是3个单引号或者3个双引号

例如:

'''
print(123123)
print(123123)
print(123123)
'''

"""
print(123123)
print(123123)
print(123123)
"""

四、变量

1.定义

num = 10

打印值

print('num的值是:',num)

2.格式化输出

2.1 format

{}是占位符,format中的变量将会传递给对应的{}. format在传递变量的时候,不需要关系传递变量的类型

num = 10
print("num的值是:{}".format(num))

2.2 f

num = 10
print(f"num的值是:{num}")

五、数据类型

1.基本数据类型

类型备注
整型(int)数字 1 100 300
浮点型(float)小数 1.1 3.14
布尔型(bool)真和假 True False
字符串(string)hello world

2.查看数据类型

使用type函数查看数据类型

a = 10
b = 3.14
c = "hello"
d = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))

3.浮点型的表示形式

3.1 十进制形式

3.14

3.2 科学计数法形式

3.14 乘以10的2次方

num = 3.14e2
print(num)

3.3 浮点型的边界

import sys
print(sys.float_info)

4.布尔类型

0 = Falase, 1 = Treu
在python中 0被视为假, 非0被视为真。 非0值还包括 字符串,浮点型等

if "哈哈":
    print("hello")

5.数据类型转换

5.1 常见转换函数

作用函数
int()转换成int
float()转换成float
str()转换成str
bool()转换成bool

六、运算符

1.算数运算符

符号描述
+ - * /加减乘除
%取余数。python解释取模公式的定义: a%b=a-a//b*b
//取商的整数部分
**次方

例子:

print(20 % 3)
print(20 // 3)
print(2**3)

2.比较运算符号

运算符号描述
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
is判断两个变量引用对象是否为同一个
is not判断两个变量引用对象是否不同

3.逻辑运算符

运算符号描述
and逻辑与
or逻辑或
not取反

4.赋值运算

运算符号描述
=直接赋值
+=加等
-+减等
*=乘等
/=除等
%=取模等
//=取商等于

5.三元运算

在python中没有像其他语言的三元表达式。它是通过if else实现的。
例如: 如果a > b max = a 否则 max = b

a = 30
b = 20

max = a if a > b else b
print(max)

七、if判断

1.单分支

1.1 条件成立执行

num = int(input("请输入年龄:"))

if num >= 18:
    print('你已经是成年人了')

1.2 条件不成立执行

if not 条件表达式:
	执行语句

2.双分支

num = int(input("请输入年龄:"))

if  num >= 18:
    print('你已经是成年人了')

else:
    print('你是未成年人')

3.多分支

num = int(input("请输入年龄:"))

if  num >= 10 and num < 18:
    print('你一位少年了')

elif num >= 18 and num <= 25:
    print('你是一位青年才俊')

elif num > 25 and num < 40:
    print('你是一位中年男人')
else:
    print('未知')

八、for循环

1.循环字符串

for i in "hello":
    print(i)

2.循环range()

2.1 参数介绍

range(开始,结束,步长)

2.2 默认开始值

range()函数默认从0开始生成。结束是不包含结束数字本身的

for i in range(5):
    print(i)

结果如下:

0
1
2
3
4

2.3 指定开始值

指定从2开始

for i in range(2,6):
    print(i)

结果如下:从2开始 到5结束,不包含6本身

2
3
4
5

2.3 指定步长

for i in range(1,10,3):
    print(i)

结果如下:

1
4
7

3.for…else

在python中是有else语句的。作用就是循环完毕之后,执行else的语句

for i in range(10):
    print(i)
else:
    print('循环完毕')

结果如下:

0
1
2
3
4
5
6
7
8
9
循环完毕

break影响else

for i in range(10):
    if i== 6:
        break
    print(i)
else:
    print('循环完毕')

如果break中途打断for 那么,else不会执行.

4.break和continue

beak和continue的使用方法和其它语言使用方法一致.

九、while循环

1.条件成立循环

i = 1
while i < 10:
    print(i)
    i += 1

2.无限循环

while True:
    print('hello')

十、列表

1.基础操作

1.1 定义

语法:
列表名称  = ['值1','值2','值3','值4']
>>> a = ['zhangsan','lisi','wangwu','xiaohong']
>>> print (a)
['zhangsan', 'lisi', 'wangwu', 'xiaohong']

1.2.查看指定元素

查看指定位置内容,列表是通过索引来定位列表内容的。索引是从0 开始的。
['zhangsan', 'lisi', 'wangwu', 'xiaohong']
      0			   1		  2            3

>>>print (a)
['zhangsan', 'lisi', 'wangwu', 'xiaohong']
>>>print (a[0])
'zhangsan'
>>>print (a[1])
'lisi'

1.3.获取元素的下标index()

>>>print (a)
 ['zhangsan', 'lisi', 'wangwu', 'xiaohong']
>>> print (a.index('lisi'))
1



我们不知道数据的位置,但是想一次性取出数据?
>>> print (a)
['zhangsan', 'lisi', 'wangwu', 'xiaohong']
>>> print (a[a.index('wangwu')])
'wangwu'

1.4 查看列表的长度len()

查看长度使用len()函数

list = ['zhangsan','lisi','wangwu','xiaohong']
print(len(list))

1.5 查看元素存不存在in

list = ['zhangsan','lisi','wangwu','xiaohong']
print("zhang" in list)
print("lisi" in list)

结果如下:

False
True

1.6 统计元素出现次数count

list = [1,3,2,3,1,2,5,3,3]
print(list.count(1))

1.7 查找最大元素max()

list = [10,100,20,50]
print(max(list))

1.8 查找最小元素()

list = [10,100,20,50]
print(min(list))

2.列表的修改

2.1.插入元素insert()

向指定位置添加元素

>>> a
['zhangsan', 'lisi', 'wangwu', 'xiaohong']
>>> a.insert(1,'xiaolan')
>>> a
['zhangsan', 'xiaolan', 'lisi', 'wangwu', 'xiaohong']

2.2.修改指定元素

>>> a
[1, 2, 3]
>>> a[1] = 'xiaohong'
>>> a
[1, 'xiaohong', 3]
>>>

2.3.删除元素remove() pop() del()

1.删除列表指定的元素(根据元素内容删除)  remove()
>>> a.remove('zhangsan')    
>>> print (a)
['xiaolan', 'lisi', 'wangwu', 'xiaohong']
#解释:remove('这里是要删除元素的内容')  如果列表中有多个相同的元素,默认只删除第一个。

2.根据下标删除  pop()  ,如果不填写下标 默认删除最后一个元素
>>> a
['zhangsan', 'lisi', 'wangwu']
>>> a.pop(0)
'zhangsan'
>>> a
['lisi', 'wangwu']

3.根据下标删除 del
>>> a
['lisi', 'wangwu']
>>> del a[0]
>>> a
['wangwu']

2.4.追加元素append()

>>> a
['lisi', 'lisi', 'wangwu', 'xiaohong', 'xiaolan', 'zhangsan']
>>> a.append('1')
>>> a.append('a')
>>> a.append('c')
>>> a
['lisi', 'lisi', 'wangwu', 'xiaohong', 'xiaolan', 'zhangsan', '1', 'a', 'c']

2.5 清空列表clear()

list = ['zhangsan','lisi','wangwu','xiaohong']
list.clear()
print(list)

3.列表的排序

3.1.reverse 倒序排序

>>> a = ['zhangsan', 'xiaolan', 'xiaohong', 'wangwu', 'lisi', 'lisi']
>>> a.reverse()
>>> a
['lisi', 'lisi', 'wangwu', 'xiaohong', 'xiaolan', 'zhangsan']

3.2.sort 正常排序

>>> a = [10,2,3,6,8,12,56,7]
>>> a.sort()
>>> a
[2, 3, 6, 7, 8, 10, 12, 56]

4.列表的切片

1.列表的扩展
例子1>>> a = [1, 2, 3]
>>> b = ['xiaohong','xiaozhang','xiaoming']
>>> print(a)
[1, 2, 3] 
>>> print(b)
['xiaohong', 'xiaozhang', 'xiaoming']
>>> a.extend(b)
>>> print a
[1, 2, 3, 'xiaohong', 'xiaozhang', 'xiaoming']

例子2;我们也可以用 "+" 来实现形同的效果
>>> print a
[1, 2, 3]
>>> print b
['xiaohong', 'xiaozhang', 'xiaoming']
>>> a + b
[1, 2, 3, 'xiaohong', 'xiaozhang', 'xiaoming']

1.列表的切片

列表的切片是顾头不顾尾

例子1:截取中间位置的数据
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> a[3:7]    
[3, 4, 5, 6]
截取下标3-7的内容,但是不包含下标为7的内容
还可以这样写
print (a[a.index(3):a.index(7)])
[3, 4, 5, 6]

例子2:截取到末尾
>>> a[7:]
[7, 8, 9]

在列表长度未知的情况下,我们还可以用负数来截取。
>>> a[-3:]   
[7, 8, 9]

用负数来截取的时候需要注意,不要写成[-2:-4]。写法也要遵循从左到右的顺序。
>>> a[-4:-2]
[6, 7]

例子3:从0位置开始截取
>>> a[:5]
[0, 1, 2, 3, 4]

5.列表的复制

1.浅复制

>>> a = [1,2,3,4]
>>> b = a.copy()
现在a b 列表内容一样
>>> print (a)
[1, 2, 3, 4]
>>> print (b)
[1, 2, 3, 4]

现在修改a列表的值,不会影响b列表的内容
>>> a[1] = 'zhangsan'
>>> print (a)
[1, 'zhangsan', 3, 4]
>>> print (b)
[1, 2, 3, 4]

但是当a的列表中有子列表的时候就不同了。
>>> print (a)
[1, 2, ['a', 'b', 'c'], 3, 4]
>>> b = a.copy()
>>> print (b)
[1, 2, ['a', 'b', 'c'], 3, 4]
修改列表a中子列表中的值,b的子列表中的值也跟着变化。所有说a.copy()只复制了第一层。所以我们称为浅复制。
>>> a[2][0] = 'xiaoming'
>>> print (a)
[1, 2, ['xiaoming', 'b', 'c'], 3, 4]
>>> print (b)
[1, 2, ['xiaoming', 'b', 'c'], 3, 4]

2.深复制

import copy
a = [1,2,['a','b','c'],3,4]
b = copy.deepcopy(a)
>>> print (a)
[1, 2, ['a', 'b', 'c'], 3, 4]
>>> print (b)
[1, 2, ['a', 'b', 'c'], 3, 4]

修改a列表中的子列表的值
a[2][0] = 'xiaoming'
>>> print (a)
[1, 2, ['xiaoming', 'b', 'c'], 3, 4]
>>> print (b)
[1, 2, ['a', 'b', 'c'], 3, 4]

我们发现b列表的值没有变。

6.列表推导式

列表推导式就是列表的快速生成方法,但是复杂的列表不建议使用列表生成式

#!/usr/bin/python3

list = [i for i in range(10)]
print(list)

[root@node5 data]# ./test.py 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

7.列表面试题

使用一行代码生成[1,3,5,7,9]

方法1:

list = list(range(1,10,2))
print(list)

方法2:

list = [i for i in range(10) if(i % 2 == 1)]
print(list)

可以简写为:
list = [i for i in range(10) if(i % 2)]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值