Python 第一课笔记

时间:2021-05-08 20:06:35

1、Hello World程序的两种方法

在windows下执行

1、编辑器里输入,不用编译

print("Hello World!") 直接就可以运行 Python 第一课笔记    

 2、可以存成一个程序再运行

  • 存成一个文本,新建一个.py文件。到cmd中执行
 Python 第一课笔记
  •  运行脚本

   python  Hello.py

Python 第一课笔记  

 在linux下执行

 在linux 下创建一个文件叫hello.py,并输入  
print("Hello World!")

 执行前需给予 hello.py 执行权限,chmod 755 hello.py

1 #!/usr/bin/env python
2
3 print "hello,world"
#!/usr/bin/env python #可写可不写

要是把代码变成一个可执行程序,必须在第一行声明解释器是什么

这个声明有两种写法
1 #!/usr/bin/env python   #第一种写法
2
3 #!/usr/bin/python #第二种写法

env是找环境变量 ,到整个系统里找一个叫python的环境变量
第二种是写死了就找
/usr/bin/python目录下的文,如果装了3.5,仍然用的是系统原装2.7版本的python不好,不要用这个

2、Pycham安装 
   pycharm创建项目Python 第一课笔记 Python 第一课笔记Python 第一课笔记 
Python 第一课笔记

 进入项目,修改模板

‘【view】——》【Toolbar】

Python 第一课笔记

 

Python 第一课笔记

 

Python 第一课笔记

 Python 第一课笔记

 

 写好程序运行程序,右键【run】

Python 第一课笔记

 

右运行后自动保存

 

3、变量                                                                                    

什么是变量,用来存东西的,后面要调用的,变量存在内存里,

 

1 name = "rainbow"

 

变量名,给变量赋值

1 name = "rainbow"
2
3 print("my name is ",name)

 

 以下代码:运行结果【my name is  rainbow rainbow】

1 name = "rainbow"
2
3 name2=name
4 print("my name is ",name,name2)

 

 

 

以下代码运行结果

my name is rainbow rainbow
Paoche ge rainbow

1 name = "rainbow"
2 name2=name
3 print("my name is ",name,name2)
4 name="Paoche ge"
5 print(name,name2)

 

实际name2只是向name问路,自己指向内存地址,而不是指向name

Python 第一课笔记

 

 

 

变量定义的规则:

    • 变量名只能是 字母、数字或下划线的任意组合
    • 变量名的第一个字符不能是数字
    • 以下关键字不能声明为变量名

 

 变量名要有含义

复杂的变量名用下划线区分,或者驼峰法表示

1 gf_of_oldboy="Amy"
2 GfOfOldboy="lala"

 

 如何定义常量呢,不支持常量,但是想表示的话

 变量名大写,表示常量

1 PIE=3.14               #不应该改,但是可以改而已,尽量不改

 

 

4、字符编码                                                                                

 用0和1表示数字,通过1010组合表示

1 128 64  32 16  8  4  2  1
2 1 1 1 1 1 1 1 1

 

二进制是计算机中能表示的最小单位,

一个二进制位bit

8 4 2 1 的规律,之前所有数字之和加1,也是2的n次方

8bit=1byte字节

1024byte=1kbyte

1024kbyte=1mbyte

1024mbyte=1gb

1024gb=1T

 

任意数字要用一个bit表示,8个字节表示,

 

 字符编码把二进制和字母转换

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

ASCII码,最多用8位表示一个字节,8位表示255个符号

从128到255留给中文等做扩展

GB2312——1980年 (7445个字符)

GBK——1995年 (2W+个字符)

GB18030——2000年 (27484个字符)

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码

ASCII占1个字节8位

Unicode占2个字节16位

UTF-8可变长度的英文ASCII码格式 ,存中文用UTF-8占3个字节

Python 第一课笔记

 

5、注释                                                                                                  

 

 1 #单行注释
2 '''
3 多行注释
4 1行
5 2行
6 3行
7 4行
8 5行
9 6行
10 7行
11 8行
12 '''

 

#号单行指数

‘’‘多行注释‘’‘  三个单引号或者三个双引号

 

1 msg='''
2 1、aaaaaaaaaaaa
3 2、bbbbbbbbbbbb
4 3、cccccccccccc
5 4、555555555555
6
7 '''
8 print(msg)

【运行结果】

1、aaaaaaaaaaaa
2、bbbbbbbbbbbb
3、cccccccccccc
4、555555555555

 

