Python入门基础系列1

系统 1457 0

一名大三(马上大四实习)软件工程学子,入门基础的所有内容都是我在观看网易云课堂的Alex老师的Python课程之后自己所留下的复习笔记,以便加深自己的印象。

本文非常非常非常的基础!!!

一、开发工具的选择

我下载了多款IDE工具,包含

  • eclipse+pydev
  • Anaconda
  • canopy
  • pycharm

最后通过多方面综合(安装/环境配置过程操作难度,后期运用起来的难易程度)最后选择了Pycharm,因为就我个人来看,我感觉学生党用jetbrains的IDE真的是非常多了,用起来非常上手。
pycharm官网下载网址附上pycharm破解教程(多种方法使用不同人群)
第二就是推荐eclipse+pydev,多强大不用多说。
以上只针对学生党哈哈哈哈哈哈哈哈

下面进入正题,我们学习的是python3.X的版本哈!

二、初识Python

1.程序员的仪式感 Hello World!

            
              print("Hello World!")
print('Hello World!')

            
          

在这里插入图片描述
可以看出引号丝毫不影响代码

单双引号都可用 而且作用相同 ,区别在于双引号里面嵌套单引号时要注意使用。

2.var(变量)

先上代码

            
              use = "pig"
print("I am ",use)

            
          

在这里插入图片描述
变量的声明不需要去指定类型,直接赋值。

            
              use = "pig"
use2 = use
print("I am ",use,use2)

            
          

在这里插入图片描述
这里引入第二个变量,并且将第二个变量指向第一个变量,很容易理解,现在看着没问题。
但是 use2 最终 指向到底是哪里???我们看代码

            
              use = "pig"
use2 = use
print("I am ",use,use2)
use = "dog"
print(use,use2)

            
          

在这里插入图片描述
可以看到,当use的值变了之后,use2的值依然是之前的pig,并没有随着use的改变而改变。所以use2并不是直接指向use的,而是通过use在内存找到了use之前存放数据(pig)的地址,然后 use2把自己的指向定位到数据(pig)的地址。从此与use脱离关系!!! 今后不管use怎样变化都与use2无关!

毁三观的来了!

            
              姓名 = "pig"
print("姓名是",姓名)

            
          

在这里插入图片描述
python3.X里面的 变量名是可以是中文 的!运行丝毫不出错!
但是不建议,也没人用中文命名。。。

最后说一下常量
PIE = 2
变量名全部大写表示常量,可以改变!!!但是因为是常量,所以不去改变他

3.interaction(用户交互)

(1)用户输入与类型转换

            
              name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

            
          

Python入门基础系列1_第1张图片
看似完美!但是!
我们打印出来他的类型看看!
Python入门基础系列1_第2张图片
12 是字符串???在python里面,给一个变量输入时,它是默认的字符串类型,要想实现自己想要的类型,就要实行强制类型转换,有一下三个类型

  • int:整型
  • float:浮点型
  • string:字符串

既然可以用,那有没有必要转换?

            
              name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")
print(age+salary)

            
          

Python入门基础系列1_第3张图片
10+2000=10200? 这很明显就是字符串的连接
转!必须转!

            
              name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = int(input("salary:"))
print(age+salary)

            
          

Python入门基础系列1_第4张图片
结果瞬间就正确了!

(2)注释与格式输出

  • 单行注释:#用一个井号键开头
  • 多行注释:’’’。。。。。。。’’’ 前后就用三个单引号把注释内容包围起来,我们可以用引号来做很多事情,就比如格式输出

我们来做一个展示给用户看的信息表

            
              info = '''
----------  info of XXX  -----------
Name:
Age:  
Job:
Salary:
'''
print(info)

            
          

Python入门基础系列1_第5张图片
引号里面的内容就是我们要展示的东西,我们用引号把他注释起来,然后将它整体赋值给变量info,最后直接打印出info,这就是格式化输出的第一步。
格式化输出有四种方式,先来看第一种 字符串连接 ,我们并且将age和salary转换成int类型,然后看看结果。其实就是通过++的方式将变量放在指定的位置。

            
              name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = int(input("salary:"))

info1 = '''
--------- info is ''' + name + '''------------
Name:''' + name + '''
Age:''' + age + '''
Job:''' + job + '''
Salary:''' + salary + '''
'''

print(info1)

            
          

Python入门基础系列1_第6张图片
这里表示只能字符串连接字符串,而我们之前将age和salary的类型强制转换成int了,所以只能报错!把强制类型转换删除之后就正确了。看正确的代码

            
              name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

