Python 学习之路

官网下载

PyCharm开发工具

基础语法

变量定义 变量名 = 变量值 ,变量是可以发生改变的

money = 50
money = money - 10
print(money)

查看数据类型

money = 50
money_type = type(money)
print(money_type)

<class 'int'> # int整数类型 float浮点数类型 string 字符串

数据转换

1.转成字符串类型 str(值)
2.转成整数类型 int(值)
3.转成浮点数类型 float(值)
4.整数转浮点数会加.0
5.浮点数转整数会丢失小数部分

str = str(111)  # 转字符串
print(type(str),str)

int = int("112") # 转整数
print(type(int),int)

float = float("12.111") # 转浮点
print(type(float),float)

num = float(11)
print(num)

num2 = int(11.311)
print(num2)
# print 输出
<class 'str'> 111
<class 'int'> 112
<class 'float'> 12.111
11.0
11

算数运算符

print("1+1=",1+1)
print("1-1=",1-1)
print("1*1=",1*1)
print("1/1=",1/1)
print("11//2=",11//2)
print("9%2=",9%2)
print("9**2=",9**2)
# print 输出
1+1= 2
1-1= 0
1*1= 1
1/1= 1.0
11//2= 5
9%2= 1
9**2= 81

赋值运算符

num = 2
num += 2
print('num += 2',num)
num -= 2
print('num -= 2',num)
num *= 2
print('num *= 2',num)
num /= 2
print('num /= 2',num)
num //= 2
print('num //= 2',num)
num **= 2
print('num **= 2',num)
num %= 2
print('num %= 2',num)
# print输出
num += 2 4
num -= 2 2
num *= 2 4
num /= 2 2.0
num //= 2 1.0
num **= 2 1.0
num %= 2 1.0

字符串拼接

字符串不能用+和数字类型直接拼接

1)方式1: 字符串可以用占位的形式进行拼接,用%s占位,在后边用%链接需要拼接的变量
1.%s 是将变量变成字符串类型拼接
2.%d 是将变量变成整数拼接
3.%f 是将变量变成浮点数类型拼接

money = 10
number = 5 
str = "%s快钱买%个棒棒糖" % (money,number)
print(str)

2)方式二
1.语法 f"字面量{变量}"
2.这种方式不理会类型,不改变精度

num = 121
str = f"打印数字{num}"
print(str) # 打印数字121

浮点数精度控制

  1. 使用辅助符号m.n控制数据的宽度和精度
    2.m控制数字的宽度,设置的宽度小于自身时不生效,长度不够用空格补位
    3..n控制精度,会进行小数的四舍五入
# %5d 表示控制整数位数是5位
num = 11
str = "今天是%5d" % num
print(str) # 今天是   11,空格占位3

# %.3f 表示控制浮点数的精度是3位
num = 1.1211
str = "打印数字%.3f" % num
print(str) # 打印数字1.121

# %5.2f 表示数字长度是5,并且保留2位小数
num = 4.12121
str = "打印数字%5.2f" % num
print(str) # 打印数字 4.12 空格占位2

input()获取键盘输入内容

1.input()可以返回键盘输入的内容
2.input(提示信息),可以在输入内容之前打印出提示信息
3.input()获取的输入内容都会转成字符串

name =  input("用户名称")
type =  input("用户类型")
print(f"最贵的{name},您是本店的{type}用户")
# 用户名称宇智波带土
# 用户类型sssvip
# 最贵的宇智波带土,您是本店的sssvip用户

比较运算符

  1. == 判断内容是否相等,相等为True,不等False
  2. != 判断内容是否不相等,相等False为,不等True
  3. 判断是否大于,大于为True,不大于False

  4. < 判断是否小于,小于为True,不小于False
  5. = 判断是否大于或等于

  6. <= 判断是否小于或等于

if 判断语句

  1. 判断条件一定要是布尔值
  2. 判断条件后边有冒号
  3. 归属于if的代码块要有4个空格缩进
num = 12
if num < 11:
        print("大于11")
elif num = 12:
        print("等于12")
else:
        print("小于")

循环语句