6、用户输入                                          

input用户交互

1 username=input("输入用户名:")
2 pwd=input("输入密码:")
3 print(username,pwd)
输入用户名:阿斯蒂芬
输入密码:asdf
阿斯蒂芬 asdf

 

格式化输出

 1 name=input("name")
2 age=input("age")
3 job=input("job")
4 Salary=input("Salary")
5
6
7 info='''
8 ---------Info of '''+ name +'''-------------
9 Name:'''+ name +'''
10 Age:'''+ age +'''
11 job:'''+ job +'''
12 Salary:'''+ Salary +'''
13 -------------------------------
14 '''
15 print(info)

【运行结果】

 1 name kaka
2 age 18
3 job IT
4 Salary 20000
5
6 ---------Info of kaka-------------
7 Name: kaka
8 Age: 18
9 job: IT
10 Salary: 20000
11 -------------------------------

 

 另外一种写法

 1 name=input("name")
2 age=input("age")
3 job=input("job")
4 Salary=input("Salary")
5
6
7 info='''
8 ---------Info of %s-------------
9 Name:%s
10 Age:%s
11 job:%s
12 Salary:%s
13 -------------------------------
14 '''%(name,name,age,job,Salary)
15 print(info)

 

 【运行结果】

namenono
age19
jobart
Salary15000

---------Info of nono-------------
Name:nono
Age:
19
job:art
Salary:
15000
-------------------------------

 

 

 %s是占位符,代表string

%d是数字类型,帮助验证输入的数据类型是否正确

%f浮点,可以理解为小数

 

 1 name=input("name")
2 age=input("age")
3 job=input("job")
4 Salary=input("Salary")
5
6
7 info='''
8 ---------Info of %s-------------
9 Name:%s
10 Age:%d
11 job:%s
12 Salary:%s
13 -------------------------------
14 '''%(name,name,age,job,Salary)
15 print(info)

 

【运行结果】报错