info1 = '''
--------- info is ''' + name + '''------------
Name:''' + name + '''
Age:''' + age + '''
Job:''' + job + '''
Salary:''' + salary + '''
'''

print(info1)

            
          

Python入门基础系列1_第7张图片
所以在字符串连接格式化输出的时候,不能讲类型转化成非字符串形式。
格式化输出的第二种方法

            
              name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = int(input("salary:"))

info1 = '''
--------- info is %s ------------
Name:%s
Age:%d
Job:%s
Salary:%d
'''%(name,name,age,job,salary)

print(info1)

            
          

Python入门基础系列1_第8张图片
第三种方法是

            
              name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = int(input("salary:"))

info1 = '''
--------- info is {_name} ------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name = name,
           _age = age,
           _job = job,
           _salary = salary)

print(info1)

            
          

Python入门基础系列1_第9张图片
{_name} 代表一个新的变量名,最后通过.format赋值给他

第四种方法

            
              name = input("name:")
age = int(input("age:"))
job = input("job:")
salary = int(input("salary:"))

info1 = '''
--------- info is {0} ------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)

print(info1)

            
          

Python入门基础系列1_第10张图片
就是将变量名通过数组的方式记录位置,变量少还好,多了就复杂了。

4.初识模块——加密模块

之前我们可以知道,当用户交互输入密码的时候,我们是可以看见的,这不符合规定,在python中要对输入的密码进行非明文的操作就要导入加密模块。

            
              import getpass
user = input("name:")
pwd = getpass.getpass("pwd:")

            
          

Python入门基础系列1_第11张图片
可以看出,在pycharm里面getpass模块是不行的,我们要用其他方式来验证
Python入门基础系列1_第12张图片
可以看出成功执行了

5.条件循环

(1)if条件语句

我们来写一个程序,用来验证用户的账号和密码是否正确

            
              _user = 'pig'
_pwd = '123'
user = input("user:")
pwd = input("pwd:")
if user == _user and pwd ==_pwd:
    print("Welcome user {u} login...".format(u = user))
else:
    print("Your user or pwd is wrong!")

            
          

Python入门基础系列1_第13张图片
注意两个点

  • && 用 and就可以了
  • if和elsedd的最后用一个:表示结束

接下来,我们做一个猜年龄的程序

            
              age_of_oldboy = 56
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
    print("Yes, you got it!")
elif guess_age > age_of_oldboy:
    print("Think smaller... ")
else:
    print("Think bigger!")

            
          

在这里插入图片描述
可是他只能猜一次就退出了,要想多猜几次怎么办呢?

(2)while条件语句

            
              count = 0
while True:
    print("count:",count)
    count += 1
    if count == 5:
        break

            
          

Python入门基础系列1_第14张图片
两个点

  • count += 1 就是 count = count + 1
  • break是 结束 本次循环的意思

我们用while来升级之前的猜年龄游戏

            
              age_of_oldboy = 56
count = 0
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("Yes, you got it!")
        break
    elif guess_age > age_of_oldboy:
        print("Think smaller... ")
    else:
        print("Think bigger!")
    count += 1
else:
    print("You have tried too mant times..fuck off!")

            
          

Python入门基础系列1_第15张图片

(3)for循环

            
              for i in range(10):
    print("loop",i)

            
          

Python入门基础系列1_第16张图片
假如我们想他只显示0,2,4,6,8,可以吗?

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

            
          

Python入门基础系列1_第17张图片
continue

            
              for i in range(0,10):
    if i < 3:
        print('loop',i)
    else:
        continue
    print("hehe...")

            
          

Python入门基础系列1_第18张图片
continue:跳出本次循环,直接进入下次循环

双重循环

            
              for i in range(10):
    print('--------------',i)
    for j in range(10):
        print(j)
        if j > 5:
            break

            
          

Python入门基础系列1_第19张图片

for版guess游戏

            
              age_of_oldboy = 56
for i in range(3):
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("Yes, you got it!")
        break
    elif guess_age > age_of_oldboy:
        print("Think smaller... ")
    else:
        print("Think bigger!")
else:
    print("You have tried too mant times..fuck off!")

            
          

Python入门基础系列1_第20张图片

(4)guess2.0

            
              age_of_oldboy = 56
count = 0
while count < 3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("Yes, you got it!")
        break
    elif guess_age > age_of_oldboy:
        print("Think smaller... ")
    else:
        print("Think bigger!")
    count += 1
    if count == 3:
        continue_confirm = input("Do you want to keeo guessing?")
        if continue_confirm != 'n':
            count = 0
else:
    print("You have tried too mant times..fuck off!")

            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论