1)while循环

  • while循环的条件必须是布尔值,True就继续循环,False就停止循环
  • 需要设置终止循环的条件,否则就会无限循环
  • 循环内容需空格缩进
num = 1
while num < 4:
    print("num = 10")
    num += 1

# num = 10
# num = 10
# num = 10

2)for循环

  • for循环无法定义循环条件,只能被动取出数据处理
  • for循环内容需要空格缩进
str = "学习for循环"
for x in str:
    print(x)
# print 输出
学
习
f
o
r
循
环

break和continue

  • continue关键字用于中断本次循环,直接进入下次循环
  • continue 关键字可用于 for 循环和 while循环
  • continue 关键字只作用当前循环外部循环没有作用
for X in range(1,4,2):
    print(X)
    continue
    print('aaa')
# 1
# 3
  • break 关键字直接结束当前循环
  • break 关键字可用于 for 和 while 循环
for X in range(1,4):
    print(X)
    break
    print('aaa')
# 1

range语句生成简单数字序列

  • range()可以获取一个数字序列
  • 语法有三种
    range(2) 表示从0-1的一个序列 [0,1]
    range(2,4)表示从2-3的一个序列 [2,3]
    range(2,7,2)表示从2-7但不包括7中能整除2的数字组成的序列 [2,4,6]
ran = range(5)
for x in ran:
    print(x)
# print输出
# 0
# 1
# 2
# 3
# 4

ran = range(2,5)
for x in ran:
    print(x)
# print输出
# 2
# 3
# 4

for x in range(3,9,2):
    print(x)
# print 输出
# 3
# 5
# 7

函数

  • 用 def 定义函数
  • return 返回值,return之后不会再执行
  • 函数体内部是局部作用域,外部不能访问函数内声明的变量
  • 函数可以返回多个返回值
  • 函数传参方式有 按顺序传参、关键字传参、
  • 关键字传参可以不按顺序,也可以和按顺序传参混用,顺序传参要写到前面
  • 函数参数可以设置默认值,当不传参时使用默认值
  • 不定长参数(位置传递) *args 所有传入的参数会args 变量收集,并以元组的形式返回
  • 关键字不定长参数 **kwargs所有以键值对形式传入的参数都会存到 **kwargs 变量中并以对象的形式返回{"aa": 11,"bb": 22}
def sey_hello(a):
    """
    :param a: 传入姓名
    :return:
    """
    return print(f"{a},你好")
sey_hello("python")

# 函数返回多个值
def my_return():
    return 1, "aa"
a, b = my_return()
print(a, b) # 1 aa

lambda 匿名函数

  • 匿名函数只能临时使用一次
  • 匿名函数只能写一行代码,无法写多行代码
def my_fun (c):
    return c(1,3)
num =  my_fun(lambda a,b: a + b)
print(num) # 4

global 关键字

  • global 关键字可以把局部变量变为全局变量
num = 1
def sey_hello():
    global num
    num = 2
sey_hello()
print(num)

list 列表

  • 列表每个元素都有一个编号叫下标索引
  • 从前向后,索引从0开始,从后往前索引从-1开始
list = [11,22,33]
print(list[0]) # 11
print(list[-1]) # 33
  • 查找列表中的元素,返回索引 list.index('值')
list = [11,22,33]
print(list.index(22)) # 1
  • 通过索引在指定位置插入元素
list = [11,22,33]
list.insert(1,44)
print(list) # [11, 44, 22, 33]
  • 把元素添加在列表的最后
list = [11,22,33]
list.append(44)
print(list) # [11, 22, 33, 44]
  • 把一个列表添加在另一个列表的尾部
list = [11,22,33]
list2 = [44,66]
list.extend(list2)
print(list) # [11, 22, 33, 44, 66]
  • 通过下标删除列表中的元素
list = [11,22,33]
del list[2]
print(list) # [11, 22]
  • 把列表中的元素删除,并返回删除的元素
list = [11,22,33]
newlist = list.pop(2)
print(list,newlist) # [11, 22] 33
  • 只删除列表中匹配的第一个元素
list = [11,22,33,22]
list.remove(22)
print(list) # [11, 33, 22]
  • 清空列表