namebaby
age34
jobshowgirl
Salary30000
Traceback (most recent call last):
File
"D:/Python/s014/Day1.py", line 16, in <module>
'''%(name,name,age,job,Salary)
TypeError: %d format: a number is required, not str

 

 调试状态

1 name=input("name:")
2 age=input("age:")
3 #打印一个变量的数据类型
4 print(type(age))
5 job=input("job:")
6 Salary=input("Salary:")

 

 运行结果,默认输入的都是字符串,需要强行转换一下

name:aaaa
age:33
<class 'str'>
job

 

 强制转换,并打印

1 name=input("name:")
2 age=int(input("age:"))
3 #打印一个变量的数据类型
4 print(type(age),type(str(age)))
5
6 job=input("job:")
7 Salary=input("Salary:")

 

 [运行结果]

name:kiwi
age:
18
<class 'int'> <class 'str'>
job:

 

 第二种格式输出,格式化拼接

 1 name=input("name:")
2 age=int(input("age:"))
3 job=input("job:")
4 Salary=input("Salary:")
5
6
7 info2='''
8 ---------Info of {_name}-------------
9 Name: {_name}
10 Age: {_age}
11 job:{_job}
12 Salary:{_Salary}
13 -------------------------------
14 '''.format(_name=name,
15 _age=age,
16 _job=job,
17 _Salary=Salary
18 )
19 print(info2)

 【运行结果】

 1 name:nana
2 age:36
3 job:IT
4 Salary:50000
5
6 ---------Info of nana-------------
7 Name: nana
8 Age: 36
9 job:IT
10 Salary:50000
11 -------------------------------

 

 第三种方式的拼接

 1 name=input("name:")
2 age=int(input("age:"))
3 job=input("job:")
4 Salary=input("Salary:")
5
6
7 info3='''
8 ---------Info of {0}-------------
9 Name: {0}
10 Age: {1}
11 job:{2}
12 Salary:{3}
13 -------------------------------
14 '''.format(name,age,job,Salary)
15
16 print(info3)

 

 【运行结果】

 1 name:pink
2 age:67
3 job:study
4 Salary:12345
5
6 ---------Info of pink-------------
7 Name: pink
8 Age: 67
9 job:study
10 Salary:12345
11 -------------------------------

 

 

 7、初识模块                                                                                           

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。

 

引用的时候必须把模块导入到程序中

 

1 import  getpass
2
34 username=input("输入用户名:")
5 pwd=getpass.getpass("输入密码:")
6 print(username,pwd)

 

 运行结果不正确,结论是Pycharm中getpass不好用,只能在cmd中执行

Python 第一课笔记

 

8、流程控制逻辑判断语句                                                                                    

if语句

没有大括号,必须有缩进

 1 _name="alex"
2 _password="abc123"
3
4
5 username=input("输入用户名:")
6 pwd=input("输入用户名:")
7
8 if _name==username and _password==pwd:
9 print("Welcome user {name} ,login......".format(name=username))
10 else:
11 print("invalid username or paddword!")

 

【输出结果1】

1 输入用户名:aa
2 输入用户名:asdf
3 invalid username or paddword!

【输出结果2】

1 输入用户名:alex
2 输入用户名:abc123
3 Welcome user alex ,login......

 

 猜年龄小游戏

 1 age_of_old_boy=56
2
3 guessage=int(input("guess age:"))
4
5 if guessage==age_of_old_boy:
6 print("Yes,you got it!")
7 elif guessage > age_of_old_boy:
8 print("Too old")
9 else:
10 print("Too young")

 

  【运行结果】

1 guess age:56
2 Yes,you got it!

 

1 guess age:1
2 Too young
1 guess age:59
2 Too old

 循环while

1 count=0 #添加一个计数器
2
3 while True: #永远成立,永远执行
4 print(count) 5 count+=1 #循环一次自增加1
 1 ……
2 859725
3 859726
4 859727
5 859728
6 859729
7 859730
8 859731
9 859732
10 859733
11 859734
12 859735
13 859736
14 859737
15 859738
16 859739
17 859740
18 859741
19 859742
20 859743
21 859744
22 859745
23 859746
24 859747
25 859748
26 859749
27 859750
28 859751
29 859752
30 859753
31 859754
32 859755
33 859756
34 859757
35 859758
36 859759
37 859760
38 859761
39 859762
40 859763
41 859764
42 859765
43 859766
44 859767
45 859768
46 859769
47 859770
48 859771
49 859772
50 859773
51 859774
52 859775
53 859776
54 859777
55 859778
56 859779
57 859780
58 859781
59 859782
60 859783
61 859784
62 859785
63 859786
64 859787
65 859788
66 859789
67 859790
68 859791
69 859792
70 859793
71 859794
72 859795
73 859796
74 859797
75 859798
76 859799
77 859800
78 859801
79 859802
80 859803
81 859804
82 ……

 

 循环猜年龄
 1 age_of_old_boy=56
2
3 count = 0
4 while count < 3:
5 guessage=int(input("guess age:"))
6
7 if guessage==age_of_old_boy:
8 print("Yes,you got it!")
9 break
10 elif guessage > age_of_old_boy:
11 print("Too old")
12 else:
13 print("Too young")
14 count += 1
15
16 else:
17 print("too meny times you have try,fuck off...")

 

1 guess age:57
2 Too old
3 guess age:23
4 Too young
5 guess age:99
6 Too old
7 too meny times you have try,fuck off...

 

 

For循环

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

 

 【运行结果】

 1 loop: 0
2 loop: 1
3 loop: 2
4 loop: 3
5 loop: 4
6 loop: 5
7 loop: 6
8 loop: 7
9 loop: 8
10 loop: 9

 

 以上程序用for的实现

 1 age_of_old_boy=56
2
3 for i in range(3):
4 guessage=int(input("guess age:"))
5
6 if guessage==age_of_old_boy:
7 print("Yes,you got it!")
8 break
9 elif guessage > age_of_old_boy:
10 print("Too old")
11 else:
12 print("Too young")
13 else:#正常走完流程的时候执行else,如果上面语句break不执行此句
14 print("too meny times you have try,fuck off...")

 

 【运行结果一样】

1 guess age:67
2 Too old
3 guess age:33
4 Too young
5 guess age:56
6 Yes,you got it!

 

 

 【程序】隔一个打一次

#跳着打印,每隔一个打一次
for i in range(0,10,2):#从0开始,到10结束,步长是2
print("loop:",i)

 

 【运行结果】

1 loop: 0
2 loop: 2
3 loop: 4
4 loop: 6
5 loop: 8

 【打印奇数】

1 for i in range(1,10,2):#从0开始,到10结束,步长是2
2 print("loop:",i)

 

1 loop: 1
2 loop: 3
3 loop: 5
4 loop: 7
5 loop: 9

 

 

 【循环中增加询问是否退出,不想退出继续循环】

 1 age_of_old_boy=56
2
3 count = 0
4 while count < 3:
5 guessage=int(input("guess age:"))
6
7 if guessage==age_of_old_boy:
8 print("Yes,you got it!")
9 break
10 elif guessage > age_of_old_boy:
11 print("Too old")
12 else:
13 print("Too young")
14 count += 1
15 if count==3:#询问是否退出,不想退出继续循环
16 continue_or_not=input("continue play?")
17 if continue_or_not != 'n':
18 count=0#清空计数器,重新来过
19 else:
20 print("too meny times you have try,fuck off...")

 

 【continue的用法】

1 #continue的用法
2 for i in range(0,10):#从0开始,到10结束
3 if i < 5 :
4 print("loop:",i)
5 else:
6 continue
7 print("hehe....")#

 

 1 loop: 0
2 hehe....
3 loop: 1
4 hehe....
5 loop: 2
6 hehe....
7 loop: 3
8 hehe....
9 loop: 4
10 hehe....

 程序打上断点都

*******continue是跳出本次循环,继续到下次循环,**********

*******break是结束整个循环***************************

 Python 第一课笔记

 

Python 第一课笔记

 

 【for循环嵌套】

 

1 for i in range(10):
2 print("*******外循环次数**********",i)
3 for j in range(10):
4 print("....内循环次数....",j)
5 if j > 5:
6 break #退出本次循环,而不是外层循环

 

 

 

 1 *******外循环次数********** 0
2 ....内循环次数.... 0
3 ....内循环次数.... 1
4 ....内循环次数.... 2
5 ....内循环次数.... 3
6 ....内循环次数.... 4
7 ....内循环次数.... 5
8 ....内循环次数.... 6
9 *******外循环次数********** 1
10 ....内循环次数.... 0
11 ....内循环次数.... 1
12 ....内循环次数.... 2
13 ....内循环次数.... 3
14 ....内循环次数.... 4
15 ....内循环次数.... 5
16 ....内循环次数.... 6
17 *******外循环次数********** 2
18 ....内循环次数.... 0
19 ....内循环次数.... 1
20 ....内循环次数.... 2
21 ....内循环次数.... 3
22 ....内循环次数.... 4
23 ....内循环次数.... 5
24 ....内循环次数.... 6
25 *******外循环次数********** 3
26 ....内循环次数.... 0
27 ....内循环次数.... 1
28 ....内循环次数.... 2
29 ....内循环次数.... 3
30 ....内循环次数.... 4
31 ....内循环次数.... 5
32 ....内循环次数.... 6
33 *******外循环次数********** 4
34 ....内循环次数.... 0
35 ....内循环次数.... 1
36 ....内循环次数.... 2
37 ....内循环次数.... 3
38 ....内循环次数.... 4
39 ....内循环次数.... 5
40 ....内循环次数.... 6
41 *******外循环次数********** 5
42 ....内循环次数.... 0
43 ....内循环次数.... 1
44 ....内循环次数.... 2
45 ....内循环次数.... 3
46 ....内循环次数.... 4
47 ....内循环次数.... 5
48 ....内循环次数.... 6
49 *******外循环次数********** 6
50 ....内循环次数.... 0
51 ....内循环次数.... 1
52 ....内循环次数.... 2
53 ....内循环次数.... 3
54 ....内循环次数.... 4
55 ....内循环次数.... 5
56 ....内循环次数.... 6
57 *******外循环次数********** 7
58 ....内循环次数.... 0
59 ....内循环次数.... 1
60 ....内循环次数.... 2
61 ....内循环次数.... 3
62 ....内循环次数.... 4
63 ....内循环次数.... 5
64 ....内循环次数.... 6
65 *******外循环次数********** 8
66 ....内循环次数.... 0
67 ....内循环次数.... 1
68 ....内循环次数.... 2
69 ....内循环次数.... 3
70 ....内循环次数.... 4
71 ....内循环次数.... 5
72 ....内循环次数.... 6
73 *******外循环次数********** 9
74 ....内循环次数.... 0
75 ....内循环次数.... 1
76 ....内循环次数.... 2
77 ....内循环次数.... 3
78 ....内循环次数.... 4
79 ....内循环次数.... 5
80 ....内循环次数.... 6

 

 

Python 第一课笔记