PythonDay01

一、注释

1、单行注释

# 单行注释

2、多行注释

'''
多行注释
'''

"""
多行注释
"""

二、定义变量

1、要求

'''
    变量的定义要求:
        1、命名要求:字母、数字、下划线
        2、注意:数字不能作为开头
                不能以关键字作为变量名
                
'''

2、代码

i = 'helloword'
print(i)

结果:

helloword
'''
    变量定义
    定义即赋值,定义的时候不需要指定数据类型。python执行器可以自动判断
    
'''
var1 = "word"
print(var1, type(var1))

var1 = 1
print(var1, type(var1))

结果:

word <class 'str'>
1 <class 'int'>

三、关键字

import keyword

print(keyword.kwlist)

结果:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

四、print函数

print(1, 2, 3, 4)
print("hello", end='')
print("world")

结果:

1 2 3 4
helloworld

五、基本数据类型

# 5种基本的数据类型
'''
    整型:int
    字符串:str
    浮点型:float
    布尔类型:bool
    空类型:NoneType
    
    注意:
        1、bool类型中的True和False需要首字母大写 
        2、变量类型可以自动去判断
        3、字符串中单引号和双引号不区分
'''

1、整型

var1 = 1
print(var1, type(var1))

结果:

1 <class 'int'>

2、字符串类型

var1 = "str"
print(var1, type(var1))

结果:

str <class 'str'>

3、小数类型

var1 = 1.1
print(var1, type(var1))

结果:

1.1 <class 'float'>

4、布尔类型

var1 = True
print(var1, type(var1))

结果:

True <class 'bool'>

5、空类型

var1 = None
print(var1, type(var1))

结果:

None <class 'NoneType'>

六、类型之间的相互转换

1、从字符串转成int类型

s = '1'
print(int(s), type(int(s)))

结果:

1 <class 'int'>

2、字符串转换成浮点型

s1 = '1.1'
print(float(s1), type(float(s1)))

结果:

1.1 <class 'float'>

3、float转换成int

f1 = 3.14
print(int(f1), type(int(f1)))

结果:

3 <class 'int'>

4、丢失精度时 不会去做四舍五入

f1 = 3.6
print(int(f1), type(int(f1)))

结果:

3 <class 'int'>

5、布尔类型

数值0 转换成bool类型时 会默认转换成False
数值1 转换成bool类型时 会默认转换成True

b = 0
print(bool(b), type(bool(b)))
b = 1
print(bool(b), type(bool(b)))
b = 3
print(bool(b), type(bool(b)))

结果:

False <class 'bool'>
True <class 'bool'>
True <class 'bool'>

七、字符串的常见操作

str1 = "java Python scala sql"

结果:

['java', 'Python', 'scala', 'sql'] <class 'list'>

1、split切分

str2 = str1.split(" ")
print(str2, type(str2))

结果:

 java Python scala sql 	 

2、strip 去除 字符串两边的隐藏字符

# \t 表示一个制表符
# \n 表示换行
# \r 表示回车
str3 = "\t \n java Python scala sql \t \n\r"
print(str3)
str4 = str3.strip()
print(str4, type(str4))

结果:

java Python scala sql <class 'str'>

3、字符串的切分

# 规则:[开始位置:结束位置:步长]
# 开始位置是从0开始
# 结束位置不包含 即 取值区间是一个左闭右开区间
print(str1[5:11])

结果:

Python

1、步长

print(str1[5:11:2])

结果:

Pto

2、反转

print(str1[::-1])

结果:

lqs alacs nohtyP avaj

3、反转Python

print(str1[-16:-10])

结果:

Python

4、负值取值从后往前数

print(str1[-10:-16:-1])

结果:

 nohty

5、获取字符段长度

print(len(str1))

结果:

21

6、字符串的索引

print(str1[0])

结果:

j

八、格式化

a = 10
b = 3
print(a, '*', b, '=', a * b)

结果;

10 * 3 = 30

1、方式一

str_format = "{} * {} = {}"
print(str_format.format(a, b, a * b))

结果:

10 * 3 = 30

2、方式二

# %d 表示数字
# %s 表示字符串
# %f 表示浮点型
# %.nf 表示输出小数点后n位
print("%d * %d = %d" % (a, b, a * b))
print("%s * %d = %d" % ('4', b, a * b))
print('%f'%3.14)
print('%.1f'%3.14)

结果:

10 * 3 = 30
4 * 3 = 30
3.140000
3.1

九、算术运算符

