Python day1

Python语言的特点:

先看优点

  1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
  5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

再看缺点:

  1. 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。

 

1.第一个Python程序:Hello World

print("hello world")

2.变量和字符编码

变量:就是用来暂时存储值的东西。

Python中变量的声明:

name = “Myron”

变量的命名规则:

必须是字母,数字,以及下划线组成,不得包含特殊字符。

首字符不得为数字。

关键字不能用作变量名,具体的关键字有['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

变量的赋值:

 

name = "Myron"

name2 = name 

print("my name is",name,"his name is",name2)

name= "zhangsan"

print("my name is",name,"his name is",name2)

上面的代码中首先将Myron的值赋给了name,然后name2的值是指向了此时的name的地址。然后根据地址找到了此时的Myron。接下来虽然name创建了一个新对象,值发生了改变,但name2仍然寻得是之前的地址,所以name2的值不变。

 

3、字符编码:

最早的字符编码是ASCII码值,但其码值地范围在0-255之间,随着时间的推移无法再满足越来越多的文字尤其是汉字,所以出现了unicode编码,能适合所有的文字。最终出现了utf-8,。

Python3中若要是中文注释不出现乱码的情况,应该要加上一行代码

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

 

 

4、注释:

Spyder中按住Ctrl+1键就可以快速注释。”””表示多行注释。

 

5、用户交互程序:

编写一个程序,用于输入姓名

name = input("what is your name")
print("my name is",name)

输入密码的过程中,如果要使密码不可见,要使用getpass模块中的getpass方法

name = input("what is your name")
password = getpass.getpass("请输入密码")
print("my name is",name)
print(password)

但是pycharm和Spyder中不支持,最好在dom窗口下使用。

 

 

6、if else

if else 是用来判断条件后执行代码的一种结构形式,例如,判断用户名和密码输入是否正确,如果正确,则可以进入,否则则输出没有权限。代码如下:

在输入该代码的情况下出现了很多错误和困惑,

困惑1:输入了name=input(“what is your name”)之后,在结果显示区域输入姓名紧随其后,如何另起一行输入数据?

错误一:无论输入正确还是错误用户名和密码,均显示错误,错误代码如下:

name = input("what is your name  ")
password = input("what is your password")

if name =="myron" and password == 123456:
    print("欢迎登陆")
else :
    print("用户名或密码错误")
    

经过查阅资料和运行程序调试,最终解决了这个问题,附正确代码如下:

name = input("what is your name:\n")
password =int( input("what is your password:\n"))

if name =="myron" and password == 123456:
    print("欢迎登陆")
else :
    print("用户名或密码错误")

首先困惑一可以通过在末尾加上\n可得,这一点类似于c语言和Java,但Python中\r效果不佳。

错误一原因是因为password输入的是数字,而input输入默认的是字符串。因此可进行强转。

 

test1:掌握了if else之后做一个猜年龄的游戏

age =int( input("请输入一个整数:"))
if age==23:
    print("you got it")
elif age<23:
        print("think bigger")
else:
        print("think smaller")

经过多次调试最终完成了练习要求,其中,需要吸取的教训是没有

if

else 

if

else结构,Python中直接使用下面的结构

if

elif

else

与其他语言区别在于else if直接用elif代替,并且Python中if和else后面必须要加上冒号(代替其他语言中的大括号作用),并且由于Python中没有分号,所以特别强调缩进。

 

7.循环

python中循环是分为while和for循环,

while循环和for循环相同点在于都能循环做一件重复的事情,不同点在于for循环会在可可迭代序列穷尽的时候停止,而while循环则是在条件不成立的时候停止。

 

i:以for循环为例,

for every_letter in  'Hello World':
    print(every_letter)

打印出hello world中的每一个元素。

打印出1-10以内的每一个数字,代码如下:

for number in range(1,11):
    print(number)

而在while循环中,代码如下:

count = 1
while count<11:
    print(count)
    count+=1
    

以上就是第一天的内容,接下来还需要做更多练习去巩固。加油!!!

 

posted @ 2018-07-20 09:21  HW-python  阅读(130)  评论(0)    收藏  举报