python初识

文章目录

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

2.安装

全部下一步next,选择创建安装目录


安装成功

pycharm安装

官网pycharm

这里没有免费版的不要急 下载其他版本

一直下一步安装自己创建个目录

如果出现jdk什么的报错直接使用管理员启动


python解释器路径

安装chinese汉化包,跟transtion 翻译包

python语法

c 复制代码
money = 50
print("钱包还有", money - 10)

数据类型转换

这里主要有几种占位符包括精度的计算d% 整数 s% 字符串 f% 浮点数 写法就是 'd%' % 精度如下实例

c 复制代码
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 的语法 注意空格缩进

c 复制代码
//案例猜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循环语句

c 复制代码
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 循环

c 复制代码
name = 'sfewgewgrer'
for x in name:
    print(x)

关键字 range

c 复制代码
//第一个参数代表生成结束位置从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可以把函数中的局部变量变成全局变量

类定义

c 复制代码
def add(a, b):
    print(a + b)
    return a + b

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

下标索引的方法

index找到索引位置,如果没有会报错

c 复制代码
list = list() #数组创建的另一种方式
arr = [1, 4, 5, 212, 'wefewf']
print(arr.index('wefewf')) # 4
arr[4] = '修改了'  # 修改值直接取出元素修改就好了
print(arr) # [1, 4, 5, 212, '修改了']

insert插入元素

c 复制代码
arr.insert(1, '插入内容')
print(arr)

append末尾添加元素

c 复制代码
arr.append('末尾添加')
print(arr)

extend末尾添加多个会一个个取出来放在后面

c 复制代码
arr.extend(['添加一个', '添加2个'])

删除元素del ,pop(),remove()方法,clear()

c 复制代码
arr = [1, 4, 5, 212, 'wefewf', 212]
del arr[4] # 直接选中要删除的元素
arr.remove(212) # 删除的匹配到的第一个元素
arr.pop(3) # 使用数组的pop方法传入索引,返回的是删除的元素,原数组发生改变
arr.clear() # 清空数组
print(arr)

count统计某个元素出现的次数

c 复制代码
arr = [1, 4, 5, 212, 'wefewf', 212]
arr.count(212)
print(len(arr)) # 6 统计元素数量
print(arr.count(212)) # 2

元祖的定义

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

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

字符串

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

replace

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

c 复制代码
arr='safgewgew'
arr1 =arr.replace('a','这个')
print(arr,arr1)

split

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

c 复制代码
arr = 'safgewgew'
arr1 = arr.split('e') # ['safg', 'wg', 'w']
print(arr, arr1)

strip

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

c 复制代码
arr = '  safgewgew  '
arr1 = arr.strip('1') # ' safgewgew  '
arr1 = arr.strip() # 'safgewgew'
print( arr1)

切片

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

c 复制代码
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循环,因为集合是无序的,所以不支持下标索引,集合也是去重的

集合的基本用法

c 复制代码
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()  # {}  清除集合

集合的差集

求差集

谁调用找谁里面的不同元素

c 复制代码
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}

删除差集

谁删除改变谁的集合

c 复制代码
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集合里面相同的

集合的合集

c 复制代码
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

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

c 复制代码
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 ,倒叙

c 复制代码
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))

函数def,lambda

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

c 复制代码
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))
相关推荐
Yhame.10 分钟前
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
java·开发语言
Dovir多多33 分钟前
Python数据处理——re库与pydantic的使用总结与实战,处理采集到的思科ASA防火墙设备信息
网络·python·计算机网络·安全·网络安全·数据分析
mazo_command2 小时前
【MATLAB课设五子棋教程】(附源码)
开发语言·matlab
IT猿手2 小时前
多目标应用(一):多目标麋鹿优化算法(MOEHO)求解10个工程应用,提供完整MATLAB代码
开发语言·人工智能·算法·机器学习·matlab
青春男大2 小时前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
88号技师2 小时前
几款性能优秀的差分进化算法DE(SaDE、JADE,SHADE,LSHADE、LSHADE_SPACMA、LSHADE_EpSin)-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法
Zer0_on2 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit2 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++
沐霜枫叶3 小时前
解决pycharm无法识别miniconda
ide·python·pycharm
一个没有本领的人3 小时前
win11+matlab2021a配置C-COT
c语言·开发语言·matlab·目标跟踪