【Python】day01 基础知识

目录

01-Python注释

02-Python变量

03-python数据类型(这里参考了A君的内容)

04-python输出

05-python输入

06-数据类型转换

07-运算符

08-判断语句

09-三目运算符

10-循环语句

11-循环语句-for循环

12-字符串

13-猜数字游戏


因为仅供自己看,所以没有特别将文本内容提到文章外,看起来不好看。另外,这是自己大脑加工过的,一些部分是按照自己的书写习惯和基础写的,如果不符合心意,请多见谅。

01-Python注释

'''
01-python注释
'''

#1.单行注释:在代码上方解释代码内容

'''
多行注释,在函数上方解释函数内容
'''

"""
多行注释(文档注释),在类上方解释类内容
"""

02-Python变量

'''
02-python变量
int age=19,java写法
age=19,python写法
'''

#1.变量
age=19
'''
    变量与常量的区别?
        变量变量值的名称可变,常量不可变
'''
#2.定义变量
"""
    1.命名规则
        *由字母、数字、下划线组成
        *数字不开头
        *不能使用内置关键词
        *严格区分大小写
"""
name="lili"
Name="LilI"
print(name)
print(Name)
"""
    2.命名方式
    *大驼峰 AaaBbb
    *小驼峰 Aaabbb
"""
Student_Name="ZhangSan"
Student_name="Zhangsan"

03-python数据类型(这里参考了A君的内容)

A君:Python中list,tuple,dict,set的区别和用法 - soaringEveryday - 博客园 (cnblogs.com)https://www.cnblogs.com/soaringEveryday/p/5044007.html

'''
03-Python数据类型
数值  int 整型
    float 浮点型
布尔  True  真
     False 假
字符  str===>String
列表  List==>List    []-->列队、列阵等列~ 都是竖着的,列表的符号也是竖着的,中括号
集合  set===>set     S-->S形曲线-->{}
元组  tuple          ()-->元-->圆-->圆形,小括号
字典  disc==>Map     {}-->字典要花钱买-->花-->花括号
Python 自动检测数据类型
    type()
'''
#1.int:<class 'int'>
age=10
#2.float:<class 'float'>
flo=10.0
#3.bool:<class 'bool'>
flag=False
#4.str:<class 'str'>
"""
单引号&双引号
    *输出有单引号就用双引号,反之相反
        my_str = "I'm a student"
        my_str = 'Jason said "I like you"'
    *输出有单引号想用单引号就利用转义字符
        my_str = 'I\'m a student'
        my_str = "Jason said \"I like you\""
"""
my_str = 'Jason said "I like you"'
#5.List:<class 'list'>
'''
    *中括号[]
    *元素类型可以不一样,也可以为空
    *访问
        1.List有序,通过序号访问,从0开始
        2.不能越界
            >>> print L[3]
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            IndexError: list index out of range
        -3.可以倒序访问,-1=倒数第一个元素
            同样不能越界
        4.看后面的内置方法
'''
li=[1,2,3]
lo=['a','b','c']
#6.set :<class 'set'>
'''
    *老师教的——{}
    *调用set()方法创建
        >>> s = set(['A', 'B', 'C'])
    *set相当于没有key的dict,类似List但内容不能重复
    *访问
        1.无序,不包含重复元素
        2.访问意义:仅仅在于查看某个元素是否在这个集合
            (1).直接访问:
                >>> print 'A' in s
                True
                >>> print 'D' in s
                False
            (2).for循环遍历:
                s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
                #tuple
                for x in s:
                    print x[0],':',x[1]
                >>>
                Lisa : 85
                Adam : 95
                Bart : 59
        2.应用——具体看后面   
'''
sett={1,2,3}

