python初识

python初识## 1.下载包添加链接描述

2.安装

在这里插入图片描述
全部下一步next,选择创建安装目录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装成功

pycharm安装

官网pycharm
这里没有免费版的不要急 下载其他版本
在这里插入图片描述

在这里插入图片描述

一直下一步安装自己创建个目录
如果出现jdk什么的报错直接使用管理员启动

在这里插入图片描述
在这里插入图片描述

python解释器路径
在这里插入图片描述
安装chinese汉化包,跟transtion 翻译包

python语法

在这里插入图片描述

money = 50
print("钱包还有", money - 10)

数据类型转换

在这里插入图片描述
这里主要有几种占位符包括精度的计算d% 整数 s% 字符串 f% 浮点数 写法就是 ‘d%’ % 精度如下实例

name = 'dsjk'
stock_price = 19.99
stock_code = '003032'
stock_price_daily_factor = 1.2
growth_days = 7
print(f'公司{name},股票代码{stock_code},当前股价:{stock_price}')
//.1f代表保留1位小数 2.1表示2个字符串长度保留一位小数
print('每日增长系数:%.1f,经过%s天的增长,股价达到了%.2f' % (stock_price_daily_factor,growth_days,stock_price * stock_price_daily_factor ** growth_days))

这里主要就是input,if else 的语法 注意空格缩进

//案例猜3次数字
import random  //引入random
num = random.randint(1, 10) //获取随机数
guess_num = int(input()) //数据类型转换 input获取输入内容
//注意下ifelse 的语法 elif 这是else if 的缩写
if guess_num == num:
    print('恭喜第一次就猜中')
else:
    if guess_num < num:
        print('小了')
    else:
        print('大了')
    guess_num2 = int(input('再次输入'))
    if guess_num2 == num:
        print('恭喜第2次就猜中')
    else:
        if guess_num2 < num:
            print('小了')
        else:
            print('大了')
        guess_num3 = int(input('再次输入'))
        if guess_num3 == num:
            print('恭喜第3次就猜中')
        else:
            print('你没机会了')

while循环语句

import random
num = random.randint(1, 100)
flag = True
i = 0
while flag:
    whiteNum = int(input('请输入'))
    if whiteNum == num:
        print('你猜中了')
        flag = False
    else:
        if whiteNum < num:
            print('你猜小了')
        else:
            print('你猜大了')

        i += 1
        print(f'你猜了{i}次')

for 循环

name = 'sfewgewgrer'
for x in name:
    print(x)

关键字 range

//第一个参数代表生成结束位置从0开始
for x in range(5):
    print(x)  # 0,1,2,3,4
//两个参数就是从开始到结束
for x in range(5, 8):
    print(x)  # 5,6,7
//三个参数就是从开始到结束,第三个是步进数
for x in range(5, 10, 2):
    print(x)  # 5,7,9

continue break

  • continue 暂时跳过
  • break 直接结束

函数定义def

global可以把函数中的局部变量变成全局变量

类定义

def add(a, b):
    print(a + b)
    return a + b

class Student:
    pass
    
student = add(1, 2)
add = add(3, 4)

下标索引的方法

index找到索引位置,如果没有会报错
list = list() #数组创建的另一种方式
arr = [1, 4, 5, 212, 'wefewf']
print(arr.index('wefewf')) # 4
arr[4] = '修改了'  # 修改值直接取出元素修改就好了
print(arr) # [1, 4, 5, 212, '修改了']
insert插入元素
arr.insert(1, '插入内容')
print(arr)
append末尾添加元素
arr.append('末尾添加')
print(arr)
extend末尾添加多个会一个个取出来放在后面
arr.extend(['添加一个', '添加2个'])
删除元素del ,pop(),remove()方法,clear()
arr = [1, 4, 5, 212, 'wefewf', 212]
del arr[4] # 直接选中要删除的元素
arr.remove(212) # 删除的匹配到的第一个元素
arr.pop(3) # 使用数组的pop方法传入索引,返回的是删除的元素,原数组发生改变
arr.clear() # 清空数组
print(arr)
count统计某个元素出现的次数
arr = [1, 4, 5, 212, 'wefewf', 212]
arr.count(212)
print(len(arr)) # 6 统计元素数量
print(arr.count(212)) # 2
reserve反转
arr=[1,2,22,5]
arr.reverse()
print(arr) # [5, 22, 2, 1]

元祖的定义

元祖一旦被定义不可修改,只读,但是元祖里面的list元素可以修改,使用 () 或者关键字tuple 定义

arr=(1,2,3,[2,3,4]) # 使用小括号定义
arr.[3][1]='可以修改'
arr = tuple() # 使用tuple关键字定义
arr = (1,) #单个元素的元祖后面要加逗号
print(arr)

字符串

首先字符串在python中只读的不允许修改,如果要修改那么将返回新的字符串

replace

将某个字符串修改返回新的字符串

arr='safgewgew'
arr1 =arr.replace('a','这个')
print(arr,arr1)
split

通过某个字符串进行分割,生成数组

arr = 'safgewgew'
arr1 = arr.split('e') # ['safg', 'wg', 'w']
print(arr, arr1)
strip

默认清除前后空格,如果传参了就是清除前后带有参数的字符

arr = '  safgewgew  '
arr1 = arr.strip('1') # ' safgewgew  '
arr1 = arr.strip() # 'safgewgew'
print( arr1)

