Python 学习笔记

自学的Python,只是做个笔记

源码:

GitHub链接:https://github.com/ldl326308/python-basics

 

百度网盘链接:https://pan.baidu.com/s/1ridE8KU4fF3N8JKRQzbVMA
提取码:cgec

 

 

 

1、关于数据类型

# -*- coding:UTF-8 -*-

# 1、数据类型
number1 = 10
number2 = 10.2
str1 = '这是一个字符串'
# 注意布尔值的关键字首字母要大写
flag = False
obj = None

print('输出函数print()的相关用法')
# 输出函数 print()
print(number1)
print('哈哈', str1)
print('''
    这
    个
    就
    牛
    掰
    了
''')

print('转义符的使用=========')
# 转义符
print('我是\'归途\'')

# 加字母 r 在输出语句最前面,输出内容不再被转义
print(r'我是\\\n\\')
print('\n')

print('逻辑运算符 and or ')
# 逻辑运算符 and or
print(True and True)
print(False or True)
print(6 > 9 and 4 > 7)
print(3 > 4 or 6 > 2)

print('单目运算符 not ')
# 单目运算符 not
print(not True)
print(not 1 > 2)

print('两种除法 "/" 和 "//" ')
# 两种除法:第一种 '/' 第二种 '//'
print(10 / 3)
print(9 / 3)
print(10 // 3)

print("运算符 % ")
print(20 % 9)

 

2、list 和 tuple 集合

# -*- coding:UTF-8 -*-
# list 有序集合,是有序、有序、有序的
fruits = ['orange', 'apple', 'banana', 'pineapple']
print(fruits)

# 输出 fruits 集合的长度用函数 len()
print('fruits 集合的长度是:', len(fruits))

# 取出元素语法:集合名称[索引]
# 注意:索引是从 0 开始的,索引可以是负数,如:-1 指的是取集合倒数第一个
print(fruits[0])
print(fruits[-1])

# 添加元素语法:集合名称.append(要添加的内容)
# 这是追加到最后的位置
fruits.append('chestnut')

# 插入到指定位置语法:集合名称.insert(索引, 内容)
fruits.insert(1, 'pear')

# 删除集合元素语法:
# 集合名称.pop()    这是删除最后的
# 集合名称.pop(1)   删除索引是1的元素
fruits.pop()
fruits.pop(1)

# 元素替换语法:集合名称[0] = 'sarah'
fruits[0] = 'sarah'

# list 集合里的元素可以是不同的类型
obj = ['apple', 123, False]

# list 元素也可以是另一个list
obj2 = [obj, '听闻', True]

# 案例2
p = ['java', 'php']
s = ['python', p, 'C#']

# 如果要获得 list 集合 s 中的 Java,可以把这个list看成是一个二维数组
print(s[1][0])

# 第二种有序列表,tuple 和 list 非常相似,tuple 初始化后不可以进行修改
tuple1 = ('java', 'php', 'C#', 'JavaScript')
# tuple 没有append()、insert()这样的方法,获取元素的方式是一样的
print(tuple1[0])
print(tuple1[-1])

# 注意:如果你要定义一个元素的tuple集合,那么在元素的后面要加上","
# "()" 可以表示数学公式中的小括号,也可以表示tuple集合,
# 所以需要在定义一个只有一个元素的tuple时加上"," 来消除歧义
tuple2 = (9,)

# tuple中的元素也可以是一个list
tuple3 = ('a', 'b', ['C', 'D'], 'e')
# 注意:集合tuple3 里的list集合元素是可以改变的,
# 因为list元素改变并没有改变tuple3 指向的 list
tuple3[2][0] = 'X'

 

3、dict 和 set(dict:键值对,存储key和value        set:只保存键)

# -*- coding:UTF-8 -*-
# Python内置字典:dict,dict全程dictionary,Java语言中成为map
# 使用键-值(key-value)存储,具有极快的查找速度
scores = {'小明': 95, '小红': 89, '小天': 78}
# 通过 键 去读取 值
print(scores['小明'])
# 通过 键 去写入 值
scores['小红'] = 99

# 使用 in 关键字 判断一个 键 是否存在
print('小明' in scores)

# 通过get()判断 键 是否存在,不存在可以返回自己指定的值
scores.get('小夏', -9)

# 删除使用 pop(key) ,根据 键 删除内容
scores.pop('小明')

# key 是不可变对象


# set和dict类似,是一组key的集合
# 但不存储value,key不能重复
set1 = ([1, 2, 3, 4, 5])
print(set1)

# 重复的元素会自动过滤
set2 = set([1, 1, 1, 23, 4, 3, 2, 4])

# set 添加元素使用 add(key)
# set1.add(6)

# set 删除元素用remove(key),如果没有key值,会抛出异常
# 所以,删除前建议先判断是否存在key
set1.remove(5)

# set 中的 &(交集) 、 |(并集)
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 & s2)
print(s1 | s2)