#7.tuple:<class 'tuple'>
'''
    *小括号()
    *tuple 看作“不变”的list,可以为空
        %单元素tuple (比如加一个逗号防止和声明一个整形歧义):t = (3.14,)
    *tuple的作用
        *希望一个函数返回多个返回值,只需要返回一个tuple
        *例子
            >>> t = (3.14, 'China', 'Jason', ['A', 'B'])
            >>> print t
            (3.14, 'China', 'Jason', ['A', 'B'])
            >>> L = t[3]
            >>> L[0] = 122
            >>> L[1] = 233
            >>> print t
            (3.14, 'China', 'Jason', [122, 233])
                *Tuple所谓的不可变指的是指向的位置不可变
                *为本例子中第四个元素并不是基本类型,而是一个List类型
                    所以t指向的该List的位置是不变的
                    但是List本身的内容是可以变化的
                    因为List本身在内存中的分配并不是连续的
'''
#8.dict:<class 'dict'>  dictionary--字典
'''
    *花括号{}
    *实质为Key-Value键值对
    *定义【例子】
        >>> d = {
            【Key】:【Value】
            'Adam': 95,
            'Lisa': 85,
            'Bart': 59,
            'Paul': 75
        }
        >>> print d
        {'Lisa': 85, 'Paul': 75, 'Adam': 95, 'Bart': 59}
    *计算长度
        len(d)
    *访问
        1.无序,使用Key访问【相当于找字,然后查它的意思。如查’啊‘key,看字典解释value。】
            (字符串、整型、浮点型和元组tuple都可以作为dict的key)
            *key必须存在
                避免key不存在的方法
                    1.事先查询
                        >>> if 'Adam' in d : print 'exist key'
                        exist key
                    2.get方法【保险】
                        >>> print d.get('Adam')
                        95
                        >>> print d.get('Jason')
                        None
            *key不可变,value可变。
            *key不可重复
        2.遍历
            >>> for key in d : print key, ':', d.get(key)
            Lisa : 85
            Paul : 75
            Adam : 95
            Bart : 59
        3.合并
            1.dict函数:
                >>> d1 = {'mike':12, 'jack':19}
                >>> d2 = {'jone':22, 'ivy':17}
                >>> dMerge = dict(d1.items() + d2.items())
                >>> print dMerge
                {'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
            2.比方法1快
                >>> dMerge2 = dict(d1, **d2)
                >>> print dMerge2
                {'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
                    等价于:
                        >>> dMerge3 = dict(d1)
                        >>> dMerge3.update(d2)
                        >>> print dMerge
                        {'mike': 12, 'jack': 19, 'jone': 22, 'ivy': 17}
'''
di={'ltw':'hanhan','zhangqing':'dacongming','date':2022323}

04-python输出

'''
04-python输出
'''
'''
1.格式输出
'''
name = "张学友"
age = 19
salary = 3500.55
#1.1格式化符号
'''
    1.种类
        %s 字符型
        %f 浮点型
        %d 整型
    2.用法
        哪里缺了补哪里
        多个则按顺序添加
            # 1) 单个格式化输出
            print("我的姓名是:%s"%name)
            print("我的年龄是:%d"%age)
            print("我的薪资是:%f"%salary)
            # 2) 多个格式化输出
            print("我的姓名是:%s,我的年龄是:%d,我的薪资是%f"%(name,age,salary))
    3.特殊输出
        1)%03d 0表示自动添0 3表示3位数    
            num = 1
            print("自动补零操作:%03d"%num)  
        2)%.2f 小数点精确到后两位 
'''
#1.2 python3.6后的字符格式(format)化输出【不熟】
print(f"我的姓名:{name}")
print("{},{}".format("张无忌","张学友"))
#1.3 小符号
    # 转义字符 \n 换行符
print("今天的天气很差,\n没有阳光")
    # 转义字符 \t tab符
print("张老师\t真帅啊")
    # 结束符   end='' 自动去掉print的换行符 加入结束符在里面
print("张老师真胖啊",end="#")
print("张老师真没啊")

05-python输入

'''
05-python输入
    raw_input 2.0
    input     3.0
input==>输入的内容会自动转换成字符型
'''
name = input("inter:")
print("show:",name)
print("showtype:",type(name))

06-数据类型转换