# + - * / % // **
a = 10
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)
print(a // b)
print(a ** b)

# 如果是两个 ** 号 则需要从后往前计算
print(2 ** 3 ** 2)  # 512
# 如果是两个 // 号 则需要从前往后计算
print(10 // 3 // 2)  # 1

结果:

13
7
30
3.3333333333333335
1
3
1000
512
1

十、列表

1、定义

定义:[] 定义一个list
'''
    特点;
        1、可以存储不同类型的数据
        2、可以存储相同数值数据
        3、存储数据内容是有序的
        4、列表中的元素是可以被删除的
        5、列表中可以嵌套列表
'''
list1 = [1, 1, 2, 3, 1.1, True, "str"]
print(list1)

结果:

[1, 1, 2, 3, 1.1, True, 'str']

2、取元素

# 通过索引(index)取值,从0开始取值
print(list1[0])
1

3、切片

# 规则:[开始位置:结束位置:步长]
print(list1[::])

结果:

[1, 1, 2, 3, 1.1, True, 'str']

4、反序列取值

print(list1[::-1])

结果:

['str', True, 1.1, 3, 2, 1, 1]

5、修改元素

list1[2] = "A"
print(list1)

结果:

[1, 1, 'A', 3, 1.1, True, 'str']

6、删除元素

# pop方法:删除列表中最后一个元素
list1.pop()
print(list1)

结果:

[1, 1, 'A', 3, 1.1, True]

7、remove

# remove:删除列表中指定的值,如果出现重复,那么就删除第一个出现的值
list1.remove(1)
print(list1)

结果:

[1, 'A', 3, 1.1, True]

8、增加元素

# append:在列表的末尾进行追加元素
list1.append([1, 2])
print(list1)

结果:

[1, 'A', 3, 1.1, True, [1, 2]]

9、insert

# insert:在列表指定索引位置插入元素
list1.insert(4, False)
print(list1)

结果:

[1, 'A', 3, 1.1, False, True, [1, 2]]

10、其他函数

1、排序

list2 = [3, 4, 1, 2]
list2.sort()
print(list2)

结果:

[1, 2, 3, 4]

2、倒序

print(list2[::-1])

结果:

[4, 3, 2, 1]

3、合并

# extend函数:将另外一个列表追加到当前列表之后
list3 = [6, 7, 8, 9]
list1.extend(list3)
print(list1)

结果:

[1, 'A', 3, 1.1, False, True, [1, 2], 6, 7, 8, 9]

4、+

# +:将两个list 合并成一个新的 list
list4 = list2 + list3
print(list4)

结果:

[1, 2, 3, 4, 6, 7, 8, 9]

5、反转

list4.reverse()
print(list4)

结果:

[9, 8, 7, 6, 4, 3, 2, 1]

6、统计

list5 = [1, 1, 2, 3, 1]
print(list5.count(1))
print(list5.count('1'))

结果:

3
0

7、清除

list5.clear()
print(list5)

结果:

[]

十一、元组

1、定义

# 定义:通过() 进行定义
'''
    特点:
        1、可以存储同步数据
        2、可以存储不同类型的数据
        3、元组是有序的
        4、元组是不支持修改的
'''
tuple1 = (1, 1, 2, 3, 1.1, True, 'str')
print(tuple1)

结果:

(1, 1, 2, 3, 1.1, True, 'str')

2、取元素

print(tuple1[3])

结果:

3

3、其他方法

1、count

# count:统计
print(tuple1.count(1))

结果:

3

十二、set集合

1、定义

# 定义:set集合使用{}
'''
    特点:
        1、set集合可以存储不同的数据类型
        2、set集合是无序的
        3、set集合存储不了重复数据
'''
set1 = {1, 1, 2, "hello", False, 1.1}
print(set1)

结果;

{False, 1, 2, 1.1, 'hello'}

2、取元素

# set集合不能通过下标取数据
# print(set1[2])
for i in set1:
    print(i)

结果:

False
1
2
1.1
hello

3、删除数据

set1.pop()
print(set1)

set1.remove("hello")
print(set1)

结果:

{1, 2, 1.1, 'hello'}
{1, 2, 1.1}

4、增加元素

set1.add(1)
set1.add(2)
set1.add(3)
print(set1)

结果:

{1, 2, 1.1, 3}

5、集合运算

set2 = {2, 3, 4}
set3 = {3, 4, 5}
print(set2 & set3)
print(set2 | set3)
print(set2 - set3)  # - 号 是指去除set2中set2与set3重复的元素

结果:

{3, 4}
{2, 3, 4, 5}
{2}

十三、字典

1、定义

# 定义:{k:v}
'''
    特点:
        1、不可以存储相同key的数据,默认存储后一个相同key的value值
        2、需要通过key进行取值
        3、当key中出现0和True以及0和False后会出现相同key替换现象(特点1)
        4、字典中的key为不可变元素,value中可以存储任意类型元素
        5、字典中的value值可以直接根据类型取出
        6、查询速度并不会随着元素的增多而变慢
'''
dict1 = {
    'x1': 'x1',
    'x1': 'x2',
    1: '1',
    0: '0',
    True: "true",
    False: "false",
    (1, 2, 3): "tuple(1,2,3)",
    # [1, 2, 3]: "list[1,2,3]",
    "xx1": [1, 2, 3],
    "xx2": {
        "xxx1:": "vvv1",
        "xxx2": {"xxxx1": "4x1"}
    }
}
print(dict1)

# 取元素
# 无法通过index进行取值
print(dict1[0])

# 通过key进行取值
# 方式一:
print(dict1['x1'])
# 方式二:
dict1.get('x1')
# 改变Key对应的Value值
# 方式一:
dict1['x1'] = 'x3'
print(dict1)

# 常规操作
print("所有keys", dict1.keys())
print("所有values", dict1.values())
print("所有k-v", dict1.items())

# 扩充字典
print(dict1)

# 取嵌套字典值
print(dict1.get('xx2').get('xxx2').get("xxxx1"))

结果:

{'x1': 'x2', 1: 'true', 0: 'false', (1, 2, 3): 'tuple(1,2,3)', 'xx1': [1, 2, 3], 'xx2': {'xxx1:': 'vvv1', 'xxx2': {'xxxx1': '4x1'}}}
false
x2
{'x1': 'x3', 1: 'true', 0: 'false', (1, 2, 3): 'tuple(1,2,3)', 'xx1': [1, 2, 3], 'xx2': {'xxx1:': 'vvv1', 'xxx2': {'xxxx1': '4x1'}}}
所有keys dict_keys(['x1', 1, 0, (1, 2, 3), 'xx1', 'xx2'])
所有values dict_values(['x3', 'true', 'false', 'tuple(1,2,3)', [1, 2, 3], {'xxx1:': 'vvv1', 'xxx2': {'xxxx1': '4x1'}}])
所有k-v dict_items([('x1', 'x3'), (1, 'true'), (0, 'false'), ((1, 2, 3), 'tuple(1,2,3)'), ('xx1', [1, 2, 3]), ('xx2', {'xxx1:': 'vvv1', 'xxx2': {'xxxx1': '4x1'}})])
{'x1': 'x3', 1: 'true', 0: 'false', (1, 2, 3): 'tuple(1,2,3)', 'xx1': [1, 2, 3], 'xx2': {'xxx1:': 'vvv1', 'xxx2': {'xxxx1': '4x1'}}}
4x1

2、遍历容器

'''
    1、列表 List
    2、元组 tuple
    3、集合 set
    4、字典 dict
'''
# 遍历列表
ls1 = [3, 4, 5]
for i in ls1:
    print(i)

# 遍历元组
tup1 = (3, 4, 5)
for t in tup1:
    print(t)

# 遍历集合set
set4 = {4, 4, "hello", True}
for s in set4:
    print(s)

# 字典dict
dict2 = {
    'xx1': 'xx1',
    'xx2': 'xx2',
    'xx3': 'xx3'
}
for key in dict2.keys():
    print(key)

for values in dict2.values():
    print(values)

for kv in dict2.items():
    print(kv[0], kv[1])

for k, v in dict2.items():
    print(k, v)

结果:

3
4
5
3
4
5
True
4
hello
xx1
xx2
xx3
xx1
xx2
xx3
xx1 xx1
xx2 xx2
xx3 xx3
xx1 xx1
xx2 xx2
xx3 xx3

3、range 函数

# range 传值是一个区间 区间是左闭右开 开始位置如果是0 可以不写
for i in range(0, 10):
    print(i)

# 步长
for j in range(1, 10, 2):
    print(j)

# 需求:获取一个从1...100的列表
# 方式一:
list6 = []
for i in range(1, 100 + 1):
    list6.append(i)
print(list6)

# 方式二:
# 列表推导式
list7 = [i for i in range(1, 101)]
print(list7)

# 需求:获取一个从1...100的集数列表
# 方式一:
list7 = [i for i in range(1, 101) if i % 2 == 1]
print(list7)
# 方式二:
list7 = [i for i in range(1, 101, 2)]
print(list7)

结果:

0
1
2
3
4
5
6
7
8
9
1
3
5
7
9
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]

4、join 和 split

str2 = "java,python,scala"
print(str2.split(','))
list8 = str2.split(',')
print(','.join(list8))

# 九九乘法表
print("\n".join(['\t'.join(['{} * {} = {}'.format(j, i, j * i) for j in range(1, i + 1)]) for i in range(1, 10)]))

结果:

['java', 'python', 'scala']
java,python,scala
1 * 1 = 1
1 * 2 = 2	2 * 2 = 4
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘浩浩yyds

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值