list = [11,22,33,22]
list.clear()
print(list) # []
  • 查找列表中某个元素的个数
list = [11,22,33,22]
num = list.count(22)
print(list,num) # [11, 22, 33, 22] 2
  • 统计列表中元素的个数
list = [11,22,33,22]
num = len(list)
print(list,num) # [11, 22, 33, 22] 4
image.png

循环列表

1)通过 while循环列表

idx = 0
list = [11,22,33,55]
while idx < len(list):
    print(list[idx])
    idx += 1
# 11
# 22
# 33
# 55
  1. 通过 for 循环列表
list = [11,22,33,55]
for X in list:
    print(X)
# 11
# 22
# 33
# 55

元组

  • 元组和列表的区别是不能修改,添加,删除元素
  • 如果元组中只有一个元素那么元素后需要加","
t1 = (11,'aaa',13)
t2 = ()
t3 = tuple()
t4 = ("AA",)
print(type(t1)) # <class 'tuple'>
print(t1[2]) # 13

字符串的方法

  • 字符串.index("值")方法,返回查找元素的索引
str = "12311213"
print(str.index('2')) # 1
  • 字符串.replace("被查找的元素","替换后的元素"),返回一个替换后的新字符串
str = "12311213"
print(str.replace('12','aa')) # aa31aa13
  • 字符串.split("分割字符"), 返回一个分割后的列表
str = "12311213"
print(str.split("2")) # ['1', '311', '13']
  • 字符串.strip(元素),返回一个去掉前后空格的新字符串,如果传入参数就是删除指定的元素
str = " 1231 12 13 "
print(str.strip("1")) #  1231 12 13 

str2 = "1231 12 13"
print(str2.strip()) # 1231 12 13
  • 字符串.count(值),返回传入元素存在的个数
str2 = "1231 12 13"
print(str2.count('3')) # 2
  • len(字符串),返回字符串的长度
str = "12313"
print(len(str)) # 5
image.png

列表切割

  • 语法:列表[起始下标,结束下标,步长]
  • 表示从起始下标开始,到结束下标(不包含)结束,间隔步长进行切割,得到一个新列表
  • 起始下标可以留空,表示从头开始
  • 结束坐标可以留空,表示截取到结尾
  • 步长如果为1,可以省略
  • 步长表示截取的间隔,步长为负数表示倒着截取
  • 数组和元组用法相同
arr = [1, 2, 4, 5, 6, 7]
print(arr[:])  # 表示从开头截取到末尾 [1, 2, 4, 5, 6, 7]
print(arr[::-1])  # 表示从末尾截取到开头 [7, 6, 5, 4, 2, 1]
print(arr[2:4])  # 表示从4截取到5,步长为1 [4, 5]
print(arr[4:1:-1])  # 表示从6截取到4,步长为1 [6, 5, 4]

对象 set() & { }

  • 对象中的每个元素不能重复,并且是乱序,不支持下标索引
  • 对象.add(元素),对象中添加元素
  • 对象.remove(元素),删除对象中的元素
  • 对象.pop(),随机取出对象中的一个元素
  • 对象.clear(),清空对象
  • 对象.difference_update(对象2),删除对象1中的包含对象2中的元素
  • 对象.union(对象2),合并对象1和对象2,返回一个新对象
  • len(对象),查看对象中的元素数量
  • 对象.keys(),获取对象中的所有键值对的键
set = {1,2,4,5,2}
set.add(44)
print(set) # {1, 2, 4, 5, 44}

set.remove(1)
print(set) # {2, 4, 5, 44}

new_set =  set.pop()
print(new_set) # 1

set.clear()
print(set) # set()

set1 = {1,23,45,67}
set2 = {1,3,6,8}
set1.difference_update(set2)
print(set1) # {67, 45, 23}
print(set2) # {8, 1, 3, 6}

set3 =  set1.union(set2)
print(set3) # {1, 67, 3, 6, 23, 8, 45}

print(len(set3)) # 7

dict = {"aa":1,"bb":2,"cc":3}
keys = dict.keys()
print(keys)  # dict_keys(['aa', 'bb', 'cc'])
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容