'''
06-数据类型转换
    1.int()     整型
    2.float()   浮点型
    3.str()     字符型
    *4.repr()   字符型
    repr(x)  将对象x转换为表达式字符串
        str()&repr()
            简单版:
                str()输出为引号内内容
                repr()输出为含引号的全部内容
    *5.complex(real,[,imag])复数,前实部后虚部
    6.tuple(s)  将序列s转换为元组
    7.list(s)   将序列s转换为列表
    *8.eval()   计算字符串中有效python表达式,并返回一个对象
        对于许多类型来说,当字符串传到eval()函数中时,这个函数尝试返回一个与对象值相同的字符串。
'''
# 1.int()
st = "19"
print("1.int()转换前:",type(st))
print("1.int()转换后:",type(int(st)))

# 2.float()
ft = "36.88"
print("2.float()转换前:",type(ft))
print("2.float()抓换后:",type(float(ft)))


# 3.str()
it = 23
print("3.str()转换前:",type(it))
print("3.str()转换后:",type(str(it)))

# 4.tuple()
tp = [18,'张无忌',36]
print("4.tuple()转换前:",type(tp))
print("4.tuple()转换后:",type(tuple(tp)))

# 5.list()
lt = "张无忌很帅啊"
print("5.list()转换前:",type(lt))
print("5.list()转换后:",type(list(lt)))


# 6.eval()
el = "[1,2,3]"
el = '(100,100,100)'
print("6.eval()转换前:",type(el))
print("6.eval()转换后:",type(eval(el)))
print(eval(el))

07-运算符

'''
07-运算符
1.算术运算符
    +-*/
    **  指数运算符(幂运算)
    //  地板除
        地板除&天花板除
        向下取整&向上取整
    %   取余运算
    ()  小括号
2.赋值运算符
    =
3.复合赋值运算符
    -= += *= /= **= //= %=
4.比较运算符
    < > != == [<> 不等于] <= >= is
5.逻辑运算符
    and(且)or(或)not(非)
'''
'''
1.算术运算符
'''
# **
a=2**3
print("a=",a)
# //
b=9//4
print("b=",b)
# %
c=9%4
print("c=",c)
# *
d=2*(1+3)
print("d=",d)
'''
2.赋值运算符=
'''
a = 2
'''
3.复合赋值运算符
'''
e=10
# **=
e **=2
print("e=",e)
# //=
e //=2
print("e=",e)
# /= 得出小数点
e /=2
print("e=",e)
# %=
e %=2
print("e=",e)
'''
4.比较运算符
== 比较的值
is 比较值和地址
    查看变量的地址————>id()
'''
# == is
f=10
g=10
print("id-f:",id(f))
print("id-g:",id(g))
print("10:",id(10))
print("==:",f==g)
print("is:",f is g)

a = 30
b = 29

print(id(a))
print(id(b))
# 地址值中指向的值比较
print(a == (b+1))
print(a is (b+1))
# !=
a = 30
b = 40
print("!= 不等于",a != b)
'''
5.逻辑运算符
'''
#and 同真为真 短路
a=1
b=2
print("and:",a == 1 and b==2)
#or 同假为假 短路
print("or:",a != 1 and b!=2)
#not
print("not:",not a == 1)

08-判断语句

'''
08-判断语句
if elif else
    使用方法:
        if-->提出条件
        (elif:先前条件不满足,还有商量的余地,elif后面跟的就是‘余地’)
        else>否则
    【简单:代码为老师代码】
'''
# 房子
house = 1000000
# 车子
car = 100000
# 存款
money = 100000
# 薪资
salary = 20000

'''
1.if语句
if 条件表达式
    代码块
'''
if salary >= 20000:
    print("我可以找对象啦")

'''
2.if else语法
if 条件表达式:
    代码块1
else:
    代码块2
'''
if salary > 20000:
    print("我可以找对象啦")
else:
    print("我还是个小朋友")

'''
3.if elif else 语法
if 条件表达式1:
    代码块1
elif 条件表达式2:  
    代码块2
else:
    代码块3
'''
if car < 50000:
    print("我是一个单身狗")
elif car > 50000:
    print("我可以找女朋友啦")
else:
    print("我还是继续单身吧")

