Python学习第一周(Python3.x)

python学习网 2017-10-19 06:48:02

  第一周学习记录,这个阶段学习Python的语法。

  一、开发IDE,使用的是PyCharm,新建一个project后,可以在里面设置一些默认的代码

# Author:BH

  这是关于PyCharm设置相关,步骤:

点击 -->edictor-->Code Style-->File and Code Templates-->Python Script

在右侧的里面输入要添加的内容。(这部分有个注意,后面说)然后apply-->ok 即可设置成功,需要我们重新新建一个Python file即可看到效果。

还有关于程序的运行,鼠标点击右键-->Run

  二、程序 

  2.1 Hello World

print ("Hello World!")

  直接输出:

Hello World!

Process finished with exit code 0

  2.2 变量

name = "Hei Han"

name2 = name

print("My name is ",name, name2)

name = "Xu Da"

print(name,name2)

gf_of_zxy = "Liu De Hua"

  定义变量时,直接写变量的名字即可,这是我在做了iOS时与OC/C语言不同的地方,很简单的定义,在OC/C都是需要首先设置数据类型的,以OC为例

Nsstring *name = @"Hei Han"

  在Python中,不需要指定数据类型,这个很简洁。打印name的时候也和OC不同,OC在后面是一定要加上占位符的,%@、%d。。。。

  Python里表达比较长的变量时候,是小写+下划线,OC中常用是驼峰方式,第一个单词小写,以后单词首字母大写,这个就不用多说了,做某一种语言开发的都有自己的规则。

  2.3 input 和 条件判断

# Author:BH

import getpass

_username = "bh"
_password = "123"

username = input("username:")
# password = getpass.getpass("password:") # 密文输入 getpass 在pycharm中 不好用
password = input("password:")

# print(username, password)

if username == _username and password == _password:
    print("Welcome user {name} login...".format(name = username))
else:
    print("Invalid username or password")

  上面代码,是简单的一个登录小程序。这里需要学习的是input

  input 输入函数,定义username 和 password 进行输入,当使用input函数,程序运行时,就会让用户进行输入操作。

  条件判断,if...else,这里的语法与OC不同,并且使用的是 "and" OC中是逻辑运算符"&&",if里面的代码也不是使用{},而是使用:来决定作用域

这里需要注意一点,在条件判断下面的代码,必须要缩进,否则报错,缩进说明下面代码的作用域属于if语句。

  上面的代码中还包含了import getpass,import是导入 框架/类库的意思 getpass 是Python中的一个对于密码密文显示的库,但是在PyCharm中,对于这个库的支持是不行的,我们可以在终端下,执行这个脚本,可以看到是密文。上面打印,还有一段是格式化输出,下面就介绍Python几种格式化输出。

  2.4 注释

  Python注释,单行注释:在代码前加 #code

  多行注释:''' code ''' 

  其中''' ''' 还可以用来表示多行字符串

  2.4 字符串格式化

# Author:BH

# raw_input 2.x input 3.x

name = input("name:")
age = int(input("age:")) # 强制转换
print(type(age), type(str(age))) #打印数据类型
job = input("job:")
salary = input("salary:")

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


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

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


print(info3)

  三种字符串,格式化方式

  2.4.1

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

  和OC语言类似,使用占位符占位,%s 代表字符串,%d就是整型,%f 就是浮点型最后加一个%(变量名)

  2.4.2

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

  {形参} 占位,最后.format()给各个参数赋值。

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

  这种方式{数字顺序}后面接.format(变量名),这种方式不好,0 1 2这类数字很难表达具体含义,不推荐

 

  2.5循环

  2.5.1 while

 

# Author:BH

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

  和OC类似 while 条件: 缩进进入循环作用域

  2.5.2 for

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

 格式:for 临时变量 in range(循环次数):

  循环中都设计break和continue关键字,与OC语言相同,break跳出当前循环,循环结束;continue跳出当次循环,继续下一次循环

 

上面红字说到注意的地方,其实就是Python版本的问题,现在Python2.x 和 Python3.x 我的文字都是基于Python3.x

注意1:Python2.x 不支持中文所以要在脚本程序最上面加上一句代码

# -*- coding:utf-8 -*-

  代码编码utf-8否则,输入中文报错。Python3.x不存在这个问题。

注意2:Python2.x 中raw_input 和 Python3.x的input等价

注意3:Python3.x 中input函数输入 默认是字符串类型,如果想要输入整型,需要强制转换。

阅读(821) 评论(0)