python语法(一)适合从java自学python

        前言:从自研跳到了外包,工资涨了20%,这里是指每个月固定工资哦,其实相比我上家公司总体工资来说差不了多少,因为我上家公司有出差补贴。但是相比于上家公司空闲了很多,给了我很多空闲时间去思考。有时候在想辞职是好是坏,毕竟上家公司也是挺大一家上市公司,领导挺器重我,我辞职也是挽留了三次,直到最后留不住了才给我批条子。走的前一天部门老大还专门请我吃了顿饭,让我出去看一圈工作如果没合适的让我再回公司。然后这边外包吧虽然清闲但是就是感觉没有在上家公司那么温馨的感觉了~一个人孤独的上班没事做就会想着以后的出路,看着论坛上大龄程序员的困境,于是就想着开个网店写自动化脚本,爬虫这些东西。下面就是最近看的python的一些语法

        1、python的打印

print('hello\nworld') #换行
print('hello\tworld') #制表符(前面的如果是四的倍数则是空格为4个,如果有余数则空格为4-余数)
print('helloooo\tworld')
print('hwww\rww') #覆盖,即ww会将\r前面的覆盖掉
print('hello\bworld') #将前面的一个格子占据
#原字符就是不希望字符串中的转译字符发挥作用,在字符串前面加r或者R
print(r'hello\nww')

        上面是python的一些转译符,后面的注释是对转译符的解释,看不明白的可以直接复制了然后运行一遍看效果就可以。最后一个是原字符就是在字符串前面加上r,这样字符串中的转译符就不会生效。

        2、python中变量的定义,以及简单的比较

# 链式赋值,从左往右
a=b=c=20
print(a,b,c)
# 批量赋值
a,b,c=10,20,30
print(a,b,c)
# 比较符号,==是value的比较, is是id的比较 is not不相等
q=10
w=10
print(q == w) #true
print(q is w) #true
let1=[11,22,33]
let2=[11,22,33]
print(let1 == let2) # true
print(let1 is let2) #false

# not的使用
i=True
j=False
print(not i) #false

        可以看出和java不同的是python变量的定义比较的宽松,不需要像java那样声明什么变量类型,并且变量定义以后还可以改变变量的数据类型,这在java是不允许的。而且还有链式反应赋值和批量复制这相对于java便于开发的赋值方法,这种赋值方法在java都会爆粗。

        在python中会给变量分配三个属性:id,type,value。id代表着内存地址,value就是值,type就是类型,在代码中直接使用id(t),type(t)就可以分别查看t的id和type的值了(这样就比较好理解比较符号了吧)

        3、python的键盘输入函数和运算符号

# 键盘输入函数
num1=input("请输入第一个数字:")
num2=input("请输入第二个数字:")
# 需要进行类型转换。如果不进行转换会输出字符串拼接的结果
print(int(num1)+int(num2))

# 与java的不同 运算符
# 除以然后取整,等于5
print(11//2)
# 取余
print(11%2)
# 幂运算 2的三次方
print(2**3)

        这里需要注意的一个点是:使用键盘输入函数得到的值是string类型的,如果不进行类型转换是没办法进行加减乘除的(会报错TypeError: can only concatenate str (not "int") to str)。类型转换的话就直接在变量前面加上那个数据类型就行了。

        4、流程控制语句

#if条件判断
score = int(input("请输入成绩:"))
if score == 100:
    print("满分")
elif score >= 60 and score < 100:
    print("及格")
else:
    print("不及格")

        不同于java的是,else if改成了elif简写了一下,然后括号去掉改成了缩进。if冒号下面的缩进了一个table的代码行就是if要执行的逻辑。同时python也有类似java 的三元表达符(感觉没java的简单可能是看java 的看多了,哈哈哈):

score = int(input("请输入成绩:"))
# 直接使用条件表达式去判断输出,类似三元表达(如果if成立则执行前面的,不成立就是后面的)
print('及格' if score >= 60 else "不及格")

        5、循环:

                5.1、while循环

a = 1
sum = 0
while a <= 100:
    if a % 2 == 0:
        sum += a
    a += 1
print("1到100的偶数和", sum)

这份代码很简单就不细说了。感觉这种循环也用的比较少,最起码对于java是这样的

                5.2、for循环

for i in range(0, 4):
    print(i)

这个段代码会打印0,1,2,3。range是python的一个内置函数,代表了从0开始,然后一次递增1生成4个数。range函数还有第三个参数代表步数,如果步数不填默认是1。

for i in range(0, 10,2):
    print(i)

这段代码会打印0,2,4,6,8。表示从0开始,以此递增生成10个数,然后从这些数字中选取步数为2的倍数的值(就是0+2就是两步),这个都是个人理解哈,可以自己敲一下看结果自己琢磨。

for item in 'hello':
    print(item)

不同于java的是for循环可以直接去遍历字符串,同时后面的列表、元组、字典、集合也都是这样去遍历的。

# else和for循环配合使用
for _ in range(3):
    passWorld = input("请输入密码:")
    if passWorld == '8888':
        print("密码正确")
        break
    else:
        print("密码不正确")
else:
    # 在for循环中三次都在else
    print("三次密码都不正确")

这个是比较神奇的一个语法,没记错的话java好像没这种类似的语法,当然这种语法效果java也是可以实现(循环外声明一个变量,循环时条件不符合就+1,循环结束了判断循环外声明的那个变量值进行逻辑操作)。这段代码的允许逻辑就是进入循环,如果三次循环中都进入了else则循环结束了进入与for平级的那个else(for _ in range(3)这个无关紧要,只是for循环的另外一种生声明,表示循环中的index无关紧要,也就是无法取到index值,用i的效果一样)。

        今天的更新到此为止!其实学到后面,嘿嘿~只是打字比较累🥱。下次更新暂定下周,也可能勤快点这周末。goodbye~(希望能保持住一周一更的状态)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值