'''
4.if的嵌套
'''
# 有房子吗?
if house >= 1000000:
    print("我们可以试一试")
    if car >= 100000:#有车吗
        print("我现在就是你的女朋友啦")
        if money >= 100000:# 有存款吗
            print("我们啥时候见咱爸妈")
            if salary >= 20000:
                print("老公,咱们现在就去领证啦")
            else:
                print("哎,有缘无份啊")
        else:
            print("没钱,还来相亲啊")
    else:
        print("我还有点事情,要先走啦")
else:
    print("我喜欢头圆的")

09-三目运算符

'''
09-三目运算符
(Java :条件表达式?值:值)
    值 if 条件表达式 else 值
'''
#不能写成,b=10 if a!=0 else b=20,理解--运算对象唯一,为b
a=0
b=10 if a!=0 else 20
print("b=",b)
'''
猜数字游戏
1.随机产生0-100之间的随机数
2.用户输入数字
3.判断是否
    大了,小了,对了,输入有误
使用if语句进行判断  截图到大群里面
'''
import random
randomnum=random.randint(0,100)
userNum = int(input("请输入你想要猜的数字(0,100):"))
if userNum>randomnum:
    print("big")
elif userNum<randomnum:
    print("small")
elif userNum == randomnum:
    print("right!")
else:
    print("wrong")

10-循环语句

'''
10-循环语句
    1.意义
        某事重复执行
    2.语法
        2.1 形式
            开锁匠
            while 判读语句(门锁):
                循环体(开锁匠调锁)
        2.1 结束关键词
            continue 跳出本次循环
            break    跳出整个循环
    3.应用
        3.1累计运算
            3.1.1
            3.1.2
    4.循环嵌套
        4.1每个门内都要有个开锁匠,老师的例子
        4.2应用@
            4.2.1 打印星号*  正方形 5*5
            4.2.2 打印星号*  三角形 5*5
            4.2.3 打印九九乘法表
                  要求:
                  1.小数字在前  1 * 9 = 9
                  2.自动补零    1 * 1 = 01
'''
#2.1 形式
index=1
while index<10:
    print("2")
    index +=1
#2.2 结束关键词
#continue
while index<10:
    if index ==3:
        print("3")
        continue
    print("2")
    index +=1
#break
while index<10:
    if index ==3:
        print("3")
        break
    print("2")
    index +=1
#3.1累计运算
#3.1.1 + 循环1-100之间的累加和
sum1=0
while index<=100:
    sum1 +=index
    index +=1
print("sum1=",sum1)
#3.1.2   循环1-100之间的偶数累加和
sum2=0
while index<=100:
    if(index%2==0):
        sum2 +=index
    index +=1
print("sum2=",sum2)
#4.1
index = 0
while index < 100:
    ix = 0
    while ix  < index:
        print("媳妇我错了")
        ix += 1
    print("我去刷碗了")
    index += 1
#4.2.1 打印星号*  正方形 5*5
#@ end=''第一次写的时候不会用 end="s",以s结尾
row =1
while row <=5:
    col=1
    while col<=5:
        print("*",end='')
        col+=1
    print("\n",end='')
    row+=1
#4.2.2 打印星号*  三角形 5*5
row =1
while row <=5:
    col=1
    while col<=row:
        print("*",end='')
        col+=1
    print("\n",end='')
    row+=1
'''
4.2.3 打印九九乘法表 
          要求:
          1.小数字在前  1 * 9 = 9
          2.自动补零    1 * 1 = 01 
'''
row =1
while row <=9:
    col=1
    while col<=row:
        print("%d*%d=%02d "%(row,col,row*col),end='')
        col+=1
    print("\n",end='')
    row+=1

11-循环语句-for循环

'''
for循环:
    1.语法
        1.1 for in
            for 临时变量 in 序列:
                执行语句1
                执行语句2
                ~~~~~~
        1.2 for else
            for 临时变量 in 序列:
                执行语句1
                执行语句2
                ~~~~~~
            else:
                执行语句1
                ~~~~~~
            1.2.1 序列有值 执行完for再执行else
            1.2.2 序列为空 直接执行else
    2.退出循环 sys.exit(0) @
'''
#1.1
name='Helloworld'
for ch in name:
    print("for in :",ch)