切片

切片就是将一个大的字符串,数组或者元祖切成更小的一部分,写法 字符串||数组||元祖[开始位置:结束位置:步长默认为1可省略],起始位置省略就是全部

arr = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5, 6)
print(arr[:])  # 从头切到位步进位1 [1, 2, 3, 4, 5]
print(arr[::2])  # 从头切到尾步进为2 [1, 3, 5]
print(arr[::-1])  # 从头切到尾步进为1倒着切 [5, 4, 3, 2, 1]
print(my_tuple[6:2:-1])  # 从索引为6切到2进为1倒着切 (6, 5, 4) 倒切第一个参数大于第二个否则就是空
print(my_tuple[2:6:1])  # 从索引为2切到6进为1正着切 (3, 4, 5, 6)

集合

集合跟其他语言定义不一样这里我单独拎出来
集合不支持while循环,因为集合是无序的,所以不支持下标索引,集合也是去重的

集合的基本用法
object = {1,23,3}
obj = set()
print(obj, type(obj))  # set() <class 'set'>

obj2 = {11,2, 3, 4, 5}
print(obj2.pop())  # 数字就是取最小的
obj3 = {'ewjkg', 'rgjherjk', 'glkjgek'}
print(obj3.pop())  # 随机取得字符串

obj3 = {'张三', '李四', '王五'}
add_obj = obj3.add('赵六')
print(obj3)  # {'张三', '赵六', '王五', '李四'}
remove_obj = obj3.remove('赵六')
print(obj3)  # {'王五', '张三', '李四'}
# 这里注意remove跟add方法都没有返回值返回都是None
obj3.clear()  # {}  清除集合
集合的差集

求差集
谁调用找谁里面的不同元素

set1 = {1,2,3}
set2 = {1,5,6}
set3=set1.difference(set2)
print(set3)  # {2, 3} 返回的是2集合里没有的
print(set2)  # {1,5,6}
print(set1)  # {1,2,3}

删除差集
谁删除改变谁的集合

set1 = {1,2,3}
set2 = {1,5,6}
set3=set1.difference_update(set2)
print(set3)  # None
print(set2)  # {1,5,6}
print(set1)  # {2,3} 删除1集合里面相同的

集合的合集

set1 = {1,2,3}
set2 = {1,5,6}
set3=set1.union(set2)
print(set3)  # {1, 2, 3, 5, 6}
print(set2)  # {1,5,6}
print(set1)  # {1,2,3}

字典dict

字典就是键值对的集合,字典也是不允许键重复

obj1 = dict()
obj2 = {} #  这里注意因为{}被字典占用所以集合不能{}
obj3 = {'name': '张三', 'age': '20'}  #  字典定义
obj = {  # 嵌套定义
    '张三': {
        'age': 28,
        'height': 180
    }, '李四': {
        'age': 22,
        'height': 111
    }, '王五': {
        'age': 23,
        'height': 157
    },

}
for key in obj:
    print(key) # 直接循环得到key
print(obj)
print(obj['张三']['age']) #  20

常用方法

  • pop :删除某项 原字典发生改变
  • clear:清除字典
  • keys:获取所有的key

在这里插入图片描述

sorted 排序

第二个参数 reverse=True ,倒叙

arr = [1,2,4,99,3]
arr2 = (1,2,4,99,3)
arr3 = {
    '张三':{
        'age':18,
        'sex':'男'
    }, '李四':{
        'age':18,
        'sex':'男'
    }, '王五':{
        'age':18,
        'sex':'男'
    }
}
print(sorted(arr))
print(sorted(arr,reverse=True))
print(sorted(arr2))
print(sorted(arr3))

sort 排序

my_list =[['a',33],['b',55],['c',11]]


def choose_sort_key(ele):
    return ele[1]


my_list.sort(key=lambda ele:ele[1],reverse=True)  # 第一个参数是函数 返回数据根据返回数据进行排序 ,第二个反转

print(my_list)  # [['b', 55], ['a', 33], ['c', 11]]

sort 跟sorted区别 :
sorted是根据单个数据进行排序,ascall码进行排序
sort 可以根据多个数据的指定数据进行排序

函数def,lambda

这里可以返回多个返回值,那么返回的就是一个元祖对象,lambda 匿名函数

def fn():
    return 1,'True'
print(fn())  # (1,'True')

# 位置不定长参数*代替 形参不定长**
def fn2(*args):
    return args

print(fn2(20)) # 20


def fn2(fn):
    return fn(1,2)
fan = lambda a,b:a+b
print(fn2(fan))

捕获异常

try:

except:
-------------*------------------
try:
    print(name)
except NameError as e:  #  指定异常
    print(e)
-------------*------------------
try:
    print(name)
except Exception as e:  # 捕获全部异常
    print(e)
else:
	# 否则逻辑
finally:
	# 有没有异常都执行

模块导入

import time # 模块导入
from time import *  # 全部导入
from time import sleep  # 方法导入
print('11')
sleep(5)
print('22')

模块导入的时候是默认执行,这时候我们就需要去判断默认变量

def add(a, b):
    return a + b

# 大概意思就是当前执行的模块名是当前模块才执行,如果是引入将不执行
if __name__ == '__main__':
    print(add(1, 2))

使用all指定的时候,引入就只能引入指定的方法,可以手动的导入
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜鸟学代码··

给打赏的我会单独一对一讲解

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值