# 字符串替换 replace('','')
str1 = 'abcde'
print(str1.replace('a', 'A'))

 

4、流程控制语句

# -*- coding:UTF-8 -*-
# 流程控制语句:if、elif、else
age = 20
if age > 30:
    print('age 的值大于 30')
elif age > 18:
    print('age 的值大于 18')
else:
    print("age 的值不大于30也不大于18")

# if 还可以简写,用来判断一个 obj 是非零数值、非空字符串、非空list
x = None
if not x:
    print('x是非零数值或非空字符串或非空list')

# 接收输入内容函数:input()
s = input('birth:')
# 注意:input()返回的数据是string类型
# 需要转换为int才能进行数的比较
birth = int(s)
if birth > 2000:
    print("00后")
else:
    print("00前的老人")

 

5、for、while循环

# -*- coding:UTF-8 -*-

print('循环结合')
# 循环集合,Python中有循环结束执行的函数,如下所示else
# 当然,你不需要也可以去掉
names = ['史森明', '简自豪', '刘世宇']
for name in names:
    print(name)
else:
    print('集合循环结束')

print('数字循环 1 - 10')
# 循环 1 - 10,需要用到一个函数range(起始值,结束值)
# range() 函数可以生成一个整数序列,再通过list()函数转换成list
for i in range(1, 11):
    print(i)
else:
    print('数字循环结束')

print('while循环开始')
# while 循环
n = 0
while n < 10:
    print(n)
    n = n + 1
else:
    print('while循环结束')

print("break、continue的使用")
# 循环中break:结束循环
# continue:跳过此次循环,继续执行下一次
for i in range(1, 20):
    # 当 i 大于10时,用break退出循环
    if i > 10:
        break
    else:
        print(i)

print('使用continue')
# 输出 1 - 10之间的偶数
for n in range(1, 11):
    # n 为奇数是跳过此次循环
    if n % 2 == 1:
        continue
    else:
        print(n)

 

6、函数

# -*- coding:UTF-8 -*-
# 函数,定义函数关键字 def
# 定义一个求和的函数 sum

def summation(number_one, number_two):
    return number_one + number_two


number1, number2 = 20, 10

# 函数调用
number3 = summation(number1, number2)
print(number3)


# 默认参数:如果第二个参数不输入,默认第二个参数为18
# 注意:默认参数指向不变对象
def hello(name, age=18):
    print('我叫', name, '今年', age, '')


# 函数调用
hello('LiuDilin', 20)
hello('LiuMingkai')

print('参数为可变对象,及其发生的问题')


# 参数为可变对象,及其发生的问题
def add_end(L=[]):
    L.append('end')
    return L


# 调用 add_end()
# 第一次执行函数,L = [] ,返回的集合最后被追加了一个'end'元素
print(add_end())
# 第二次执行函数,L 指向的不在是一个空的 集合
print(add_end())

print('参数为不可变对象')


def add_end_two(L=None):
    if L is None:
        L = []
    L.append('end')
    return L


# 调用 add_end_two()
print(add_end_two())
print(add_end_two())
print(add_end_two())

print('=============关键字参数===========')


# 关键字参数
def person(name, age, **lc):
    print('name:', name, 'age:', age, 'other:', lc)


# 调用
person('Michael', 30)
person('Bob', 20, city='珠海', money=88.0)

extra = {'city': '珠海', 'money': 88.0}
person('LiuDilin', 20, **extra)


def say(name, age, *kw):
    print('name:', name, 'age:', age, kw)


say('LiuDilin', 20, 'a', 'b', 'c')


def hello(name, age, *args, city, money):
    print(name, age, args, city, money)


arr = (2, 3, 6, 7)
hello('LiuMingkai', 20, arr[0], arr[1], city='Guangzhou', money=20.9)


def hear(name, *args, **age):
    print(name, age)

 

7,面向对象编程

# -*- coding:UTF-8 -*-
# OOP:面向对象编程
# 创建一个学生类:Student
# object : 表示Student是从object继承下来的
# 字段以:_字段名 意思是私有的,外部不可对其修改


class Student(object):

    # 初始化
    def __init__(self, name, sex, age):
        self._name = name
        self._sex = sex
        self._age = age

    def get_name(self):
        return self._name

    def get_sex(self):
        return self._sex

    def get_age(self):
        return self._age

    def set_name(self, name):
        self._name = name

    def set_sex(self, sex):
        self._sex = sex

    def set_age(self, age):
        self._age = age

    # 打印信息方法
    def print_info(self):
        print('name:%s sex:%s age:%d' % (self._name, self._sex, self._age))

# stu1 = Student('LiuMingkai', '男', 24)
# # Student内部访问是没有问题的
# print(stu1._name)
# stu1.print_info()

 

 

 

 

 

 

归途(LC)

 

转载于:https://www.cnblogs.com/ldl326308/p/10649378.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值