#1.2.1
for ch in name:
    print("for else:",ch)
else:
    print("ok")
#1.2.2
for ch in "":
    print("for else:",ch)
else:
    print("ok?")
#2
import sys
for ch in name:
    if ch=='l':
        print("exit")
        sys.exit(0)
    else:
        print("sys:",ch)

12-字符串

'''
12-字符串
    1.定义
        1.'' ""表示字符
        2.type()--> <class 'str'>
        3.'''''' 和""""""(支持格式较多)
        4.三引号支持换行
    2.下标
        1.表示:[] 
        2.从左向右,从0开始
        2.len()————>获取总长
    3.切片
        1.表示:[起始位置(默认从0):结束位置(默认尾字符):步长(默认为1)]
        2.原则:从左往右,左闭右开
        3.步长为负:
            从右往左,从-1开始
        自己补充:其实管它怎么定义的
            步长就是 +步长
            只要记住从右往左数是从0开始,0,1,2,~~~
            从左往右数是从-1开始,-1,-2,-3,~~~
            然后位置就是+步长
    例子:老师的            
            
            
'''
address = "江苏省徐州市铜山区上海路102号"
# 3.1  铜山区上海路102号   6<=  <17
print(address[6:])

# 3.2 江苏省徐州市   0<=   <6
print(address[:6])

# 3.3 江 省 州 铜 区 海 1 2
print(address[::2])

# 3.4 铜山区
print(address[6:9])

# 3.5 从右往左
print(address[::-1])

# 3.6 市 州  徐
print(address[-11:-14:-1])

# 3.7 102
print(address[-4:-1])

13-猜数字游戏

'''
猜数字游戏
1.随机产生0-100之间的随机数
2.使用while True:死循环 直到猜对为止
3.使用input函数输入用户所猜的数字
4.大了 小了 对了(退出系统)  输入有误
'''
import random
randomnum = random.randint(0,100)
count = 0
while True:
    username = int(input("请输入您想要猜测的数字(0,100):"))
    if username>0 and username<100:
        if username == randomnum:
            print("You're right!")
            break
        elif username>randomnum:
            print("big!")
        else:
            print("small!")
    else:
        print("not in 0,100!")
    count +=1
print("count:",count)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。 2.三层架构 表现层: 是用于展示数据的 业务层: 是处理业务需求的 持久层: 是和数据库交互的 3.持久层的技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate: Spring中对jdbc的简单封装 Apache的DBUtils: 它和Spring的JdbcTemplate很想,也是对Jdbc的简单封装 以上这些都不是框架 JDBC是规范 Spring的JdbcTemplate和Apache的DBUtils都只是工具类 4.mybatis的概述 mybatis是一个持久层框架,用java编写的。 它封装了jdbc操作的很多细节,开发者只需要关注sql语句本身,无需关注注册驱动,创建连接等繁杂过程 它使用了ORM思想实现了结果集的封装。 ORM: Object Relational Mappinng 对象关系映射 简单的说: 就是把数据库表和实体类及实体类的属性对应起来 让我们可以操作实体类就实现操作数据库表。 user User id userId user_name userName 今天我们需要做到 实体类中的属性和数据库表的字段名称保持一致 user User id id user_name user_name 5.mybatis的入门 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao接口 第三步:创建Mybatis的主配置文件 sqlMapConfig.xml 第四步:创建映射配置文件 IUserDao.xml 环境搭建的注意事项: 第一个:创建IUserDao.xml 和 IUserDao.java 时名称是为了和我们之前的只是保持一致。 在Mybatis中它把持久层的接口名称和映射文件叫做:Mapper 所以:IUserDao 和 IUsrMapper 是一样的 第二个:在idea中创建目录的时候,它的包是不一样的 包在创建时:com.itheima.dao它是三级结构 目录在创建时:com.itheima.dao是一级目录 第三个:mybatis的映射配置文件位置必须和到接口的包结构相同 第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名 第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名 当我们遵从了第三、四、五之后,我们在开发中就无需再写dao的实现了。 mybatis的入门案列

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值